./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/loop-invgen/sendmail-close-angle.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/loop-invgen/sendmail-close-angle.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 4be4b344509b887bc91f2389f98de1e4ff745494aee0f078864fd49e79b0b4b8 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 17:03:40,256 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 17:03:40,258 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 17:03:40,283 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 17:03:40,283 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 17:03:40,284 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 17:03:40,285 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 17:03:40,286 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 17:03:40,287 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 17:03:40,289 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 17:03:40,289 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 17:03:40,291 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 17:03:40,291 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 17:03:40,295 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 17:03:40,296 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 17:03:40,297 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 17:03:40,298 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 17:03:40,300 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 17:03:40,301 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 17:03:40,305 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 17:03:40,312 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 17:03:40,313 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 17:03:40,313 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 17:03:40,314 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 17:03:40,316 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 17:03:40,316 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 17:03:40,316 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 17:03:40,317 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 17:03:40,317 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 17:03:40,318 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 17:03:40,318 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 17:03:40,318 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 17:03:40,319 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 17:03:40,323 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 17:03:40,324 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 17:03:40,324 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 17:03:40,325 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 17:03:40,326 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 17:03:40,326 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 17:03:40,326 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 17:03:40,327 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 17:03:40,328 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 17:03:40,341 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 17:03:40,341 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 17:03:40,342 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 17:03:40,342 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 17:03:40,342 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 17:03:40,343 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 17:03:40,343 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 17:03:40,343 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 17:03:40,343 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 17:03:40,344 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 17:03:40,344 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 17:03:40,344 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 17:03:40,344 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 17:03:40,344 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 17:03:40,344 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 17:03:40,345 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 17:03:40,345 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 17:03:40,345 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 17:03:40,345 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 17:03:40,345 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 17:03:40,345 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 17:03:40,346 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 17:03:40,346 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 17:03:40,346 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 17:03:40,346 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:03:40,346 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 17:03:40,346 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 17:03:40,347 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 17:03:40,347 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 17:03:40,347 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 17:03:40,347 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 17:03:40,347 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 17:03:40,348 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 17:03:40,348 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 4be4b344509b887bc91f2389f98de1e4ff745494aee0f078864fd49e79b0b4b8 [2022-02-20 17:03:40,563 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 17:03:40,581 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 17:03:40,583 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 17:03:40,584 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 17:03:40,584 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 17:03:40,585 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/loop-invgen/sendmail-close-angle.i [2022-02-20 17:03:40,640 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/10ea84962/35bb44fa3d084de1a3956daf788680eb/FLAG11a2466e9 [2022-02-20 17:03:41,012 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 17:03:41,012 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/loop-invgen/sendmail-close-angle.i [2022-02-20 17:03:41,017 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/10ea84962/35bb44fa3d084de1a3956daf788680eb/FLAG11a2466e9 [2022-02-20 17:03:41,029 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/10ea84962/35bb44fa3d084de1a3956daf788680eb [2022-02-20 17:03:41,032 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 17:03:41,034 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 17:03:41,036 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 17:03:41,036 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 17:03:41,038 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 17:03:41,040 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:03:41" (1/1) ... [2022-02-20 17:03:41,040 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@564d7669 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:03:41, skipping insertion in model container [2022-02-20 17:03:41,041 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:03:41" (1/1) ... [2022-02-20 17:03:41,045 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 17:03:41,056 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:03:41,208 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/loop-invgen/sendmail-close-angle.i[893,906] [2022-02-20 17:03:41,236 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:03:41,243 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 17:03:41,255 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/loop-invgen/sendmail-close-angle.i[893,906] [2022-02-20 17:03:41,272 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:03:41,284 INFO L208 MainTranslator]: Completed translation [2022-02-20 17:03:41,285 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:03:41 WrapperNode [2022-02-20 17:03:41,285 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 17:03:41,286 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 17:03:41,286 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 17:03:41,286 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 17:03:41,293 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:03:41" (1/1) ... [2022-02-20 17:03:41,298 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:03:41" (1/1) ... [2022-02-20 17:03:41,319 INFO L137 Inliner]: procedures = 16, calls = 14, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 60 [2022-02-20 17:03:41,319 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 17:03:41,321 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 17:03:41,321 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 17:03:41,321 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 17:03:41,328 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:03:41" (1/1) ... [2022-02-20 17:03:41,328 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:03:41" (1/1) ... [2022-02-20 17:03:41,339 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:03:41" (1/1) ... [2022-02-20 17:03:41,340 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:03:41" (1/1) ... [2022-02-20 17:03:41,346 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:03:41" (1/1) ... [2022-02-20 17:03:41,351 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:03:41" (1/1) ... [2022-02-20 17:03:41,354 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:03:41" (1/1) ... [2022-02-20 17:03:41,358 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 17:03:41,360 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 17:03:41,360 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 17:03:41,360 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 17:03:41,361 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:03:41" (1/1) ... [2022-02-20 17:03:41,366 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:03:41,376 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:03:41,387 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 17:03:41,415 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 17:03:41,432 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 17:03:41,432 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 17:03:41,432 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 17:03:41,432 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 17:03:41,432 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 17:03:41,433 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 17:03:41,474 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 17:03:41,475 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 17:03:41,646 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 17:03:41,651 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 17:03:41,651 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-02-20 17:03:41,653 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:03:41 BoogieIcfgContainer [2022-02-20 17:03:41,653 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 17:03:41,654 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 17:03:41,654 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 17:03:41,672 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 17:03:41,673 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 05:03:41" (1/3) ... [2022-02-20 17:03:41,673 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6f395840 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:03:41, skipping insertion in model container [2022-02-20 17:03:41,673 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:03:41" (2/3) ... [2022-02-20 17:03:41,674 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6f395840 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:03:41, skipping insertion in model container [2022-02-20 17:03:41,674 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:03:41" (3/3) ... [2022-02-20 17:03:41,675 INFO L111 eAbstractionObserver]: Analyzing ICFG sendmail-close-angle.i [2022-02-20 17:03:41,678 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 17:03:41,678 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 17:03:41,732 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 17:03:41,753 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 17:03:41,753 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 17:03:41,777 INFO L276 IsEmpty]: Start isEmpty. Operand has 31 states, 20 states have (on average 1.4) internal successors, (28), 22 states have internal predecessors, (28), 8 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:03:41,780 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 17:03:41,780 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:03:41,781 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:03:41,782 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:03:41,788 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:03:41,789 INFO L85 PathProgramCache]: Analyzing trace with hash -167421905, now seen corresponding path program 1 times [2022-02-20 17:03:41,795 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:03:41,796 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [411802786] [2022-02-20 17:03:41,796 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:03:41,797 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:03:41,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:41,926 INFO L290 TraceCheckUtils]: 0: Hoare triple {34#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(9, 2); {34#true} is VALID [2022-02-20 17:03:41,927 INFO L290 TraceCheckUtils]: 1: Hoare triple {34#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~nondet2#1, main_#t~post4#1, main_#t~post5#1, main_#t~nondet3#1, main_#t~post6#1, main_#t~post7#1, main_~in~0#1, main_~inlen~0#1, main_~bufferlen~0#1, main_~buf~0#1, main_~buflim~0#1;havoc main_~in~0#1;assume -2147483648 <= main_#t~nondet1#1 && main_#t~nondet1#1 <= 2147483647;main_~inlen~0#1 := main_#t~nondet1#1;havoc main_#t~nondet1#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~bufferlen~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1;havoc main_~buf~0#1;havoc main_~buflim~0#1; {34#true} is VALID [2022-02-20 17:03:41,928 INFO L290 TraceCheckUtils]: 2: Hoare triple {34#true} assume main_~bufferlen~0#1 > 1; {34#true} is VALID [2022-02-20 17:03:41,928 INFO L290 TraceCheckUtils]: 3: Hoare triple {34#true} assume main_~inlen~0#1 > 0; {34#true} is VALID [2022-02-20 17:03:41,929 INFO L290 TraceCheckUtils]: 4: Hoare triple {34#true} assume main_~bufferlen~0#1 < main_~inlen~0#1; {34#true} is VALID [2022-02-20 17:03:41,929 INFO L290 TraceCheckUtils]: 5: Hoare triple {34#true} main_~buf~0#1 := 0;main_~in~0#1 := 0;main_~buflim~0#1 := main_~bufferlen~0#1 - 2; {34#true} is VALID [2022-02-20 17:03:41,930 INFO L290 TraceCheckUtils]: 6: Hoare triple {34#true} assume !true; {35#false} is VALID [2022-02-20 17:03:41,930 INFO L272 TraceCheckUtils]: 7: Hoare triple {35#false} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {35#false} is VALID [2022-02-20 17:03:41,930 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#false} ~cond := #in~cond; {35#false} is VALID [2022-02-20 17:03:41,930 INFO L290 TraceCheckUtils]: 9: Hoare triple {35#false} assume 0 == ~cond; {35#false} is VALID [2022-02-20 17:03:41,930 INFO L290 TraceCheckUtils]: 10: Hoare triple {35#false} assume !false; {35#false} is VALID [2022-02-20 17:03:41,931 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 17:03:41,932 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:03:41,932 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [411802786] [2022-02-20 17:03:41,933 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [411802786] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:03:41,933 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:03:41,934 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 17:03:41,936 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1775259762] [2022-02-20 17:03:41,937 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:03:41,942 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 17:03:41,943 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:03:41,945 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:03:41,966 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:03:41,967 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 17:03:41,967 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:03:41,986 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 17:03:41,987 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:03:41,989 INFO L87 Difference]: Start difference. First operand has 31 states, 20 states have (on average 1.4) internal successors, (28), 22 states have internal predecessors, (28), 8 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:03:42,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:42,055 INFO L93 Difference]: Finished difference Result 56 states and 87 transitions. [2022-02-20 17:03:42,055 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 17:03:42,055 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 17:03:42,056 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:03:42,057 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:03:42,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 87 transitions. [2022-02-20 17:03:42,070 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:03:42,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 87 transitions. [2022-02-20 17:03:42,081 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 87 transitions. [2022-02-20 17:03:42,192 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:03:42,199 INFO L225 Difference]: With dead ends: 56 [2022-02-20 17:03:42,199 INFO L226 Difference]: Without dead ends: 26 [2022-02-20 17:03:42,201 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:03:42,204 INFO L933 BasicCegarLoop]: 42 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 42 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:03:42,204 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:03:42,214 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2022-02-20 17:03:42,222 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 26. [2022-02-20 17:03:42,223 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:03:42,224 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand has 26 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 8 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 17:03:42,224 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand has 26 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 8 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 17:03:42,224 INFO L87 Difference]: Start difference. First operand 26 states. Second operand has 26 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 8 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 17:03:42,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:42,227 INFO L93 Difference]: Finished difference Result 26 states and 34 transitions. [2022-02-20 17:03:42,228 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 34 transitions. [2022-02-20 17:03:42,228 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:42,228 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:03:42,229 INFO L74 IsIncluded]: Start isIncluded. First operand has 26 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 8 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 26 states. [2022-02-20 17:03:42,229 INFO L87 Difference]: Start difference. First operand has 26 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 8 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 26 states. [2022-02-20 17:03:42,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:42,232 INFO L93 Difference]: Finished difference Result 26 states and 34 transitions. [2022-02-20 17:03:42,232 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 34 transitions. [2022-02-20 17:03:42,232 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:42,232 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:03:42,233 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:03:42,233 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:03:42,233 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 8 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 17:03:42,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 34 transitions. [2022-02-20 17:03:42,236 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 34 transitions. Word has length 11 [2022-02-20 17:03:42,236 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:03:42,236 INFO L470 AbstractCegarLoop]: Abstraction has 26 states and 34 transitions. [2022-02-20 17:03:42,236 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:03:42,237 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 34 transitions. [2022-02-20 17:03:42,237 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-02-20 17:03:42,237 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:03:42,237 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:03:42,237 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 17:03:42,238 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:03:42,238 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:03:42,238 INFO L85 PathProgramCache]: Analyzing trace with hash -1482831489, now seen corresponding path program 1 times [2022-02-20 17:03:42,239 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:03:42,239 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1160696551] [2022-02-20 17:03:42,239 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:03:42,239 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:03:42,257 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:42,303 INFO L290 TraceCheckUtils]: 0: Hoare triple {206#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(9, 2); {206#true} is VALID [2022-02-20 17:03:42,303 INFO L290 TraceCheckUtils]: 1: Hoare triple {206#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~nondet2#1, main_#t~post4#1, main_#t~post5#1, main_#t~nondet3#1, main_#t~post6#1, main_#t~post7#1, main_~in~0#1, main_~inlen~0#1, main_~bufferlen~0#1, main_~buf~0#1, main_~buflim~0#1;havoc main_~in~0#1;assume -2147483648 <= main_#t~nondet1#1 && main_#t~nondet1#1 <= 2147483647;main_~inlen~0#1 := main_#t~nondet1#1;havoc main_#t~nondet1#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~bufferlen~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1;havoc main_~buf~0#1;havoc main_~buflim~0#1; {206#true} is VALID [2022-02-20 17:03:42,304 INFO L290 TraceCheckUtils]: 2: Hoare triple {206#true} assume main_~bufferlen~0#1 > 1; {206#true} is VALID [2022-02-20 17:03:42,304 INFO L290 TraceCheckUtils]: 3: Hoare triple {206#true} assume main_~inlen~0#1 > 0; {206#true} is VALID [2022-02-20 17:03:42,308 INFO L290 TraceCheckUtils]: 4: Hoare triple {206#true} assume main_~bufferlen~0#1 < main_~inlen~0#1; {206#true} is VALID [2022-02-20 17:03:42,309 INFO L290 TraceCheckUtils]: 5: Hoare triple {206#true} main_~buf~0#1 := 0;main_~in~0#1 := 0;main_~buflim~0#1 := main_~bufferlen~0#1 - 2; {208#(<= 0 |ULTIMATE.start_main_~buf~0#1|)} is VALID [2022-02-20 17:03:42,309 INFO L290 TraceCheckUtils]: 6: Hoare triple {208#(<= 0 |ULTIMATE.start_main_~buf~0#1|)} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {208#(<= 0 |ULTIMATE.start_main_~buf~0#1|)} is VALID [2022-02-20 17:03:42,310 INFO L290 TraceCheckUtils]: 7: Hoare triple {208#(<= 0 |ULTIMATE.start_main_~buf~0#1|)} assume !(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {208#(<= 0 |ULTIMATE.start_main_~buf~0#1|)} is VALID [2022-02-20 17:03:42,311 INFO L272 TraceCheckUtils]: 8: Hoare triple {208#(<= 0 |ULTIMATE.start_main_~buf~0#1|)} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {209#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:42,311 INFO L290 TraceCheckUtils]: 9: Hoare triple {209#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {210#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:03:42,313 INFO L290 TraceCheckUtils]: 10: Hoare triple {210#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {207#false} is VALID [2022-02-20 17:03:42,313 INFO L290 TraceCheckUtils]: 11: Hoare triple {207#false} assume !false; {207#false} is VALID [2022-02-20 17:03:42,313 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 17:03:42,313 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:03:42,314 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1160696551] [2022-02-20 17:03:42,314 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1160696551] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:03:42,314 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:03:42,314 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:03:42,315 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [769222146] [2022-02-20 17:03:42,315 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:03:42,316 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 12 [2022-02-20 17:03:42,316 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:03:42,317 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:03:42,326 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:03:42,326 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:03:42,327 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:03:42,328 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:03:42,328 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:03:42,328 INFO L87 Difference]: Start difference. First operand 26 states and 34 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:03:42,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:42,459 INFO L93 Difference]: Finished difference Result 32 states and 39 transitions. [2022-02-20 17:03:42,459 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:03:42,459 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 12 [2022-02-20 17:03:42,460 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:03:42,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:03:42,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 39 transitions. [2022-02-20 17:03:42,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:03:42,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 39 transitions. [2022-02-20 17:03:42,462 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 39 transitions. [2022-02-20 17:03:42,490 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:03:42,491 INFO L225 Difference]: With dead ends: 32 [2022-02-20 17:03:42,491 INFO L226 Difference]: Without dead ends: 30 [2022-02-20 17:03:42,491 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:03:42,492 INFO L933 BasicCegarLoop]: 25 mSDtfsCounter, 10 mSDsluCounter, 56 mSDsCounter, 0 mSdLazyCounter, 34 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 81 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 34 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:03:42,493 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 81 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:03:42,493 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-02-20 17:03:42,500 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-02-20 17:03:42,501 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:03:42,501 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 8 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 17:03:42,501 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 8 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 17:03:42,502 INFO L87 Difference]: Start difference. First operand 30 states. Second operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 8 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 17:03:42,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:42,503 INFO L93 Difference]: Finished difference Result 30 states and 37 transitions. [2022-02-20 17:03:42,503 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 37 transitions. [2022-02-20 17:03:42,504 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:42,504 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:03:42,504 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 8 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 30 states. [2022-02-20 17:03:42,505 INFO L87 Difference]: Start difference. First operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 8 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 30 states. [2022-02-20 17:03:42,506 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:42,506 INFO L93 Difference]: Finished difference Result 30 states and 37 transitions. [2022-02-20 17:03:42,506 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 37 transitions. [2022-02-20 17:03:42,507 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:42,507 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:03:42,507 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:03:42,515 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:03:42,515 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 8 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 17:03:42,518 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 37 transitions. [2022-02-20 17:03:42,520 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 37 transitions. Word has length 12 [2022-02-20 17:03:42,520 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:03:42,520 INFO L470 AbstractCegarLoop]: Abstraction has 30 states and 37 transitions. [2022-02-20 17:03:42,521 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:03:42,521 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 37 transitions. [2022-02-20 17:03:42,521 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 17:03:42,522 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:03:42,522 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:03:42,522 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 17:03:42,523 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:03:42,523 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:03:42,523 INFO L85 PathProgramCache]: Analyzing trace with hash 2126947644, now seen corresponding path program 1 times [2022-02-20 17:03:42,523 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:03:42,524 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [783844817] [2022-02-20 17:03:42,524 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:03:42,524 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:03:42,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:42,638 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:03:42,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:42,660 INFO L290 TraceCheckUtils]: 0: Hoare triple {359#true} ~cond := #in~cond; {359#true} is VALID [2022-02-20 17:03:42,660 INFO L290 TraceCheckUtils]: 1: Hoare triple {359#true} assume !(0 == ~cond); {359#true} is VALID [2022-02-20 17:03:42,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {359#true} assume true; {359#true} is VALID [2022-02-20 17:03:42,662 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {359#true} {362#(< |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~bufferlen~0#1|)} #78#return; {362#(< |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:42,662 INFO L290 TraceCheckUtils]: 0: Hoare triple {359#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(9, 2); {359#true} is VALID [2022-02-20 17:03:42,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {359#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~nondet2#1, main_#t~post4#1, main_#t~post5#1, main_#t~nondet3#1, main_#t~post6#1, main_#t~post7#1, main_~in~0#1, main_~inlen~0#1, main_~bufferlen~0#1, main_~buf~0#1, main_~buflim~0#1;havoc main_~in~0#1;assume -2147483648 <= main_#t~nondet1#1 && main_#t~nondet1#1 <= 2147483647;main_~inlen~0#1 := main_#t~nondet1#1;havoc main_#t~nondet1#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~bufferlen~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1;havoc main_~buf~0#1;havoc main_~buflim~0#1; {359#true} is VALID [2022-02-20 17:03:42,663 INFO L290 TraceCheckUtils]: 2: Hoare triple {359#true} assume main_~bufferlen~0#1 > 1; {361#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:42,663 INFO L290 TraceCheckUtils]: 3: Hoare triple {361#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~inlen~0#1 > 0; {361#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:42,664 INFO L290 TraceCheckUtils]: 4: Hoare triple {361#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~bufferlen~0#1 < main_~inlen~0#1; {361#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:42,664 INFO L290 TraceCheckUtils]: 5: Hoare triple {361#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} main_~buf~0#1 := 0;main_~in~0#1 := 0;main_~buflim~0#1 := main_~bufferlen~0#1 - 2; {362#(< |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:42,665 INFO L290 TraceCheckUtils]: 6: Hoare triple {362#(< |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~bufferlen~0#1|)} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {362#(< |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:42,665 INFO L290 TraceCheckUtils]: 7: Hoare triple {362#(< |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~bufferlen~0#1|)} assume !(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {362#(< |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:42,665 INFO L272 TraceCheckUtils]: 8: Hoare triple {362#(< |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {359#true} is VALID [2022-02-20 17:03:42,665 INFO L290 TraceCheckUtils]: 9: Hoare triple {359#true} ~cond := #in~cond; {359#true} is VALID [2022-02-20 17:03:42,665 INFO L290 TraceCheckUtils]: 10: Hoare triple {359#true} assume !(0 == ~cond); {359#true} is VALID [2022-02-20 17:03:42,666 INFO L290 TraceCheckUtils]: 11: Hoare triple {359#true} assume true; {359#true} is VALID [2022-02-20 17:03:42,666 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {359#true} {362#(< |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~bufferlen~0#1|)} #78#return; {362#(< |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:42,667 INFO L272 TraceCheckUtils]: 13: Hoare triple {362#(< |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {367#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:42,668 INFO L290 TraceCheckUtils]: 14: Hoare triple {367#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {368#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:03:42,668 INFO L290 TraceCheckUtils]: 15: Hoare triple {368#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {360#false} is VALID [2022-02-20 17:03:42,668 INFO L290 TraceCheckUtils]: 16: Hoare triple {360#false} assume !false; {360#false} is VALID [2022-02-20 17:03:42,669 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 17:03:42,669 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:03:42,669 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [783844817] [2022-02-20 17:03:42,669 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [783844817] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:03:42,669 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:03:42,670 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 17:03:42,670 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1692372391] [2022-02-20 17:03:42,670 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:03:42,671 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 5 states have internal predecessors, (14), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 17 [2022-02-20 17:03:42,671 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:03:42,671 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 5 states have internal predecessors, (14), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 17:03:42,683 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:03:42,683 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 17:03:42,683 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:03:42,683 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 17:03:42,684 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:03:42,686 INFO L87 Difference]: Start difference. First operand 30 states and 37 transitions. Second operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 5 states have internal predecessors, (14), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 17:03:42,961 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:42,961 INFO L93 Difference]: Finished difference Result 45 states and 57 transitions. [2022-02-20 17:03:42,961 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 17:03:42,961 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 5 states have internal predecessors, (14), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 17 [2022-02-20 17:03:42,962 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:03:42,962 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 5 states have internal predecessors, (14), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 17:03:42,963 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 54 transitions. [2022-02-20 17:03:42,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 5 states have internal predecessors, (14), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 17:03:42,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 54 transitions. [2022-02-20 17:03:42,964 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 54 transitions. [2022-02-20 17:03:43,005 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:03:43,006 INFO L225 Difference]: With dead ends: 45 [2022-02-20 17:03:43,006 INFO L226 Difference]: Without dead ends: 43 [2022-02-20 17:03:43,007 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-02-20 17:03:43,020 INFO L933 BasicCegarLoop]: 31 mSDtfsCounter, 21 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 56 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 67 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 56 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:03:43,020 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 113 Invalid, 67 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 56 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:03:43,021 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-02-20 17:03:43,042 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 41. [2022-02-20 17:03:43,042 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:03:43,042 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand has 41 states, 25 states have (on average 1.2) internal successors, (30), 28 states have internal predecessors, (30), 12 states have call successors, (12), 3 states have call predecessors, (12), 3 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:03:43,043 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand has 41 states, 25 states have (on average 1.2) internal successors, (30), 28 states have internal predecessors, (30), 12 states have call successors, (12), 3 states have call predecessors, (12), 3 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:03:43,043 INFO L87 Difference]: Start difference. First operand 43 states. Second operand has 41 states, 25 states have (on average 1.2) internal successors, (30), 28 states have internal predecessors, (30), 12 states have call successors, (12), 3 states have call predecessors, (12), 3 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:03:43,052 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:43,052 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-02-20 17:03:43,052 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 55 transitions. [2022-02-20 17:03:43,052 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:43,052 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:03:43,053 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 25 states have (on average 1.2) internal successors, (30), 28 states have internal predecessors, (30), 12 states have call successors, (12), 3 states have call predecessors, (12), 3 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 43 states. [2022-02-20 17:03:43,053 INFO L87 Difference]: Start difference. First operand has 41 states, 25 states have (on average 1.2) internal successors, (30), 28 states have internal predecessors, (30), 12 states have call successors, (12), 3 states have call predecessors, (12), 3 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 43 states. [2022-02-20 17:03:43,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:43,055 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-02-20 17:03:43,055 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 55 transitions. [2022-02-20 17:03:43,056 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:43,056 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:03:43,056 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:03:43,056 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:03:43,057 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 25 states have (on average 1.2) internal successors, (30), 28 states have internal predecessors, (30), 12 states have call successors, (12), 3 states have call predecessors, (12), 3 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:03:43,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 53 transitions. [2022-02-20 17:03:43,062 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 53 transitions. Word has length 17 [2022-02-20 17:03:43,062 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:03:43,063 INFO L470 AbstractCegarLoop]: Abstraction has 41 states and 53 transitions. [2022-02-20 17:03:43,063 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 5 states have internal predecessors, (14), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 17:03:43,063 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-02-20 17:03:43,064 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 17:03:43,064 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:03:43,064 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:03:43,064 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 17:03:43,064 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:03:43,065 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:03:43,065 INFO L85 PathProgramCache]: Analyzing trace with hash -2018842485, now seen corresponding path program 1 times [2022-02-20 17:03:43,065 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:03:43,065 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1277687147] [2022-02-20 17:03:43,066 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:03:43,066 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:03:43,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:43,132 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 17:03:43,134 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:43,137 INFO L290 TraceCheckUtils]: 0: Hoare triple {581#true} ~cond := #in~cond; {581#true} is VALID [2022-02-20 17:03:43,137 INFO L290 TraceCheckUtils]: 1: Hoare triple {581#true} assume !(0 == ~cond); {581#true} is VALID [2022-02-20 17:03:43,137 INFO L290 TraceCheckUtils]: 2: Hoare triple {581#true} assume true; {581#true} is VALID [2022-02-20 17:03:43,138 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {581#true} {583#(= |ULTIMATE.start_main_~in~0#1| 0)} #70#return; {583#(= |ULTIMATE.start_main_~in~0#1| 0)} is VALID [2022-02-20 17:03:43,138 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-02-20 17:03:43,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:43,142 INFO L290 TraceCheckUtils]: 0: Hoare triple {581#true} ~cond := #in~cond; {581#true} is VALID [2022-02-20 17:03:43,142 INFO L290 TraceCheckUtils]: 1: Hoare triple {581#true} assume !(0 == ~cond); {581#true} is VALID [2022-02-20 17:03:43,142 INFO L290 TraceCheckUtils]: 2: Hoare triple {581#true} assume true; {581#true} is VALID [2022-02-20 17:03:43,143 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {581#true} {583#(= |ULTIMATE.start_main_~in~0#1| 0)} #72#return; {583#(= |ULTIMATE.start_main_~in~0#1| 0)} is VALID [2022-02-20 17:03:43,143 INFO L290 TraceCheckUtils]: 0: Hoare triple {581#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(9, 2); {581#true} is VALID [2022-02-20 17:03:43,143 INFO L290 TraceCheckUtils]: 1: Hoare triple {581#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~nondet2#1, main_#t~post4#1, main_#t~post5#1, main_#t~nondet3#1, main_#t~post6#1, main_#t~post7#1, main_~in~0#1, main_~inlen~0#1, main_~bufferlen~0#1, main_~buf~0#1, main_~buflim~0#1;havoc main_~in~0#1;assume -2147483648 <= main_#t~nondet1#1 && main_#t~nondet1#1 <= 2147483647;main_~inlen~0#1 := main_#t~nondet1#1;havoc main_#t~nondet1#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~bufferlen~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1;havoc main_~buf~0#1;havoc main_~buflim~0#1; {581#true} is VALID [2022-02-20 17:03:43,144 INFO L290 TraceCheckUtils]: 2: Hoare triple {581#true} assume main_~bufferlen~0#1 > 1; {581#true} is VALID [2022-02-20 17:03:43,144 INFO L290 TraceCheckUtils]: 3: Hoare triple {581#true} assume main_~inlen~0#1 > 0; {581#true} is VALID [2022-02-20 17:03:43,144 INFO L290 TraceCheckUtils]: 4: Hoare triple {581#true} assume main_~bufferlen~0#1 < main_~inlen~0#1; {581#true} is VALID [2022-02-20 17:03:43,144 INFO L290 TraceCheckUtils]: 5: Hoare triple {581#true} main_~buf~0#1 := 0;main_~in~0#1 := 0;main_~buflim~0#1 := main_~bufferlen~0#1 - 2; {583#(= |ULTIMATE.start_main_~in~0#1| 0)} is VALID [2022-02-20 17:03:43,145 INFO L290 TraceCheckUtils]: 6: Hoare triple {583#(= |ULTIMATE.start_main_~in~0#1| 0)} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {583#(= |ULTIMATE.start_main_~in~0#1| 0)} is VALID [2022-02-20 17:03:43,145 INFO L290 TraceCheckUtils]: 7: Hoare triple {583#(= |ULTIMATE.start_main_~in~0#1| 0)} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {583#(= |ULTIMATE.start_main_~in~0#1| 0)} is VALID [2022-02-20 17:03:43,145 INFO L290 TraceCheckUtils]: 8: Hoare triple {583#(= |ULTIMATE.start_main_~in~0#1| 0)} assume !(main_~buf~0#1 == main_~buflim~0#1); {583#(= |ULTIMATE.start_main_~in~0#1| 0)} is VALID [2022-02-20 17:03:43,146 INFO L272 TraceCheckUtils]: 9: Hoare triple {583#(= |ULTIMATE.start_main_~in~0#1| 0)} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {581#true} is VALID [2022-02-20 17:03:43,146 INFO L290 TraceCheckUtils]: 10: Hoare triple {581#true} ~cond := #in~cond; {581#true} is VALID [2022-02-20 17:03:43,146 INFO L290 TraceCheckUtils]: 11: Hoare triple {581#true} assume !(0 == ~cond); {581#true} is VALID [2022-02-20 17:03:43,146 INFO L290 TraceCheckUtils]: 12: Hoare triple {581#true} assume true; {581#true} is VALID [2022-02-20 17:03:43,147 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {581#true} {583#(= |ULTIMATE.start_main_~in~0#1| 0)} #70#return; {583#(= |ULTIMATE.start_main_~in~0#1| 0)} is VALID [2022-02-20 17:03:43,147 INFO L272 TraceCheckUtils]: 14: Hoare triple {583#(= |ULTIMATE.start_main_~in~0#1| 0)} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {581#true} is VALID [2022-02-20 17:03:43,147 INFO L290 TraceCheckUtils]: 15: Hoare triple {581#true} ~cond := #in~cond; {581#true} is VALID [2022-02-20 17:03:43,147 INFO L290 TraceCheckUtils]: 16: Hoare triple {581#true} assume !(0 == ~cond); {581#true} is VALID [2022-02-20 17:03:43,147 INFO L290 TraceCheckUtils]: 17: Hoare triple {581#true} assume true; {581#true} is VALID [2022-02-20 17:03:43,148 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {581#true} {583#(= |ULTIMATE.start_main_~in~0#1| 0)} #72#return; {583#(= |ULTIMATE.start_main_~in~0#1| 0)} is VALID [2022-02-20 17:03:43,148 INFO L290 TraceCheckUtils]: 19: Hoare triple {583#(= |ULTIMATE.start_main_~in~0#1| 0)} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {583#(= |ULTIMATE.start_main_~in~0#1| 0)} is VALID [2022-02-20 17:03:43,149 INFO L290 TraceCheckUtils]: 20: Hoare triple {583#(= |ULTIMATE.start_main_~in~0#1| 0)} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {592#(<= 1 |ULTIMATE.start_main_~in~0#1|)} is VALID [2022-02-20 17:03:43,149 INFO L272 TraceCheckUtils]: 21: Hoare triple {592#(<= 1 |ULTIMATE.start_main_~in~0#1|)} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {593#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:43,149 INFO L290 TraceCheckUtils]: 22: Hoare triple {593#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {594#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:03:43,150 INFO L290 TraceCheckUtils]: 23: Hoare triple {594#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {582#false} is VALID [2022-02-20 17:03:43,150 INFO L290 TraceCheckUtils]: 24: Hoare triple {582#false} assume !false; {582#false} is VALID [2022-02-20 17:03:43,150 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 17:03:43,150 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:03:43,151 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1277687147] [2022-02-20 17:03:43,151 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1277687147] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:03:43,151 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:03:43,151 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 17:03:43,151 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [619191583] [2022-02-20 17:03:43,151 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:03:43,152 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 25 [2022-02-20 17:03:43,152 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:03:43,152 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:03:43,164 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:03:43,164 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 17:03:43,165 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:03:43,165 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 17:03:43,165 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:03:43,165 INFO L87 Difference]: Start difference. First operand 41 states and 53 transitions. Second operand has 6 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:03:43,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:43,389 INFO L93 Difference]: Finished difference Result 52 states and 64 transitions. [2022-02-20 17:03:43,389 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 17:03:43,389 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 25 [2022-02-20 17:03:43,389 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:03:43,389 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:03:43,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 58 transitions. [2022-02-20 17:03:43,391 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:03:43,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 58 transitions. [2022-02-20 17:03:43,396 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 58 transitions. [2022-02-20 17:03:43,439 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:03:43,441 INFO L225 Difference]: With dead ends: 52 [2022-02-20 17:03:43,441 INFO L226 Difference]: Without dead ends: 50 [2022-02-20 17:03:43,441 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-02-20 17:03:43,442 INFO L933 BasicCegarLoop]: 51 mSDtfsCounter, 14 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 194 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:03:43,442 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 194 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:03:43,442 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-02-20 17:03:43,465 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 45. [2022-02-20 17:03:43,465 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:03:43,466 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 45 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 31 states have internal predecessors, (33), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:03:43,466 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 45 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 31 states have internal predecessors, (33), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:03:43,466 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 45 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 31 states have internal predecessors, (33), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:03:43,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:43,468 INFO L93 Difference]: Finished difference Result 50 states and 62 transitions. [2022-02-20 17:03:43,469 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 62 transitions. [2022-02-20 17:03:43,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:43,469 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:03:43,470 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 31 states have internal predecessors, (33), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 50 states. [2022-02-20 17:03:43,470 INFO L87 Difference]: Start difference. First operand has 45 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 31 states have internal predecessors, (33), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 50 states. [2022-02-20 17:03:43,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:43,473 INFO L93 Difference]: Finished difference Result 50 states and 62 transitions. [2022-02-20 17:03:43,473 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 62 transitions. [2022-02-20 17:03:43,474 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:43,474 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:03:43,474 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:03:43,474 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:03:43,474 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 31 states have internal predecessors, (33), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:03:43,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 56 transitions. [2022-02-20 17:03:43,476 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 56 transitions. Word has length 25 [2022-02-20 17:03:43,477 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:03:43,477 INFO L470 AbstractCegarLoop]: Abstraction has 45 states and 56 transitions. [2022-02-20 17:03:43,477 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:03:43,477 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-02-20 17:03:43,478 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-20 17:03:43,478 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:03:43,478 INFO L514 BasicCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:03:43,478 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 17:03:43,479 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:03:43,479 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:03:43,480 INFO L85 PathProgramCache]: Analyzing trace with hash -1644488141, now seen corresponding path program 1 times [2022-02-20 17:03:43,480 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:03:43,480 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1619183449] [2022-02-20 17:03:43,480 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:03:43,481 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:03:43,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:43,541 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:03:43,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:43,548 INFO L290 TraceCheckUtils]: 0: Hoare triple {834#true} ~cond := #in~cond; {834#true} is VALID [2022-02-20 17:03:43,548 INFO L290 TraceCheckUtils]: 1: Hoare triple {834#true} assume !(0 == ~cond); {834#true} is VALID [2022-02-20 17:03:43,548 INFO L290 TraceCheckUtils]: 2: Hoare triple {834#true} assume true; {834#true} is VALID [2022-02-20 17:03:43,549 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {834#true} {837#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0))} #78#return; {837#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0))} is VALID [2022-02-20 17:03:43,549 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:03:43,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:43,558 INFO L290 TraceCheckUtils]: 0: Hoare triple {834#true} ~cond := #in~cond; {834#true} is VALID [2022-02-20 17:03:43,558 INFO L290 TraceCheckUtils]: 1: Hoare triple {834#true} assume !(0 == ~cond); {834#true} is VALID [2022-02-20 17:03:43,558 INFO L290 TraceCheckUtils]: 2: Hoare triple {834#true} assume true; {834#true} is VALID [2022-02-20 17:03:43,559 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {834#true} {837#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0))} #80#return; {837#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0))} is VALID [2022-02-20 17:03:43,559 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 19 [2022-02-20 17:03:43,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:43,571 INFO L290 TraceCheckUtils]: 0: Hoare triple {834#true} ~cond := #in~cond; {834#true} is VALID [2022-02-20 17:03:43,571 INFO L290 TraceCheckUtils]: 1: Hoare triple {834#true} assume !(0 == ~cond); {834#true} is VALID [2022-02-20 17:03:43,571 INFO L290 TraceCheckUtils]: 2: Hoare triple {834#true} assume true; {834#true} is VALID [2022-02-20 17:03:43,574 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {834#true} {846#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} #82#return; {846#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:43,574 INFO L290 TraceCheckUtils]: 0: Hoare triple {834#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(9, 2); {834#true} is VALID [2022-02-20 17:03:43,574 INFO L290 TraceCheckUtils]: 1: Hoare triple {834#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~nondet2#1, main_#t~post4#1, main_#t~post5#1, main_#t~nondet3#1, main_#t~post6#1, main_#t~post7#1, main_~in~0#1, main_~inlen~0#1, main_~bufferlen~0#1, main_~buf~0#1, main_~buflim~0#1;havoc main_~in~0#1;assume -2147483648 <= main_#t~nondet1#1 && main_#t~nondet1#1 <= 2147483647;main_~inlen~0#1 := main_#t~nondet1#1;havoc main_#t~nondet1#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~bufferlen~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1;havoc main_~buf~0#1;havoc main_~buflim~0#1; {834#true} is VALID [2022-02-20 17:03:43,575 INFO L290 TraceCheckUtils]: 2: Hoare triple {834#true} assume main_~bufferlen~0#1 > 1; {836#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:43,576 INFO L290 TraceCheckUtils]: 3: Hoare triple {836#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~inlen~0#1 > 0; {836#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:43,577 INFO L290 TraceCheckUtils]: 4: Hoare triple {836#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~bufferlen~0#1 < main_~inlen~0#1; {836#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:43,579 INFO L290 TraceCheckUtils]: 5: Hoare triple {836#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} main_~buf~0#1 := 0;main_~in~0#1 := 0;main_~buflim~0#1 := main_~bufferlen~0#1 - 2; {837#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0))} is VALID [2022-02-20 17:03:43,580 INFO L290 TraceCheckUtils]: 6: Hoare triple {837#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {837#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0))} is VALID [2022-02-20 17:03:43,580 INFO L290 TraceCheckUtils]: 7: Hoare triple {837#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0))} assume !(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {837#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0))} is VALID [2022-02-20 17:03:43,580 INFO L272 TraceCheckUtils]: 8: Hoare triple {837#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {834#true} is VALID [2022-02-20 17:03:43,580 INFO L290 TraceCheckUtils]: 9: Hoare triple {834#true} ~cond := #in~cond; {834#true} is VALID [2022-02-20 17:03:43,581 INFO L290 TraceCheckUtils]: 10: Hoare triple {834#true} assume !(0 == ~cond); {834#true} is VALID [2022-02-20 17:03:43,581 INFO L290 TraceCheckUtils]: 11: Hoare triple {834#true} assume true; {834#true} is VALID [2022-02-20 17:03:43,581 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {834#true} {837#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0))} #78#return; {837#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0))} is VALID [2022-02-20 17:03:43,582 INFO L272 TraceCheckUtils]: 13: Hoare triple {837#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {834#true} is VALID [2022-02-20 17:03:43,582 INFO L290 TraceCheckUtils]: 14: Hoare triple {834#true} ~cond := #in~cond; {834#true} is VALID [2022-02-20 17:03:43,582 INFO L290 TraceCheckUtils]: 15: Hoare triple {834#true} assume !(0 == ~cond); {834#true} is VALID [2022-02-20 17:03:43,582 INFO L290 TraceCheckUtils]: 16: Hoare triple {834#true} assume true; {834#true} is VALID [2022-02-20 17:03:43,583 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {834#true} {837#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0))} #80#return; {837#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0))} is VALID [2022-02-20 17:03:43,584 INFO L290 TraceCheckUtils]: 18: Hoare triple {837#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0))} main_#t~post6#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {846#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:43,584 INFO L272 TraceCheckUtils]: 19: Hoare triple {846#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {834#true} is VALID [2022-02-20 17:03:43,584 INFO L290 TraceCheckUtils]: 20: Hoare triple {834#true} ~cond := #in~cond; {834#true} is VALID [2022-02-20 17:03:43,584 INFO L290 TraceCheckUtils]: 21: Hoare triple {834#true} assume !(0 == ~cond); {834#true} is VALID [2022-02-20 17:03:43,585 INFO L290 TraceCheckUtils]: 22: Hoare triple {834#true} assume true; {834#true} is VALID [2022-02-20 17:03:43,585 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {834#true} {846#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} #82#return; {846#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:43,586 INFO L272 TraceCheckUtils]: 24: Hoare triple {846#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {851#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:43,586 INFO L290 TraceCheckUtils]: 25: Hoare triple {851#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {852#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:03:43,588 INFO L290 TraceCheckUtils]: 26: Hoare triple {852#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {835#false} is VALID [2022-02-20 17:03:43,588 INFO L290 TraceCheckUtils]: 27: Hoare triple {835#false} assume !false; {835#false} is VALID [2022-02-20 17:03:43,589 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 17:03:43,589 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:03:43,589 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1619183449] [2022-02-20 17:03:43,589 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1619183449] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:03:43,589 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:03:43,589 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 17:03:43,590 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1800522161] [2022-02-20 17:03:43,590 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:03:43,590 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 2.5) internal successors, (15), 6 states have internal predecessors, (15), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-02-20 17:03:43,590 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:03:43,591 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 2.5) internal successors, (15), 6 states have internal predecessors, (15), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:03:43,609 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:03:43,610 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 17:03:43,610 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:03:43,610 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 17:03:43,611 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-02-20 17:03:43,611 INFO L87 Difference]: Start difference. First operand 45 states and 56 transitions. Second operand has 7 states, 6 states have (on average 2.5) internal successors, (15), 6 states have internal predecessors, (15), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:03:43,943 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:43,943 INFO L93 Difference]: Finished difference Result 71 states and 89 transitions. [2022-02-20 17:03:43,944 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 17:03:43,944 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 2.5) internal successors, (15), 6 states have internal predecessors, (15), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-02-20 17:03:43,944 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:03:43,944 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 2.5) internal successors, (15), 6 states have internal predecessors, (15), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:03:43,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 77 transitions. [2022-02-20 17:03:43,946 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 2.5) internal successors, (15), 6 states have internal predecessors, (15), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:03:43,947 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 77 transitions. [2022-02-20 17:03:43,947 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 77 transitions. [2022-02-20 17:03:44,004 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:03:44,006 INFO L225 Difference]: With dead ends: 71 [2022-02-20 17:03:44,006 INFO L226 Difference]: Without dead ends: 64 [2022-02-20 17:03:44,006 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:03:44,007 INFO L933 BasicCegarLoop]: 31 mSDtfsCounter, 34 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 91 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 43 SdHoareTripleChecker+Valid, 130 SdHoareTripleChecker+Invalid, 121 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 91 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:03:44,007 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [43 Valid, 130 Invalid, 121 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 91 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:03:44,008 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-02-20 17:03:44,037 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 62. [2022-02-20 17:03:44,038 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:03:44,038 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 62 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 42 states have internal predecessors, (44), 16 states have call successors, (16), 6 states have call predecessors, (16), 6 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-02-20 17:03:44,039 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 62 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 42 states have internal predecessors, (44), 16 states have call successors, (16), 6 states have call predecessors, (16), 6 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-02-20 17:03:44,039 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 62 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 42 states have internal predecessors, (44), 16 states have call successors, (16), 6 states have call predecessors, (16), 6 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-02-20 17:03:44,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:44,041 INFO L93 Difference]: Finished difference Result 64 states and 77 transitions. [2022-02-20 17:03:44,041 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-02-20 17:03:44,041 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:44,042 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:03:44,042 INFO L74 IsIncluded]: Start isIncluded. First operand has 62 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 42 states have internal predecessors, (44), 16 states have call successors, (16), 6 states have call predecessors, (16), 6 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) Second operand 64 states. [2022-02-20 17:03:44,042 INFO L87 Difference]: Start difference. First operand has 62 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 42 states have internal predecessors, (44), 16 states have call successors, (16), 6 states have call predecessors, (16), 6 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) Second operand 64 states. [2022-02-20 17:03:44,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:44,044 INFO L93 Difference]: Finished difference Result 64 states and 77 transitions. [2022-02-20 17:03:44,044 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-02-20 17:03:44,045 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:44,045 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:03:44,045 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:03:44,045 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:03:44,045 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 42 states have internal predecessors, (44), 16 states have call successors, (16), 6 states have call predecessors, (16), 6 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-02-20 17:03:44,047 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 75 transitions. [2022-02-20 17:03:44,047 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 75 transitions. Word has length 28 [2022-02-20 17:03:44,047 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:03:44,047 INFO L470 AbstractCegarLoop]: Abstraction has 62 states and 75 transitions. [2022-02-20 17:03:44,048 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 2.5) internal successors, (15), 6 states have internal predecessors, (15), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:03:44,048 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 75 transitions. [2022-02-20 17:03:44,048 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 17:03:44,048 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:03:44,048 INFO L514 BasicCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:03:44,049 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 17:03:44,049 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:03:44,049 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:03:44,049 INFO L85 PathProgramCache]: Analyzing trace with hash -1722491344, now seen corresponding path program 1 times [2022-02-20 17:03:44,049 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:03:44,049 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [834405066] [2022-02-20 17:03:44,050 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:03:44,050 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:03:44,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:44,103 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 17:03:44,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:44,108 INFO L290 TraceCheckUtils]: 0: Hoare triple {1174#true} ~cond := #in~cond; {1174#true} is VALID [2022-02-20 17:03:44,108 INFO L290 TraceCheckUtils]: 1: Hoare triple {1174#true} assume !(0 == ~cond); {1174#true} is VALID [2022-02-20 17:03:44,108 INFO L290 TraceCheckUtils]: 2: Hoare triple {1174#true} assume true; {1174#true} is VALID [2022-02-20 17:03:44,109 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1174#true} {1178#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} #70#return; {1178#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:44,109 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-02-20 17:03:44,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:44,113 INFO L290 TraceCheckUtils]: 0: Hoare triple {1174#true} ~cond := #in~cond; {1174#true} is VALID [2022-02-20 17:03:44,113 INFO L290 TraceCheckUtils]: 1: Hoare triple {1174#true} assume !(0 == ~cond); {1174#true} is VALID [2022-02-20 17:03:44,114 INFO L290 TraceCheckUtils]: 2: Hoare triple {1174#true} assume true; {1174#true} is VALID [2022-02-20 17:03:44,114 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1174#true} {1178#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} #72#return; {1178#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:44,114 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-02-20 17:03:44,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:44,120 INFO L290 TraceCheckUtils]: 0: Hoare triple {1174#true} ~cond := #in~cond; {1174#true} is VALID [2022-02-20 17:03:44,121 INFO L290 TraceCheckUtils]: 1: Hoare triple {1174#true} assume !(0 == ~cond); {1174#true} is VALID [2022-02-20 17:03:44,121 INFO L290 TraceCheckUtils]: 2: Hoare triple {1174#true} assume true; {1174#true} is VALID [2022-02-20 17:03:44,121 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1174#true} {1187#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} #74#return; {1187#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:44,122 INFO L290 TraceCheckUtils]: 0: Hoare triple {1174#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(9, 2); {1174#true} is VALID [2022-02-20 17:03:44,122 INFO L290 TraceCheckUtils]: 1: Hoare triple {1174#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~nondet2#1, main_#t~post4#1, main_#t~post5#1, main_#t~nondet3#1, main_#t~post6#1, main_#t~post7#1, main_~in~0#1, main_~inlen~0#1, main_~bufferlen~0#1, main_~buf~0#1, main_~buflim~0#1;havoc main_~in~0#1;assume -2147483648 <= main_#t~nondet1#1 && main_#t~nondet1#1 <= 2147483647;main_~inlen~0#1 := main_#t~nondet1#1;havoc main_#t~nondet1#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~bufferlen~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1;havoc main_~buf~0#1;havoc main_~buflim~0#1; {1174#true} is VALID [2022-02-20 17:03:44,122 INFO L290 TraceCheckUtils]: 2: Hoare triple {1174#true} assume main_~bufferlen~0#1 > 1; {1176#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:44,123 INFO L290 TraceCheckUtils]: 3: Hoare triple {1176#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~inlen~0#1 > 0; {1176#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:44,123 INFO L290 TraceCheckUtils]: 4: Hoare triple {1176#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~bufferlen~0#1 < main_~inlen~0#1; {1177#(<= 3 |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:44,124 INFO L290 TraceCheckUtils]: 5: Hoare triple {1177#(<= 3 |ULTIMATE.start_main_~inlen~0#1|)} main_~buf~0#1 := 0;main_~in~0#1 := 0;main_~buflim~0#1 := main_~bufferlen~0#1 - 2; {1178#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:44,124 INFO L290 TraceCheckUtils]: 6: Hoare triple {1178#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {1178#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:44,124 INFO L290 TraceCheckUtils]: 7: Hoare triple {1178#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {1178#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:44,125 INFO L290 TraceCheckUtils]: 8: Hoare triple {1178#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} assume !(main_~buf~0#1 == main_~buflim~0#1); {1178#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:44,125 INFO L272 TraceCheckUtils]: 9: Hoare triple {1178#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {1174#true} is VALID [2022-02-20 17:03:44,125 INFO L290 TraceCheckUtils]: 10: Hoare triple {1174#true} ~cond := #in~cond; {1174#true} is VALID [2022-02-20 17:03:44,125 INFO L290 TraceCheckUtils]: 11: Hoare triple {1174#true} assume !(0 == ~cond); {1174#true} is VALID [2022-02-20 17:03:44,125 INFO L290 TraceCheckUtils]: 12: Hoare triple {1174#true} assume true; {1174#true} is VALID [2022-02-20 17:03:44,126 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {1174#true} {1178#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} #70#return; {1178#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:44,126 INFO L272 TraceCheckUtils]: 14: Hoare triple {1178#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {1174#true} is VALID [2022-02-20 17:03:44,126 INFO L290 TraceCheckUtils]: 15: Hoare triple {1174#true} ~cond := #in~cond; {1174#true} is VALID [2022-02-20 17:03:44,126 INFO L290 TraceCheckUtils]: 16: Hoare triple {1174#true} assume !(0 == ~cond); {1174#true} is VALID [2022-02-20 17:03:44,127 INFO L290 TraceCheckUtils]: 17: Hoare triple {1174#true} assume true; {1174#true} is VALID [2022-02-20 17:03:44,128 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1174#true} {1178#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} #72#return; {1178#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:44,129 INFO L290 TraceCheckUtils]: 19: Hoare triple {1178#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {1178#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:44,129 INFO L290 TraceCheckUtils]: 20: Hoare triple {1178#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {1187#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:44,129 INFO L272 TraceCheckUtils]: 21: Hoare triple {1187#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {1174#true} is VALID [2022-02-20 17:03:44,129 INFO L290 TraceCheckUtils]: 22: Hoare triple {1174#true} ~cond := #in~cond; {1174#true} is VALID [2022-02-20 17:03:44,129 INFO L290 TraceCheckUtils]: 23: Hoare triple {1174#true} assume !(0 == ~cond); {1174#true} is VALID [2022-02-20 17:03:44,130 INFO L290 TraceCheckUtils]: 24: Hoare triple {1174#true} assume true; {1174#true} is VALID [2022-02-20 17:03:44,130 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {1174#true} {1187#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} #74#return; {1187#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:44,131 INFO L272 TraceCheckUtils]: 26: Hoare triple {1187#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {1192#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:44,131 INFO L290 TraceCheckUtils]: 27: Hoare triple {1192#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1193#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:03:44,131 INFO L290 TraceCheckUtils]: 28: Hoare triple {1193#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1175#false} is VALID [2022-02-20 17:03:44,132 INFO L290 TraceCheckUtils]: 29: Hoare triple {1175#false} assume !false; {1175#false} is VALID [2022-02-20 17:03:44,132 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 17:03:44,132 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:03:44,132 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [834405066] [2022-02-20 17:03:44,132 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [834405066] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:03:44,132 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:03:44,132 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 17:03:44,133 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1908966062] [2022-02-20 17:03:44,133 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:03:44,133 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 7 states have internal predecessors, (17), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 30 [2022-02-20 17:03:44,133 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:03:44,134 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 7 states have internal predecessors, (17), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:03:44,148 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:03:44,148 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 17:03:44,148 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:03:44,148 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 17:03:44,148 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-02-20 17:03:44,149 INFO L87 Difference]: Start difference. First operand 62 states and 75 transitions. Second operand has 8 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 7 states have internal predecessors, (17), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:03:44,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:44,523 INFO L93 Difference]: Finished difference Result 73 states and 86 transitions. [2022-02-20 17:03:44,523 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 17:03:44,523 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 7 states have internal predecessors, (17), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 30 [2022-02-20 17:03:44,523 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:03:44,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 7 states have internal predecessors, (17), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:03:44,525 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 71 transitions. [2022-02-20 17:03:44,525 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 7 states have internal predecessors, (17), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:03:44,526 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 71 transitions. [2022-02-20 17:03:44,527 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 71 transitions. [2022-02-20 17:03:44,593 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:03:44,594 INFO L225 Difference]: With dead ends: 73 [2022-02-20 17:03:44,594 INFO L226 Difference]: Without dead ends: 71 [2022-02-20 17:03:44,595 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-02-20 17:03:44,595 INFO L933 BasicCegarLoop]: 40 mSDtfsCounter, 56 mSDsluCounter, 126 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 46 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 56 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 107 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 46 IncrementalHoareTripleChecker+Valid, 61 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:03:44,596 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [56 Valid, 166 Invalid, 107 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [46 Valid, 61 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:03:44,596 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-02-20 17:03:44,637 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 66. [2022-02-20 17:03:44,638 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:03:44,638 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 66 states, 42 states have (on average 1.119047619047619) internal successors, (47), 45 states have internal predecessors, (47), 16 states have call successors, (16), 7 states have call predecessors, (16), 7 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-02-20 17:03:44,638 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 66 states, 42 states have (on average 1.119047619047619) internal successors, (47), 45 states have internal predecessors, (47), 16 states have call successors, (16), 7 states have call predecessors, (16), 7 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-02-20 17:03:44,638 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 66 states, 42 states have (on average 1.119047619047619) internal successors, (47), 45 states have internal predecessors, (47), 16 states have call successors, (16), 7 states have call predecessors, (16), 7 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-02-20 17:03:44,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:44,640 INFO L93 Difference]: Finished difference Result 71 states and 84 transitions. [2022-02-20 17:03:44,640 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-02-20 17:03:44,641 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:44,641 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:03:44,641 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 42 states have (on average 1.119047619047619) internal successors, (47), 45 states have internal predecessors, (47), 16 states have call successors, (16), 7 states have call predecessors, (16), 7 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) Second operand 71 states. [2022-02-20 17:03:44,641 INFO L87 Difference]: Start difference. First operand has 66 states, 42 states have (on average 1.119047619047619) internal successors, (47), 45 states have internal predecessors, (47), 16 states have call successors, (16), 7 states have call predecessors, (16), 7 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) Second operand 71 states. [2022-02-20 17:03:44,643 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:44,643 INFO L93 Difference]: Finished difference Result 71 states and 84 transitions. [2022-02-20 17:03:44,643 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-02-20 17:03:44,644 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:44,644 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:03:44,644 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:03:44,644 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:03:44,644 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 42 states have (on average 1.119047619047619) internal successors, (47), 45 states have internal predecessors, (47), 16 states have call successors, (16), 7 states have call predecessors, (16), 7 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-02-20 17:03:44,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 78 transitions. [2022-02-20 17:03:44,646 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 78 transitions. Word has length 30 [2022-02-20 17:03:44,646 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:03:44,646 INFO L470 AbstractCegarLoop]: Abstraction has 66 states and 78 transitions. [2022-02-20 17:03:44,646 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 7 states have internal predecessors, (17), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:03:44,646 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 78 transitions. [2022-02-20 17:03:44,647 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-02-20 17:03:44,647 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:03:44,647 INFO L514 BasicCegarLoop]: trace histogram [8, 7, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:03:44,647 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 17:03:44,647 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:03:44,647 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:03:44,648 INFO L85 PathProgramCache]: Analyzing trace with hash -1030091550, now seen corresponding path program 1 times [2022-02-20 17:03:44,648 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:03:44,648 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [383879387] [2022-02-20 17:03:44,648 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:03:44,648 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:03:44,675 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:44,771 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 17:03:44,779 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:44,782 INFO L290 TraceCheckUtils]: 0: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:44,783 INFO L290 TraceCheckUtils]: 1: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:44,783 INFO L290 TraceCheckUtils]: 2: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:44,783 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1539#true} {1543#(and (= |ULTIMATE.start_main_~buf~0#1| 0) (<= 3 |ULTIMATE.start_main_~bufferlen~0#1|))} #70#return; {1543#(and (= |ULTIMATE.start_main_~buf~0#1| 0) (<= 3 |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:44,783 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-02-20 17:03:44,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:44,788 INFO L290 TraceCheckUtils]: 0: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:44,788 INFO L290 TraceCheckUtils]: 1: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:44,788 INFO L290 TraceCheckUtils]: 2: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:44,788 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1539#true} {1543#(and (= |ULTIMATE.start_main_~buf~0#1| 0) (<= 3 |ULTIMATE.start_main_~bufferlen~0#1|))} #72#return; {1543#(and (= |ULTIMATE.start_main_~buf~0#1| 0) (<= 3 |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:44,789 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-02-20 17:03:44,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:44,793 INFO L290 TraceCheckUtils]: 0: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:44,793 INFO L290 TraceCheckUtils]: 1: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:44,793 INFO L290 TraceCheckUtils]: 2: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:44,794 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1539#true} {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} #74#return; {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:44,794 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-02-20 17:03:44,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:44,801 INFO L290 TraceCheckUtils]: 0: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:44,801 INFO L290 TraceCheckUtils]: 1: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:44,801 INFO L290 TraceCheckUtils]: 2: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:44,802 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1539#true} {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} #76#return; {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:44,802 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2022-02-20 17:03:44,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:44,805 INFO L290 TraceCheckUtils]: 0: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:44,806 INFO L290 TraceCheckUtils]: 1: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:44,806 INFO L290 TraceCheckUtils]: 2: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:44,806 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1539#true} {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} #78#return; {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:44,806 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-02-20 17:03:44,808 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:44,810 INFO L290 TraceCheckUtils]: 0: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:44,810 INFO L290 TraceCheckUtils]: 1: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:44,810 INFO L290 TraceCheckUtils]: 2: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:44,811 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1539#true} {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} #80#return; {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:44,811 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-02-20 17:03:44,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:44,814 INFO L290 TraceCheckUtils]: 0: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:44,814 INFO L290 TraceCheckUtils]: 1: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:44,814 INFO L290 TraceCheckUtils]: 2: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:44,815 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1539#true} {1569#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} #82#return; {1569#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:44,815 INFO L290 TraceCheckUtils]: 0: Hoare triple {1539#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(9, 2); {1539#true} is VALID [2022-02-20 17:03:44,815 INFO L290 TraceCheckUtils]: 1: Hoare triple {1539#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~nondet2#1, main_#t~post4#1, main_#t~post5#1, main_#t~nondet3#1, main_#t~post6#1, main_#t~post7#1, main_~in~0#1, main_~inlen~0#1, main_~bufferlen~0#1, main_~buf~0#1, main_~buflim~0#1;havoc main_~in~0#1;assume -2147483648 <= main_#t~nondet1#1 && main_#t~nondet1#1 <= 2147483647;main_~inlen~0#1 := main_#t~nondet1#1;havoc main_#t~nondet1#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~bufferlen~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1;havoc main_~buf~0#1;havoc main_~buflim~0#1; {1539#true} is VALID [2022-02-20 17:03:44,815 INFO L290 TraceCheckUtils]: 2: Hoare triple {1539#true} assume main_~bufferlen~0#1 > 1; {1541#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:44,816 INFO L290 TraceCheckUtils]: 3: Hoare triple {1541#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~inlen~0#1 > 0; {1541#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:44,816 INFO L290 TraceCheckUtils]: 4: Hoare triple {1541#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~bufferlen~0#1 < main_~inlen~0#1; {1541#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:44,816 INFO L290 TraceCheckUtils]: 5: Hoare triple {1541#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} main_~buf~0#1 := 0;main_~in~0#1 := 0;main_~buflim~0#1 := main_~bufferlen~0#1 - 2; {1542#(and (< 0 (+ |ULTIMATE.start_main_~buflim~0#1| 1)) (or (and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0)) (<= |ULTIMATE.start_main_~buflim~0#1| 0)) (or (not (= |ULTIMATE.start_main_~buflim~0#1| 0)) (= |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:44,817 INFO L290 TraceCheckUtils]: 6: Hoare triple {1542#(and (< 0 (+ |ULTIMATE.start_main_~buflim~0#1| 1)) (or (and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0)) (<= |ULTIMATE.start_main_~buflim~0#1| 0)) (or (not (= |ULTIMATE.start_main_~buflim~0#1| 0)) (= |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~buflim~0#1|)))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {1542#(and (< 0 (+ |ULTIMATE.start_main_~buflim~0#1| 1)) (or (and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0)) (<= |ULTIMATE.start_main_~buflim~0#1| 0)) (or (not (= |ULTIMATE.start_main_~buflim~0#1| 0)) (= |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:44,818 INFO L290 TraceCheckUtils]: 7: Hoare triple {1542#(and (< 0 (+ |ULTIMATE.start_main_~buflim~0#1| 1)) (or (and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0)) (<= |ULTIMATE.start_main_~buflim~0#1| 0)) (or (not (= |ULTIMATE.start_main_~buflim~0#1| 0)) (= |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~buflim~0#1|)))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {1542#(and (< 0 (+ |ULTIMATE.start_main_~buflim~0#1| 1)) (or (and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0)) (<= |ULTIMATE.start_main_~buflim~0#1| 0)) (or (not (= |ULTIMATE.start_main_~buflim~0#1| 0)) (= |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:44,818 INFO L290 TraceCheckUtils]: 8: Hoare triple {1542#(and (< 0 (+ |ULTIMATE.start_main_~buflim~0#1| 1)) (or (and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0)) (<= |ULTIMATE.start_main_~buflim~0#1| 0)) (or (not (= |ULTIMATE.start_main_~buflim~0#1| 0)) (= |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~buflim~0#1|)))} assume !(main_~buf~0#1 == main_~buflim~0#1); {1543#(and (= |ULTIMATE.start_main_~buf~0#1| 0) (<= 3 |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:44,818 INFO L272 TraceCheckUtils]: 9: Hoare triple {1543#(and (= |ULTIMATE.start_main_~buf~0#1| 0) (<= 3 |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:44,818 INFO L290 TraceCheckUtils]: 10: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:44,818 INFO L290 TraceCheckUtils]: 11: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:44,819 INFO L290 TraceCheckUtils]: 12: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:44,819 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {1539#true} {1543#(and (= |ULTIMATE.start_main_~buf~0#1| 0) (<= 3 |ULTIMATE.start_main_~bufferlen~0#1|))} #70#return; {1543#(and (= |ULTIMATE.start_main_~buf~0#1| 0) (<= 3 |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:44,819 INFO L272 TraceCheckUtils]: 14: Hoare triple {1543#(and (= |ULTIMATE.start_main_~buf~0#1| 0) (<= 3 |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:44,819 INFO L290 TraceCheckUtils]: 15: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:44,819 INFO L290 TraceCheckUtils]: 16: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:44,819 INFO L290 TraceCheckUtils]: 17: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:44,820 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1539#true} {1543#(and (= |ULTIMATE.start_main_~buf~0#1| 0) (<= 3 |ULTIMATE.start_main_~bufferlen~0#1|))} #72#return; {1543#(and (= |ULTIMATE.start_main_~buf~0#1| 0) (<= 3 |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:44,820 INFO L290 TraceCheckUtils]: 19: Hoare triple {1543#(and (= |ULTIMATE.start_main_~buf~0#1| 0) (<= 3 |ULTIMATE.start_main_~bufferlen~0#1|))} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:44,820 INFO L290 TraceCheckUtils]: 20: Hoare triple {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:44,821 INFO L272 TraceCheckUtils]: 21: Hoare triple {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:44,821 INFO L290 TraceCheckUtils]: 22: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:44,821 INFO L290 TraceCheckUtils]: 23: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:44,821 INFO L290 TraceCheckUtils]: 24: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:44,821 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {1539#true} {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} #74#return; {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:44,821 INFO L272 TraceCheckUtils]: 26: Hoare triple {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:44,822 INFO L290 TraceCheckUtils]: 27: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:44,822 INFO L290 TraceCheckUtils]: 28: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:44,822 INFO L290 TraceCheckUtils]: 29: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:44,822 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {1539#true} {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} #76#return; {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:44,823 INFO L290 TraceCheckUtils]: 31: Hoare triple {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:44,823 INFO L290 TraceCheckUtils]: 32: Hoare triple {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} assume !(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:44,823 INFO L272 TraceCheckUtils]: 33: Hoare triple {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:44,823 INFO L290 TraceCheckUtils]: 34: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:44,823 INFO L290 TraceCheckUtils]: 35: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:44,823 INFO L290 TraceCheckUtils]: 36: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:44,824 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1539#true} {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} #78#return; {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:44,824 INFO L272 TraceCheckUtils]: 38: Hoare triple {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:44,824 INFO L290 TraceCheckUtils]: 39: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:44,824 INFO L290 TraceCheckUtils]: 40: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:44,824 INFO L290 TraceCheckUtils]: 41: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:44,825 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {1539#true} {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} #80#return; {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:44,825 INFO L290 TraceCheckUtils]: 43: Hoare triple {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} main_#t~post6#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1569#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:44,825 INFO L272 TraceCheckUtils]: 44: Hoare triple {1569#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:44,825 INFO L290 TraceCheckUtils]: 45: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:44,825 INFO L290 TraceCheckUtils]: 46: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:44,825 INFO L290 TraceCheckUtils]: 47: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:44,826 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {1539#true} {1569#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} #82#return; {1569#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:44,826 INFO L272 TraceCheckUtils]: 49: Hoare triple {1569#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {1574#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:44,827 INFO L290 TraceCheckUtils]: 50: Hoare triple {1574#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1575#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:03:44,827 INFO L290 TraceCheckUtils]: 51: Hoare triple {1575#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1540#false} is VALID [2022-02-20 17:03:44,827 INFO L290 TraceCheckUtils]: 52: Hoare triple {1540#false} assume !false; {1540#false} is VALID [2022-02-20 17:03:44,828 INFO L134 CoverageAnalysis]: Checked inductivity of 100 backedges. 14 proven. 2 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-02-20 17:03:44,828 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:03:44,828 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [383879387] [2022-02-20 17:03:44,828 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [383879387] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 17:03:44,828 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [891050516] [2022-02-20 17:03:44,828 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:03:44,829 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:03:44,829 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:03:44,830 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:03:44,849 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-02-20 17:03:44,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:44,892 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 17:03:44,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:44,931 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:03:45,510 INFO L290 TraceCheckUtils]: 0: Hoare triple {1539#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(9, 2); {1539#true} is VALID [2022-02-20 17:03:45,510 INFO L290 TraceCheckUtils]: 1: Hoare triple {1539#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~nondet2#1, main_#t~post4#1, main_#t~post5#1, main_#t~nondet3#1, main_#t~post6#1, main_#t~post7#1, main_~in~0#1, main_~inlen~0#1, main_~bufferlen~0#1, main_~buf~0#1, main_~buflim~0#1;havoc main_~in~0#1;assume -2147483648 <= main_#t~nondet1#1 && main_#t~nondet1#1 <= 2147483647;main_~inlen~0#1 := main_#t~nondet1#1;havoc main_#t~nondet1#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~bufferlen~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1;havoc main_~buf~0#1;havoc main_~buflim~0#1; {1539#true} is VALID [2022-02-20 17:03:45,515 INFO L290 TraceCheckUtils]: 2: Hoare triple {1539#true} assume main_~bufferlen~0#1 > 1; {1541#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:45,515 INFO L290 TraceCheckUtils]: 3: Hoare triple {1541#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~inlen~0#1 > 0; {1541#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:45,516 INFO L290 TraceCheckUtils]: 4: Hoare triple {1541#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~bufferlen~0#1 < main_~inlen~0#1; {1541#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:45,518 INFO L290 TraceCheckUtils]: 5: Hoare triple {1541#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} main_~buf~0#1 := 0;main_~in~0#1 := 0;main_~buflim~0#1 := main_~bufferlen~0#1 - 2; {1594#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 0) (= (+ (- 2) |ULTIMATE.start_main_~bufferlen~0#1|) |ULTIMATE.start_main_~buflim~0#1|))} is VALID [2022-02-20 17:03:45,521 INFO L290 TraceCheckUtils]: 6: Hoare triple {1594#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 0) (= (+ (- 2) |ULTIMATE.start_main_~bufferlen~0#1|) |ULTIMATE.start_main_~buflim~0#1|))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {1594#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 0) (= (+ (- 2) |ULTIMATE.start_main_~bufferlen~0#1|) |ULTIMATE.start_main_~buflim~0#1|))} is VALID [2022-02-20 17:03:45,522 INFO L290 TraceCheckUtils]: 7: Hoare triple {1594#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 0) (= (+ (- 2) |ULTIMATE.start_main_~bufferlen~0#1|) |ULTIMATE.start_main_~buflim~0#1|))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {1594#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 0) (= (+ (- 2) |ULTIMATE.start_main_~bufferlen~0#1|) |ULTIMATE.start_main_~buflim~0#1|))} is VALID [2022-02-20 17:03:45,525 INFO L290 TraceCheckUtils]: 8: Hoare triple {1594#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 0) (= (+ (- 2) |ULTIMATE.start_main_~bufferlen~0#1|) |ULTIMATE.start_main_~buflim~0#1|))} assume !(main_~buf~0#1 == main_~buflim~0#1); {1604#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (not (= |ULTIMATE.start_main_~buf~0#1| (+ (- 2) |ULTIMATE.start_main_~bufferlen~0#1|))) (<= |ULTIMATE.start_main_~buf~0#1| 0))} is VALID [2022-02-20 17:03:45,525 INFO L272 TraceCheckUtils]: 9: Hoare triple {1604#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (not (= |ULTIMATE.start_main_~buf~0#1| (+ (- 2) |ULTIMATE.start_main_~bufferlen~0#1|))) (<= |ULTIMATE.start_main_~buf~0#1| 0))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:45,525 INFO L290 TraceCheckUtils]: 10: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:45,526 INFO L290 TraceCheckUtils]: 11: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:45,526 INFO L290 TraceCheckUtils]: 12: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:45,527 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {1539#true} {1604#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (not (= |ULTIMATE.start_main_~buf~0#1| (+ (- 2) |ULTIMATE.start_main_~bufferlen~0#1|))) (<= |ULTIMATE.start_main_~buf~0#1| 0))} #70#return; {1604#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (not (= |ULTIMATE.start_main_~buf~0#1| (+ (- 2) |ULTIMATE.start_main_~bufferlen~0#1|))) (<= |ULTIMATE.start_main_~buf~0#1| 0))} is VALID [2022-02-20 17:03:45,528 INFO L272 TraceCheckUtils]: 14: Hoare triple {1604#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (not (= |ULTIMATE.start_main_~buf~0#1| (+ (- 2) |ULTIMATE.start_main_~bufferlen~0#1|))) (<= |ULTIMATE.start_main_~buf~0#1| 0))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:45,530 INFO L290 TraceCheckUtils]: 15: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:45,532 INFO L290 TraceCheckUtils]: 16: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:45,532 INFO L290 TraceCheckUtils]: 17: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:45,533 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1539#true} {1604#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (not (= |ULTIMATE.start_main_~buf~0#1| (+ (- 2) |ULTIMATE.start_main_~bufferlen~0#1|))) (<= |ULTIMATE.start_main_~buf~0#1| 0))} #72#return; {1604#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (not (= |ULTIMATE.start_main_~buf~0#1| (+ (- 2) |ULTIMATE.start_main_~bufferlen~0#1|))) (<= |ULTIMATE.start_main_~buf~0#1| 0))} is VALID [2022-02-20 17:03:45,533 INFO L290 TraceCheckUtils]: 19: Hoare triple {1604#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (not (= |ULTIMATE.start_main_~buf~0#1| (+ (- 2) |ULTIMATE.start_main_~bufferlen~0#1|))) (<= |ULTIMATE.start_main_~buf~0#1| 0))} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {1638#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 1) (< (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:45,540 INFO L290 TraceCheckUtils]: 20: Hoare triple {1638#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 1) (< (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|))} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {1638#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 1) (< (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:45,540 INFO L272 TraceCheckUtils]: 21: Hoare triple {1638#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 1) (< (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:45,541 INFO L290 TraceCheckUtils]: 22: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:45,541 INFO L290 TraceCheckUtils]: 23: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:45,541 INFO L290 TraceCheckUtils]: 24: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:45,541 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {1539#true} {1638#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 1) (< (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|))} #74#return; {1638#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 1) (< (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:45,541 INFO L272 TraceCheckUtils]: 26: Hoare triple {1638#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 1) (< (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:45,542 INFO L290 TraceCheckUtils]: 27: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:45,542 INFO L290 TraceCheckUtils]: 28: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:45,542 INFO L290 TraceCheckUtils]: 29: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:45,542 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {1539#true} {1638#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 1) (< (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|))} #76#return; {1638#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 1) (< (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:45,543 INFO L290 TraceCheckUtils]: 31: Hoare triple {1638#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 1) (< (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {1638#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 1) (< (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:45,543 INFO L290 TraceCheckUtils]: 32: Hoare triple {1638#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 1) (< (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|))} assume !(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {1638#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 1) (< (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:45,543 INFO L272 TraceCheckUtils]: 33: Hoare triple {1638#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 1) (< (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:45,543 INFO L290 TraceCheckUtils]: 34: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:45,544 INFO L290 TraceCheckUtils]: 35: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:45,544 INFO L290 TraceCheckUtils]: 36: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:45,544 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1539#true} {1638#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 1) (< (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|))} #78#return; {1638#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 1) (< (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:45,544 INFO L272 TraceCheckUtils]: 38: Hoare triple {1638#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 1) (< (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:45,544 INFO L290 TraceCheckUtils]: 39: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:45,544 INFO L290 TraceCheckUtils]: 40: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:45,545 INFO L290 TraceCheckUtils]: 41: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:45,545 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {1539#true} {1638#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 1) (< (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|))} #80#return; {1638#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 1) (< (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:45,546 INFO L290 TraceCheckUtils]: 43: Hoare triple {1638#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 1) (< (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|))} main_#t~post6#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1711#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 2) (< |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:45,546 INFO L272 TraceCheckUtils]: 44: Hoare triple {1711#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 2) (< |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:45,546 INFO L290 TraceCheckUtils]: 45: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:45,546 INFO L290 TraceCheckUtils]: 46: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:45,546 INFO L290 TraceCheckUtils]: 47: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:45,547 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {1539#true} {1711#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 2) (< |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~bufferlen~0#1|))} #82#return; {1711#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 2) (< |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:45,547 INFO L272 TraceCheckUtils]: 49: Hoare triple {1711#(and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buf~0#1| 2) (< |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {1730#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:03:45,548 INFO L290 TraceCheckUtils]: 50: Hoare triple {1730#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1734#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:03:45,548 INFO L290 TraceCheckUtils]: 51: Hoare triple {1734#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1540#false} is VALID [2022-02-20 17:03:45,548 INFO L290 TraceCheckUtils]: 52: Hoare triple {1540#false} assume !false; {1540#false} is VALID [2022-02-20 17:03:45,548 INFO L134 CoverageAnalysis]: Checked inductivity of 100 backedges. 14 proven. 2 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-02-20 17:03:45,550 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:03:45,880 INFO L290 TraceCheckUtils]: 52: Hoare triple {1540#false} assume !false; {1540#false} is VALID [2022-02-20 17:03:45,880 INFO L290 TraceCheckUtils]: 51: Hoare triple {1734#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1540#false} is VALID [2022-02-20 17:03:45,880 INFO L290 TraceCheckUtils]: 50: Hoare triple {1730#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1734#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:03:45,881 INFO L272 TraceCheckUtils]: 49: Hoare triple {1569#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {1730#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:03:45,881 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {1539#true} {1569#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} #82#return; {1569#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:45,882 INFO L290 TraceCheckUtils]: 47: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:45,882 INFO L290 TraceCheckUtils]: 46: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:45,882 INFO L290 TraceCheckUtils]: 45: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:45,882 INFO L272 TraceCheckUtils]: 44: Hoare triple {1569#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:45,882 INFO L290 TraceCheckUtils]: 43: Hoare triple {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} main_#t~post6#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1569#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:45,883 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {1539#true} {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} #80#return; {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:45,883 INFO L290 TraceCheckUtils]: 41: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:45,883 INFO L290 TraceCheckUtils]: 40: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:45,883 INFO L290 TraceCheckUtils]: 39: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:45,883 INFO L272 TraceCheckUtils]: 38: Hoare triple {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:45,886 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1539#true} {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} #78#return; {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:45,886 INFO L290 TraceCheckUtils]: 36: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:45,886 INFO L290 TraceCheckUtils]: 35: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:45,886 INFO L290 TraceCheckUtils]: 34: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:45,886 INFO L272 TraceCheckUtils]: 33: Hoare triple {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:45,886 INFO L290 TraceCheckUtils]: 32: Hoare triple {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} assume !(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:45,887 INFO L290 TraceCheckUtils]: 31: Hoare triple {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:45,887 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {1539#true} {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} #76#return; {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:45,887 INFO L290 TraceCheckUtils]: 29: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:45,887 INFO L290 TraceCheckUtils]: 28: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:45,887 INFO L290 TraceCheckUtils]: 27: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:45,887 INFO L272 TraceCheckUtils]: 26: Hoare triple {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:45,890 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {1539#true} {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} #74#return; {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:45,890 INFO L290 TraceCheckUtils]: 24: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:45,890 INFO L290 TraceCheckUtils]: 23: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:45,890 INFO L290 TraceCheckUtils]: 22: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:45,890 INFO L272 TraceCheckUtils]: 21: Hoare triple {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:45,891 INFO L290 TraceCheckUtils]: 20: Hoare triple {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:45,891 INFO L290 TraceCheckUtils]: 19: Hoare triple {1840#(<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|)} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {1552#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:45,891 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1539#true} {1840#(<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|)} #72#return; {1840#(<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:45,892 INFO L290 TraceCheckUtils]: 17: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:45,892 INFO L290 TraceCheckUtils]: 16: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:45,892 INFO L290 TraceCheckUtils]: 15: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:45,892 INFO L272 TraceCheckUtils]: 14: Hoare triple {1840#(<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:45,892 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {1539#true} {1840#(<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|)} #70#return; {1840#(<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:45,892 INFO L290 TraceCheckUtils]: 12: Hoare triple {1539#true} assume true; {1539#true} is VALID [2022-02-20 17:03:45,892 INFO L290 TraceCheckUtils]: 11: Hoare triple {1539#true} assume !(0 == ~cond); {1539#true} is VALID [2022-02-20 17:03:45,893 INFO L290 TraceCheckUtils]: 10: Hoare triple {1539#true} ~cond := #in~cond; {1539#true} is VALID [2022-02-20 17:03:45,893 INFO L272 TraceCheckUtils]: 9: Hoare triple {1840#(<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {1539#true} is VALID [2022-02-20 17:03:45,893 INFO L290 TraceCheckUtils]: 8: Hoare triple {1874#(or (= |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~buflim~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} assume !(main_~buf~0#1 == main_~buflim~0#1); {1840#(<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:45,894 INFO L290 TraceCheckUtils]: 7: Hoare triple {1874#(or (= |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~buflim~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {1874#(or (= |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~buflim~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:45,894 INFO L290 TraceCheckUtils]: 6: Hoare triple {1874#(or (= |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~buflim~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {1874#(or (= |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~buflim~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:45,894 INFO L290 TraceCheckUtils]: 5: Hoare triple {1541#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} main_~buf~0#1 := 0;main_~in~0#1 := 0;main_~buflim~0#1 := main_~bufferlen~0#1 - 2; {1874#(or (= |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~buflim~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:45,895 INFO L290 TraceCheckUtils]: 4: Hoare triple {1541#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~bufferlen~0#1 < main_~inlen~0#1; {1541#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:45,896 INFO L290 TraceCheckUtils]: 3: Hoare triple {1541#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~inlen~0#1 > 0; {1541#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:45,896 INFO L290 TraceCheckUtils]: 2: Hoare triple {1539#true} assume main_~bufferlen~0#1 > 1; {1541#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:45,896 INFO L290 TraceCheckUtils]: 1: Hoare triple {1539#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~nondet2#1, main_#t~post4#1, main_#t~post5#1, main_#t~nondet3#1, main_#t~post6#1, main_#t~post7#1, main_~in~0#1, main_~inlen~0#1, main_~bufferlen~0#1, main_~buf~0#1, main_~buflim~0#1;havoc main_~in~0#1;assume -2147483648 <= main_#t~nondet1#1 && main_#t~nondet1#1 <= 2147483647;main_~inlen~0#1 := main_#t~nondet1#1;havoc main_#t~nondet1#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~bufferlen~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1;havoc main_~buf~0#1;havoc main_~buflim~0#1; {1539#true} is VALID [2022-02-20 17:03:45,896 INFO L290 TraceCheckUtils]: 0: Hoare triple {1539#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(9, 2); {1539#true} is VALID [2022-02-20 17:03:45,896 INFO L134 CoverageAnalysis]: Checked inductivity of 100 backedges. 14 proven. 2 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-02-20 17:03:45,897 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [891050516] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:03:45,897 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 17:03:45,897 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 17 [2022-02-20 17:03:45,897 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [769471947] [2022-02-20 17:03:45,897 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 17:03:45,898 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 7 states have call successors, (19), 3 states have call predecessors, (19), 1 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 53 [2022-02-20 17:03:45,898 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:03:45,898 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 17 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 7 states have call successors, (19), 3 states have call predecessors, (19), 1 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-02-20 17:03:45,964 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:03:45,966 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-02-20 17:03:45,966 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:03:45,967 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-02-20 17:03:45,967 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=207, Unknown=0, NotChecked=0, Total=272 [2022-02-20 17:03:45,968 INFO L87 Difference]: Start difference. First operand 66 states and 78 transitions. Second operand has 17 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 7 states have call successors, (19), 3 states have call predecessors, (19), 1 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-02-20 17:03:47,086 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:47,086 INFO L93 Difference]: Finished difference Result 111 states and 146 transitions. [2022-02-20 17:03:47,086 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-02-20 17:03:47,087 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 7 states have call successors, (19), 3 states have call predecessors, (19), 1 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 53 [2022-02-20 17:03:47,087 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:03:47,087 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 7 states have call successors, (19), 3 states have call predecessors, (19), 1 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-02-20 17:03:47,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 128 transitions. [2022-02-20 17:03:47,090 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 7 states have call successors, (19), 3 states have call predecessors, (19), 1 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-02-20 17:03:47,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 128 transitions. [2022-02-20 17:03:47,092 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 128 transitions. [2022-02-20 17:03:47,203 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:03:47,206 INFO L225 Difference]: With dead ends: 111 [2022-02-20 17:03:47,206 INFO L226 Difference]: Without dead ends: 96 [2022-02-20 17:03:47,206 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 109 SyntacticMatches, 3 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 183 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=192, Invalid=510, Unknown=0, NotChecked=0, Total=702 [2022-02-20 17:03:47,207 INFO L933 BasicCegarLoop]: 44 mSDtfsCounter, 66 mSDsluCounter, 217 mSDsCounter, 0 mSdLazyCounter, 298 mSolverCounterSat, 95 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 261 SdHoareTripleChecker+Invalid, 393 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 95 IncrementalHoareTripleChecker+Valid, 298 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 17:03:47,207 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [73 Valid, 261 Invalid, 393 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [95 Valid, 298 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 17:03:47,208 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-02-20 17:03:47,293 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 88. [2022-02-20 17:03:47,293 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:03:47,293 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 88 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 58 states have internal predecessors, (60), 24 states have call successors, (24), 8 states have call predecessors, (24), 8 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:03:47,294 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 88 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 58 states have internal predecessors, (60), 24 states have call successors, (24), 8 states have call predecessors, (24), 8 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:03:47,294 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 88 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 58 states have internal predecessors, (60), 24 states have call successors, (24), 8 states have call predecessors, (24), 8 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:03:47,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:47,297 INFO L93 Difference]: Finished difference Result 96 states and 119 transitions. [2022-02-20 17:03:47,297 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 119 transitions. [2022-02-20 17:03:47,298 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:47,298 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:03:47,298 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 58 states have internal predecessors, (60), 24 states have call successors, (24), 8 states have call predecessors, (24), 8 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 96 states. [2022-02-20 17:03:47,298 INFO L87 Difference]: Start difference. First operand has 88 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 58 states have internal predecessors, (60), 24 states have call successors, (24), 8 states have call predecessors, (24), 8 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 96 states. [2022-02-20 17:03:47,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:47,301 INFO L93 Difference]: Finished difference Result 96 states and 119 transitions. [2022-02-20 17:03:47,301 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 119 transitions. [2022-02-20 17:03:47,302 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:47,302 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:03:47,302 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:03:47,302 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:03:47,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 58 states have internal predecessors, (60), 24 states have call successors, (24), 8 states have call predecessors, (24), 8 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:03:47,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 107 transitions. [2022-02-20 17:03:47,305 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 107 transitions. Word has length 53 [2022-02-20 17:03:47,305 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:03:47,305 INFO L470 AbstractCegarLoop]: Abstraction has 88 states and 107 transitions. [2022-02-20 17:03:47,306 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 7 states have call successors, (19), 3 states have call predecessors, (19), 1 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-02-20 17:03:47,306 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 107 transitions. [2022-02-20 17:03:47,306 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-02-20 17:03:47,306 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:03:47,306 INFO L514 BasicCegarLoop]: trace histogram [8, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:03:47,323 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-02-20 17:03:47,516 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:03:47,516 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:03:47,517 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:03:47,517 INFO L85 PathProgramCache]: Analyzing trace with hash 302113055, now seen corresponding path program 1 times [2022-02-20 17:03:47,517 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:03:47,517 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [923916899] [2022-02-20 17:03:47,517 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:03:47,517 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:03:47,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:47,615 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 17:03:47,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:47,622 INFO L290 TraceCheckUtils]: 0: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:47,622 INFO L290 TraceCheckUtils]: 1: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:47,622 INFO L290 TraceCheckUtils]: 2: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:47,622 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2397#true} {2401#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} #70#return; {2401#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:47,623 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-02-20 17:03:47,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:47,630 INFO L290 TraceCheckUtils]: 0: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:47,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:47,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:47,631 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2397#true} {2401#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} #72#return; {2401#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:47,631 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-02-20 17:03:47,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:47,634 INFO L290 TraceCheckUtils]: 0: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:47,634 INFO L290 TraceCheckUtils]: 1: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:47,634 INFO L290 TraceCheckUtils]: 2: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:47,635 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2397#true} {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} #74#return; {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:47,635 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-02-20 17:03:47,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:47,638 INFO L290 TraceCheckUtils]: 0: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:47,638 INFO L290 TraceCheckUtils]: 1: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:47,638 INFO L290 TraceCheckUtils]: 2: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:47,639 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2397#true} {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} #76#return; {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:47,639 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 34 [2022-02-20 17:03:47,640 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:47,648 INFO L290 TraceCheckUtils]: 0: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:47,648 INFO L290 TraceCheckUtils]: 1: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:47,648 INFO L290 TraceCheckUtils]: 2: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:47,648 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2397#true} {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} #70#return; {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:47,649 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 39 [2022-02-20 17:03:47,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:47,656 INFO L290 TraceCheckUtils]: 0: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:47,656 INFO L290 TraceCheckUtils]: 1: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:47,656 INFO L290 TraceCheckUtils]: 2: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:47,657 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2397#true} {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} #72#return; {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:47,657 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-02-20 17:03:47,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:47,660 INFO L290 TraceCheckUtils]: 0: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:47,661 INFO L290 TraceCheckUtils]: 1: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:47,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:47,661 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2397#true} {2427#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} #74#return; {2427#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:47,661 INFO L290 TraceCheckUtils]: 0: Hoare triple {2397#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(9, 2); {2397#true} is VALID [2022-02-20 17:03:47,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {2397#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~nondet2#1, main_#t~post4#1, main_#t~post5#1, main_#t~nondet3#1, main_#t~post6#1, main_#t~post7#1, main_~in~0#1, main_~inlen~0#1, main_~bufferlen~0#1, main_~buf~0#1, main_~buflim~0#1;havoc main_~in~0#1;assume -2147483648 <= main_#t~nondet1#1 && main_#t~nondet1#1 <= 2147483647;main_~inlen~0#1 := main_#t~nondet1#1;havoc main_#t~nondet1#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~bufferlen~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1;havoc main_~buf~0#1;havoc main_~buflim~0#1; {2397#true} is VALID [2022-02-20 17:03:47,662 INFO L290 TraceCheckUtils]: 2: Hoare triple {2397#true} assume main_~bufferlen~0#1 > 1; {2399#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:47,662 INFO L290 TraceCheckUtils]: 3: Hoare triple {2399#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~inlen~0#1 > 0; {2399#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:47,667 INFO L290 TraceCheckUtils]: 4: Hoare triple {2399#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~bufferlen~0#1 < main_~inlen~0#1; {2400#(<= 3 |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:47,668 INFO L290 TraceCheckUtils]: 5: Hoare triple {2400#(<= 3 |ULTIMATE.start_main_~inlen~0#1|)} main_~buf~0#1 := 0;main_~in~0#1 := 0;main_~buflim~0#1 := main_~bufferlen~0#1 - 2; {2401#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:47,668 INFO L290 TraceCheckUtils]: 6: Hoare triple {2401#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {2401#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:47,668 INFO L290 TraceCheckUtils]: 7: Hoare triple {2401#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {2401#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:47,669 INFO L290 TraceCheckUtils]: 8: Hoare triple {2401#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} assume !(main_~buf~0#1 == main_~buflim~0#1); {2401#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:47,669 INFO L272 TraceCheckUtils]: 9: Hoare triple {2401#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:47,669 INFO L290 TraceCheckUtils]: 10: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:47,669 INFO L290 TraceCheckUtils]: 11: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:47,669 INFO L290 TraceCheckUtils]: 12: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:47,670 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {2397#true} {2401#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} #70#return; {2401#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:47,670 INFO L272 TraceCheckUtils]: 14: Hoare triple {2401#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:47,670 INFO L290 TraceCheckUtils]: 15: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:47,670 INFO L290 TraceCheckUtils]: 16: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:47,670 INFO L290 TraceCheckUtils]: 17: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:47,671 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2397#true} {2401#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} #72#return; {2401#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:47,671 INFO L290 TraceCheckUtils]: 19: Hoare triple {2401#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2401#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:47,671 INFO L290 TraceCheckUtils]: 20: Hoare triple {2401#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~in~0#1| 0))} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:47,672 INFO L272 TraceCheckUtils]: 21: Hoare triple {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:47,672 INFO L290 TraceCheckUtils]: 22: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:47,672 INFO L290 TraceCheckUtils]: 23: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:47,672 INFO L290 TraceCheckUtils]: 24: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:47,672 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {2397#true} {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} #74#return; {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:47,672 INFO L272 TraceCheckUtils]: 26: Hoare triple {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:47,673 INFO L290 TraceCheckUtils]: 27: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:47,673 INFO L290 TraceCheckUtils]: 28: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:47,673 INFO L290 TraceCheckUtils]: 29: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:47,673 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2397#true} {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} #76#return; {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:47,674 INFO L290 TraceCheckUtils]: 31: Hoare triple {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:47,675 INFO L290 TraceCheckUtils]: 32: Hoare triple {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:47,675 INFO L290 TraceCheckUtils]: 33: Hoare triple {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} assume !(main_~buf~0#1 == main_~buflim~0#1); {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:47,675 INFO L272 TraceCheckUtils]: 34: Hoare triple {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:47,675 INFO L290 TraceCheckUtils]: 35: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:47,675 INFO L290 TraceCheckUtils]: 36: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:47,676 INFO L290 TraceCheckUtils]: 37: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:47,676 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2397#true} {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} #70#return; {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:47,676 INFO L272 TraceCheckUtils]: 39: Hoare triple {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:47,676 INFO L290 TraceCheckUtils]: 40: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:47,676 INFO L290 TraceCheckUtils]: 41: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:47,677 INFO L290 TraceCheckUtils]: 42: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:47,677 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2397#true} {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} #72#return; {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:47,677 INFO L290 TraceCheckUtils]: 44: Hoare triple {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:47,678 INFO L290 TraceCheckUtils]: 45: Hoare triple {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {2427#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:47,678 INFO L272 TraceCheckUtils]: 46: Hoare triple {2427#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:47,678 INFO L290 TraceCheckUtils]: 47: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:47,678 INFO L290 TraceCheckUtils]: 48: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:47,678 INFO L290 TraceCheckUtils]: 49: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:47,679 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2397#true} {2427#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} #74#return; {2427#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:47,679 INFO L272 TraceCheckUtils]: 51: Hoare triple {2427#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {2432#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:47,680 INFO L290 TraceCheckUtils]: 52: Hoare triple {2432#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {2433#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:03:47,680 INFO L290 TraceCheckUtils]: 53: Hoare triple {2433#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {2398#false} is VALID [2022-02-20 17:03:47,680 INFO L290 TraceCheckUtils]: 54: Hoare triple {2398#false} assume !false; {2398#false} is VALID [2022-02-20 17:03:47,680 INFO L134 CoverageAnalysis]: Checked inductivity of 107 backedges. 14 proven. 9 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-02-20 17:03:47,681 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:03:47,681 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [923916899] [2022-02-20 17:03:47,681 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [923916899] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 17:03:47,681 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [85245482] [2022-02-20 17:03:47,681 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:03:47,681 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:03:47,682 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:03:47,688 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:03:47,689 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-02-20 17:03:47,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:47,735 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 17:03:47,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:47,748 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:03:48,122 INFO L290 TraceCheckUtils]: 0: Hoare triple {2397#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(9, 2); {2397#true} is VALID [2022-02-20 17:03:48,122 INFO L290 TraceCheckUtils]: 1: Hoare triple {2397#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~nondet2#1, main_#t~post4#1, main_#t~post5#1, main_#t~nondet3#1, main_#t~post6#1, main_#t~post7#1, main_~in~0#1, main_~inlen~0#1, main_~bufferlen~0#1, main_~buf~0#1, main_~buflim~0#1;havoc main_~in~0#1;assume -2147483648 <= main_#t~nondet1#1 && main_#t~nondet1#1 <= 2147483647;main_~inlen~0#1 := main_#t~nondet1#1;havoc main_#t~nondet1#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~bufferlen~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1;havoc main_~buf~0#1;havoc main_~buflim~0#1; {2397#true} is VALID [2022-02-20 17:03:48,122 INFO L290 TraceCheckUtils]: 2: Hoare triple {2397#true} assume main_~bufferlen~0#1 > 1; {2399#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:48,122 INFO L290 TraceCheckUtils]: 3: Hoare triple {2399#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~inlen~0#1 > 0; {2399#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:48,123 INFO L290 TraceCheckUtils]: 4: Hoare triple {2399#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~bufferlen~0#1 < main_~inlen~0#1; {2400#(<= 3 |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:48,123 INFO L290 TraceCheckUtils]: 5: Hoare triple {2400#(<= 3 |ULTIMATE.start_main_~inlen~0#1|)} main_~buf~0#1 := 0;main_~in~0#1 := 0;main_~buflim~0#1 := main_~bufferlen~0#1 - 2; {2452#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:48,123 INFO L290 TraceCheckUtils]: 6: Hoare triple {2452#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {2452#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:48,124 INFO L290 TraceCheckUtils]: 7: Hoare triple {2452#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {2452#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:48,124 INFO L290 TraceCheckUtils]: 8: Hoare triple {2452#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} assume !(main_~buf~0#1 == main_~buflim~0#1); {2452#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:48,124 INFO L272 TraceCheckUtils]: 9: Hoare triple {2452#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:48,124 INFO L290 TraceCheckUtils]: 10: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:48,124 INFO L290 TraceCheckUtils]: 11: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:48,124 INFO L290 TraceCheckUtils]: 12: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:48,125 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {2397#true} {2452#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} #70#return; {2452#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:48,125 INFO L272 TraceCheckUtils]: 14: Hoare triple {2452#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:48,125 INFO L290 TraceCheckUtils]: 15: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:48,125 INFO L290 TraceCheckUtils]: 16: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:48,125 INFO L290 TraceCheckUtils]: 17: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:48,126 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2397#true} {2452#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} #72#return; {2452#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:48,126 INFO L290 TraceCheckUtils]: 19: Hoare triple {2452#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2452#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:48,126 INFO L290 TraceCheckUtils]: 20: Hoare triple {2452#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} is VALID [2022-02-20 17:03:48,126 INFO L272 TraceCheckUtils]: 21: Hoare triple {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:48,126 INFO L290 TraceCheckUtils]: 22: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:48,126 INFO L290 TraceCheckUtils]: 23: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:48,127 INFO L290 TraceCheckUtils]: 24: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:48,129 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {2397#true} {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} #74#return; {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} is VALID [2022-02-20 17:03:48,129 INFO L272 TraceCheckUtils]: 26: Hoare triple {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:48,129 INFO L290 TraceCheckUtils]: 27: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:48,129 INFO L290 TraceCheckUtils]: 28: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:48,129 INFO L290 TraceCheckUtils]: 29: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:48,129 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2397#true} {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} #76#return; {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} is VALID [2022-02-20 17:03:48,130 INFO L290 TraceCheckUtils]: 31: Hoare triple {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} is VALID [2022-02-20 17:03:48,130 INFO L290 TraceCheckUtils]: 32: Hoare triple {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} is VALID [2022-02-20 17:03:48,130 INFO L290 TraceCheckUtils]: 33: Hoare triple {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} assume !(main_~buf~0#1 == main_~buflim~0#1); {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} is VALID [2022-02-20 17:03:48,130 INFO L272 TraceCheckUtils]: 34: Hoare triple {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:48,130 INFO L290 TraceCheckUtils]: 35: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:48,130 INFO L290 TraceCheckUtils]: 36: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:48,131 INFO L290 TraceCheckUtils]: 37: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:48,131 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2397#true} {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} #70#return; {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} is VALID [2022-02-20 17:03:48,131 INFO L272 TraceCheckUtils]: 39: Hoare triple {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:48,131 INFO L290 TraceCheckUtils]: 40: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:48,131 INFO L290 TraceCheckUtils]: 41: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:48,131 INFO L290 TraceCheckUtils]: 42: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:48,132 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2397#true} {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} #72#return; {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} is VALID [2022-02-20 17:03:48,132 INFO L290 TraceCheckUtils]: 44: Hoare triple {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} is VALID [2022-02-20 17:03:48,132 INFO L290 TraceCheckUtils]: 45: Hoare triple {2498#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 1))} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {2574#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 2))} is VALID [2022-02-20 17:03:48,133 INFO L272 TraceCheckUtils]: 46: Hoare triple {2574#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 2))} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:48,133 INFO L290 TraceCheckUtils]: 47: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:48,133 INFO L290 TraceCheckUtils]: 48: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:48,133 INFO L290 TraceCheckUtils]: 49: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:48,133 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2397#true} {2574#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 2))} #74#return; {2574#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 2))} is VALID [2022-02-20 17:03:48,134 INFO L272 TraceCheckUtils]: 51: Hoare triple {2574#(and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 2))} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {2593#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:03:48,134 INFO L290 TraceCheckUtils]: 52: Hoare triple {2593#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2597#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:03:48,134 INFO L290 TraceCheckUtils]: 53: Hoare triple {2597#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2398#false} is VALID [2022-02-20 17:03:48,134 INFO L290 TraceCheckUtils]: 54: Hoare triple {2398#false} assume !false; {2398#false} is VALID [2022-02-20 17:03:48,135 INFO L134 CoverageAnalysis]: Checked inductivity of 107 backedges. 14 proven. 9 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-02-20 17:03:48,135 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:03:48,384 INFO L290 TraceCheckUtils]: 54: Hoare triple {2398#false} assume !false; {2398#false} is VALID [2022-02-20 17:03:48,384 INFO L290 TraceCheckUtils]: 53: Hoare triple {2597#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2398#false} is VALID [2022-02-20 17:03:48,385 INFO L290 TraceCheckUtils]: 52: Hoare triple {2593#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2597#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:03:48,385 INFO L272 TraceCheckUtils]: 51: Hoare triple {2427#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {2593#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:03:48,386 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2397#true} {2427#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} #74#return; {2427#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:48,386 INFO L290 TraceCheckUtils]: 49: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:48,386 INFO L290 TraceCheckUtils]: 48: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:48,386 INFO L290 TraceCheckUtils]: 47: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:48,386 INFO L272 TraceCheckUtils]: 46: Hoare triple {2427#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:48,387 INFO L290 TraceCheckUtils]: 45: Hoare triple {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {2427#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:48,387 INFO L290 TraceCheckUtils]: 44: Hoare triple {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:48,388 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2397#true} {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} #72#return; {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:48,388 INFO L290 TraceCheckUtils]: 42: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:48,388 INFO L290 TraceCheckUtils]: 41: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:48,388 INFO L290 TraceCheckUtils]: 40: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:48,388 INFO L272 TraceCheckUtils]: 39: Hoare triple {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:48,389 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2397#true} {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} #70#return; {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:48,389 INFO L290 TraceCheckUtils]: 37: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:48,389 INFO L290 TraceCheckUtils]: 36: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:48,389 INFO L290 TraceCheckUtils]: 35: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:48,389 INFO L272 TraceCheckUtils]: 34: Hoare triple {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:48,392 INFO L290 TraceCheckUtils]: 33: Hoare triple {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} assume !(main_~buf~0#1 == main_~buflim~0#1); {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:48,392 INFO L290 TraceCheckUtils]: 32: Hoare triple {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:48,393 INFO L290 TraceCheckUtils]: 31: Hoare triple {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:48,393 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2397#true} {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} #76#return; {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:48,393 INFO L290 TraceCheckUtils]: 29: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:48,393 INFO L290 TraceCheckUtils]: 28: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:48,394 INFO L290 TraceCheckUtils]: 27: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:48,394 INFO L272 TraceCheckUtils]: 26: Hoare triple {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:48,394 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {2397#true} {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} #74#return; {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:48,394 INFO L290 TraceCheckUtils]: 24: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:48,394 INFO L290 TraceCheckUtils]: 23: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:48,395 INFO L290 TraceCheckUtils]: 22: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:48,395 INFO L272 TraceCheckUtils]: 21: Hoare triple {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:48,395 INFO L290 TraceCheckUtils]: 20: Hoare triple {2706#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {2410#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:48,396 INFO L290 TraceCheckUtils]: 19: Hoare triple {2706#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2706#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:48,396 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2397#true} {2706#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} #72#return; {2706#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:48,396 INFO L290 TraceCheckUtils]: 17: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:48,396 INFO L290 TraceCheckUtils]: 16: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:48,397 INFO L290 TraceCheckUtils]: 15: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:48,397 INFO L272 TraceCheckUtils]: 14: Hoare triple {2706#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:48,397 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {2397#true} {2706#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} #70#return; {2706#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:48,397 INFO L290 TraceCheckUtils]: 12: Hoare triple {2397#true} assume true; {2397#true} is VALID [2022-02-20 17:03:48,398 INFO L290 TraceCheckUtils]: 11: Hoare triple {2397#true} assume !(0 == ~cond); {2397#true} is VALID [2022-02-20 17:03:48,398 INFO L290 TraceCheckUtils]: 10: Hoare triple {2397#true} ~cond := #in~cond; {2397#true} is VALID [2022-02-20 17:03:48,398 INFO L272 TraceCheckUtils]: 9: Hoare triple {2706#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {2397#true} is VALID [2022-02-20 17:03:48,398 INFO L290 TraceCheckUtils]: 8: Hoare triple {2706#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} assume !(main_~buf~0#1 == main_~buflim~0#1); {2706#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:48,398 INFO L290 TraceCheckUtils]: 7: Hoare triple {2706#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {2706#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:48,399 INFO L290 TraceCheckUtils]: 6: Hoare triple {2706#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {2706#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:48,399 INFO L290 TraceCheckUtils]: 5: Hoare triple {2400#(<= 3 |ULTIMATE.start_main_~inlen~0#1|)} main_~buf~0#1 := 0;main_~in~0#1 := 0;main_~buflim~0#1 := main_~bufferlen~0#1 - 2; {2706#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:48,400 INFO L290 TraceCheckUtils]: 4: Hoare triple {2399#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~bufferlen~0#1 < main_~inlen~0#1; {2400#(<= 3 |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:48,400 INFO L290 TraceCheckUtils]: 3: Hoare triple {2399#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~inlen~0#1 > 0; {2399#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:48,401 INFO L290 TraceCheckUtils]: 2: Hoare triple {2397#true} assume main_~bufferlen~0#1 > 1; {2399#(<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:48,401 INFO L290 TraceCheckUtils]: 1: Hoare triple {2397#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~nondet2#1, main_#t~post4#1, main_#t~post5#1, main_#t~nondet3#1, main_#t~post6#1, main_#t~post7#1, main_~in~0#1, main_~inlen~0#1, main_~bufferlen~0#1, main_~buf~0#1, main_~buflim~0#1;havoc main_~in~0#1;assume -2147483648 <= main_#t~nondet1#1 && main_#t~nondet1#1 <= 2147483647;main_~inlen~0#1 := main_#t~nondet1#1;havoc main_#t~nondet1#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~bufferlen~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1;havoc main_~buf~0#1;havoc main_~buflim~0#1; {2397#true} is VALID [2022-02-20 17:03:48,401 INFO L290 TraceCheckUtils]: 0: Hoare triple {2397#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(9, 2); {2397#true} is VALID [2022-02-20 17:03:48,401 INFO L134 CoverageAnalysis]: Checked inductivity of 107 backedges. 14 proven. 9 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-02-20 17:03:48,401 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [85245482] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:03:48,401 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 17:03:48,402 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 15 [2022-02-20 17:03:48,402 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1363326673] [2022-02-20 17:03:48,402 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 17:03:48,402 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 3.1538461538461537) internal successors, (41), 13 states have internal predecessors, (41), 7 states have call successors, (19), 3 states have call predecessors, (19), 1 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 55 [2022-02-20 17:03:48,403 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:03:48,403 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 15 states, 13 states have (on average 3.1538461538461537) internal successors, (41), 13 states have internal predecessors, (41), 7 states have call successors, (19), 3 states have call predecessors, (19), 1 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-02-20 17:03:48,473 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:03:48,474 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 17:03:48,474 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:03:48,474 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 17:03:48,474 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2022-02-20 17:03:48,475 INFO L87 Difference]: Start difference. First operand 88 states and 107 transitions. Second operand has 15 states, 13 states have (on average 3.1538461538461537) internal successors, (41), 13 states have internal predecessors, (41), 7 states have call successors, (19), 3 states have call predecessors, (19), 1 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-02-20 17:03:48,963 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:48,963 INFO L93 Difference]: Finished difference Result 94 states and 112 transitions. [2022-02-20 17:03:48,964 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 17:03:48,964 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 3.1538461538461537) internal successors, (41), 13 states have internal predecessors, (41), 7 states have call successors, (19), 3 states have call predecessors, (19), 1 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 55 [2022-02-20 17:03:48,964 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:03:48,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 3.1538461538461537) internal successors, (41), 13 states have internal predecessors, (41), 7 states have call successors, (19), 3 states have call predecessors, (19), 1 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-02-20 17:03:48,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 74 transitions. [2022-02-20 17:03:48,966 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 3.1538461538461537) internal successors, (41), 13 states have internal predecessors, (41), 7 states have call successors, (19), 3 states have call predecessors, (19), 1 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-02-20 17:03:48,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 74 transitions. [2022-02-20 17:03:48,967 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 74 transitions. [2022-02-20 17:03:49,024 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:03:49,025 INFO L225 Difference]: With dead ends: 94 [2022-02-20 17:03:49,025 INFO L226 Difference]: Without dead ends: 92 [2022-02-20 17:03:49,026 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 114 SyntacticMatches, 4 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 88 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=92, Invalid=288, Unknown=0, NotChecked=0, Total=380 [2022-02-20 17:03:49,026 INFO L933 BasicCegarLoop]: 40 mSDtfsCounter, 73 mSDsluCounter, 184 mSDsCounter, 0 mSdLazyCounter, 102 mSolverCounterSat, 59 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 224 SdHoareTripleChecker+Invalid, 161 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 59 IncrementalHoareTripleChecker+Valid, 102 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:03:49,026 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [73 Valid, 224 Invalid, 161 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [59 Valid, 102 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:03:49,027 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-02-20 17:03:49,108 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 92. [2022-02-20 17:03:49,108 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:03:49,108 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 92 states, 58 states have (on average 1.0862068965517242) internal successors, (63), 61 states have internal predecessors, (63), 24 states have call successors, (24), 9 states have call predecessors, (24), 9 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:03:49,108 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 92 states, 58 states have (on average 1.0862068965517242) internal successors, (63), 61 states have internal predecessors, (63), 24 states have call successors, (24), 9 states have call predecessors, (24), 9 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:03:49,109 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 92 states, 58 states have (on average 1.0862068965517242) internal successors, (63), 61 states have internal predecessors, (63), 24 states have call successors, (24), 9 states have call predecessors, (24), 9 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:03:49,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:49,111 INFO L93 Difference]: Finished difference Result 92 states and 110 transitions. [2022-02-20 17:03:49,111 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 110 transitions. [2022-02-20 17:03:49,111 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:49,111 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:03:49,112 INFO L74 IsIncluded]: Start isIncluded. First operand has 92 states, 58 states have (on average 1.0862068965517242) internal successors, (63), 61 states have internal predecessors, (63), 24 states have call successors, (24), 9 states have call predecessors, (24), 9 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 92 states. [2022-02-20 17:03:49,112 INFO L87 Difference]: Start difference. First operand has 92 states, 58 states have (on average 1.0862068965517242) internal successors, (63), 61 states have internal predecessors, (63), 24 states have call successors, (24), 9 states have call predecessors, (24), 9 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 92 states. [2022-02-20 17:03:49,114 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:49,114 INFO L93 Difference]: Finished difference Result 92 states and 110 transitions. [2022-02-20 17:03:49,114 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 110 transitions. [2022-02-20 17:03:49,114 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:49,114 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:03:49,114 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:03:49,114 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:03:49,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 92 states, 58 states have (on average 1.0862068965517242) internal successors, (63), 61 states have internal predecessors, (63), 24 states have call successors, (24), 9 states have call predecessors, (24), 9 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:03:49,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 110 transitions. [2022-02-20 17:03:49,117 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 110 transitions. Word has length 55 [2022-02-20 17:03:49,117 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:03:49,117 INFO L470 AbstractCegarLoop]: Abstraction has 92 states and 110 transitions. [2022-02-20 17:03:49,118 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 13 states have (on average 3.1538461538461537) internal successors, (41), 13 states have internal predecessors, (41), 7 states have call successors, (19), 3 states have call predecessors, (19), 1 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-02-20 17:03:49,118 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 110 transitions. [2022-02-20 17:03:49,118 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-02-20 17:03:49,118 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:03:49,118 INFO L514 BasicCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:03:49,137 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 17:03:49,331 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable7 [2022-02-20 17:03:49,332 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:03:49,332 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:03:49,332 INFO L85 PathProgramCache]: Analyzing trace with hash 847231248, now seen corresponding path program 2 times [2022-02-20 17:03:49,332 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:03:49,332 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1101541122] [2022-02-20 17:03:49,332 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:03:49,332 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:03:49,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:49,451 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 17:03:49,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:49,459 INFO L290 TraceCheckUtils]: 0: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:49,459 INFO L290 TraceCheckUtils]: 1: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:49,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:49,460 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3222#true} {3225#(and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~in~0#1| 0))} #70#return; {3225#(and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:49,460 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-02-20 17:03:49,465 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:49,472 INFO L290 TraceCheckUtils]: 0: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:49,472 INFO L290 TraceCheckUtils]: 1: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:49,472 INFO L290 TraceCheckUtils]: 2: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:49,473 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3222#true} {3225#(and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~in~0#1| 0))} #72#return; {3225#(and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:49,473 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-02-20 17:03:49,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:49,478 INFO L290 TraceCheckUtils]: 0: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:49,478 INFO L290 TraceCheckUtils]: 1: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:49,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:49,478 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3222#true} {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} #74#return; {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,478 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-02-20 17:03:49,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:49,483 INFO L290 TraceCheckUtils]: 0: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:49,483 INFO L290 TraceCheckUtils]: 1: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:49,483 INFO L290 TraceCheckUtils]: 2: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:49,483 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3222#true} {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} #76#return; {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,483 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 34 [2022-02-20 17:03:49,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:49,489 INFO L290 TraceCheckUtils]: 0: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:49,489 INFO L290 TraceCheckUtils]: 1: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:49,489 INFO L290 TraceCheckUtils]: 2: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:49,490 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3222#true} {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} #70#return; {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,490 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 39 [2022-02-20 17:03:49,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:49,493 INFO L290 TraceCheckUtils]: 0: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:49,494 INFO L290 TraceCheckUtils]: 1: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:49,494 INFO L290 TraceCheckUtils]: 2: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:49,494 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3222#true} {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} #72#return; {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,494 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-02-20 17:03:49,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:49,500 INFO L290 TraceCheckUtils]: 0: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:49,501 INFO L290 TraceCheckUtils]: 1: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:49,501 INFO L290 TraceCheckUtils]: 2: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:49,501 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3222#true} {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} #74#return; {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,501 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 51 [2022-02-20 17:03:49,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:49,506 INFO L290 TraceCheckUtils]: 0: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:49,506 INFO L290 TraceCheckUtils]: 1: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:49,506 INFO L290 TraceCheckUtils]: 2: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:49,507 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3222#true} {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} #76#return; {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,507 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-02-20 17:03:49,508 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:49,510 INFO L290 TraceCheckUtils]: 0: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:49,510 INFO L290 TraceCheckUtils]: 1: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:49,510 INFO L290 TraceCheckUtils]: 2: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:49,510 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3222#true} {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} #70#return; {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,511 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 64 [2022-02-20 17:03:49,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:49,525 INFO L290 TraceCheckUtils]: 0: Hoare triple {3222#true} ~cond := #in~cond; {3277#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:03:49,526 INFO L290 TraceCheckUtils]: 1: Hoare triple {3277#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:49,526 INFO L290 TraceCheckUtils]: 2: Hoare triple {3275#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:49,527 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3275#(not (= |__VERIFIER_assert_#in~cond| 0))} {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} #72#return; {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:49,527 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 71 [2022-02-20 17:03:49,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:49,531 INFO L290 TraceCheckUtils]: 0: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:49,531 INFO L290 TraceCheckUtils]: 1: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:49,531 INFO L290 TraceCheckUtils]: 2: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:49,532 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3222#true} {3270#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} #74#return; {3270#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:49,532 INFO L290 TraceCheckUtils]: 0: Hoare triple {3222#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(9, 2); {3222#true} is VALID [2022-02-20 17:03:49,532 INFO L290 TraceCheckUtils]: 1: Hoare triple {3222#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~nondet2#1, main_#t~post4#1, main_#t~post5#1, main_#t~nondet3#1, main_#t~post6#1, main_#t~post7#1, main_~in~0#1, main_~inlen~0#1, main_~bufferlen~0#1, main_~buf~0#1, main_~buflim~0#1;havoc main_~in~0#1;assume -2147483648 <= main_#t~nondet1#1 && main_#t~nondet1#1 <= 2147483647;main_~inlen~0#1 := main_#t~nondet1#1;havoc main_#t~nondet1#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~bufferlen~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1;havoc main_~buf~0#1;havoc main_~buflim~0#1; {3222#true} is VALID [2022-02-20 17:03:49,532 INFO L290 TraceCheckUtils]: 2: Hoare triple {3222#true} assume main_~bufferlen~0#1 > 1; {3222#true} is VALID [2022-02-20 17:03:49,532 INFO L290 TraceCheckUtils]: 3: Hoare triple {3222#true} assume main_~inlen~0#1 > 0; {3222#true} is VALID [2022-02-20 17:03:49,532 INFO L290 TraceCheckUtils]: 4: Hoare triple {3222#true} assume main_~bufferlen~0#1 < main_~inlen~0#1; {3224#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:49,533 INFO L290 TraceCheckUtils]: 5: Hoare triple {3224#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} main_~buf~0#1 := 0;main_~in~0#1 := 0;main_~buflim~0#1 := main_~bufferlen~0#1 - 2; {3225#(and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:49,533 INFO L290 TraceCheckUtils]: 6: Hoare triple {3225#(and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~in~0#1| 0))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {3225#(and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:49,533 INFO L290 TraceCheckUtils]: 7: Hoare triple {3225#(and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~in~0#1| 0))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {3225#(and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:49,534 INFO L290 TraceCheckUtils]: 8: Hoare triple {3225#(and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~in~0#1| 0))} assume !(main_~buf~0#1 == main_~buflim~0#1); {3225#(and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:49,534 INFO L272 TraceCheckUtils]: 9: Hoare triple {3225#(and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~in~0#1| 0))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:49,534 INFO L290 TraceCheckUtils]: 10: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:49,534 INFO L290 TraceCheckUtils]: 11: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:49,534 INFO L290 TraceCheckUtils]: 12: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:49,535 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {3222#true} {3225#(and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~in~0#1| 0))} #70#return; {3225#(and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:49,535 INFO L272 TraceCheckUtils]: 14: Hoare triple {3225#(and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~in~0#1| 0))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:49,535 INFO L290 TraceCheckUtils]: 15: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:49,535 INFO L290 TraceCheckUtils]: 16: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:49,535 INFO L290 TraceCheckUtils]: 17: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:49,535 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3222#true} {3225#(and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~in~0#1| 0))} #72#return; {3225#(and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:49,536 INFO L290 TraceCheckUtils]: 19: Hoare triple {3225#(and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~in~0#1| 0))} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3234#(and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 2) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|)) (= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:49,536 INFO L290 TraceCheckUtils]: 20: Hoare triple {3234#(and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| 2) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|)) (= |ULTIMATE.start_main_~in~0#1| 0))} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,536 INFO L272 TraceCheckUtils]: 21: Hoare triple {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:49,536 INFO L290 TraceCheckUtils]: 22: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:49,536 INFO L290 TraceCheckUtils]: 23: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:49,536 INFO L290 TraceCheckUtils]: 24: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:49,537 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {3222#true} {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} #74#return; {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,537 INFO L272 TraceCheckUtils]: 26: Hoare triple {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:49,537 INFO L290 TraceCheckUtils]: 27: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:49,537 INFO L290 TraceCheckUtils]: 28: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:49,537 INFO L290 TraceCheckUtils]: 29: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:49,537 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {3222#true} {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} #76#return; {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,538 INFO L290 TraceCheckUtils]: 31: Hoare triple {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,538 INFO L290 TraceCheckUtils]: 32: Hoare triple {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,538 INFO L290 TraceCheckUtils]: 33: Hoare triple {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} assume !(main_~buf~0#1 == main_~buflim~0#1); {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,539 INFO L272 TraceCheckUtils]: 34: Hoare triple {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:49,539 INFO L290 TraceCheckUtils]: 35: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:49,539 INFO L290 TraceCheckUtils]: 36: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:49,539 INFO L290 TraceCheckUtils]: 37: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:49,539 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3222#true} {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} #70#return; {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,539 INFO L272 TraceCheckUtils]: 39: Hoare triple {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:49,539 INFO L290 TraceCheckUtils]: 40: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:49,539 INFO L290 TraceCheckUtils]: 41: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:49,539 INFO L290 TraceCheckUtils]: 42: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:49,540 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3222#true} {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} #72#return; {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,540 INFO L290 TraceCheckUtils]: 44: Hoare triple {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3252#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 2) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,541 INFO L290 TraceCheckUtils]: 45: Hoare triple {3252#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 2) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,541 INFO L272 TraceCheckUtils]: 46: Hoare triple {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:49,541 INFO L290 TraceCheckUtils]: 47: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:49,541 INFO L290 TraceCheckUtils]: 48: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:49,541 INFO L290 TraceCheckUtils]: 49: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:49,541 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3222#true} {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} #74#return; {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,542 INFO L272 TraceCheckUtils]: 51: Hoare triple {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:49,542 INFO L290 TraceCheckUtils]: 52: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:49,542 INFO L290 TraceCheckUtils]: 53: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:49,542 INFO L290 TraceCheckUtils]: 54: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:49,542 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3222#true} {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} #76#return; {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,543 INFO L290 TraceCheckUtils]: 56: Hoare triple {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,543 INFO L290 TraceCheckUtils]: 57: Hoare triple {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,543 INFO L290 TraceCheckUtils]: 58: Hoare triple {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} assume !(main_~buf~0#1 == main_~buflim~0#1); {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,543 INFO L272 TraceCheckUtils]: 59: Hoare triple {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:49,543 INFO L290 TraceCheckUtils]: 60: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:49,543 INFO L290 TraceCheckUtils]: 61: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:49,544 INFO L290 TraceCheckUtils]: 62: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:49,544 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {3222#true} {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} #70#return; {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:49,545 INFO L272 TraceCheckUtils]: 64: Hoare triple {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:49,545 INFO L290 TraceCheckUtils]: 65: Hoare triple {3222#true} ~cond := #in~cond; {3277#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:03:49,545 INFO L290 TraceCheckUtils]: 66: Hoare triple {3277#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:49,545 INFO L290 TraceCheckUtils]: 67: Hoare triple {3275#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:49,546 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {3275#(not (= |__VERIFIER_assert_#in~cond| 0))} {3235#(<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|))} #72#return; {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:49,546 INFO L290 TraceCheckUtils]: 69: Hoare triple {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:49,547 INFO L290 TraceCheckUtils]: 70: Hoare triple {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {3270#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:49,547 INFO L272 TraceCheckUtils]: 71: Hoare triple {3270#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:49,547 INFO L290 TraceCheckUtils]: 72: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:49,547 INFO L290 TraceCheckUtils]: 73: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:49,547 INFO L290 TraceCheckUtils]: 74: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:49,547 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {3222#true} {3270#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} #74#return; {3270#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:49,548 INFO L272 TraceCheckUtils]: 76: Hoare triple {3270#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {3275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:49,548 INFO L290 TraceCheckUtils]: 77: Hoare triple {3275#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {3276#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:03:49,548 INFO L290 TraceCheckUtils]: 78: Hoare triple {3276#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {3223#false} is VALID [2022-02-20 17:03:49,549 INFO L290 TraceCheckUtils]: 79: Hoare triple {3223#false} assume !false; {3223#false} is VALID [2022-02-20 17:03:49,549 INFO L134 CoverageAnalysis]: Checked inductivity of 269 backedges. 48 proven. 24 refuted. 0 times theorem prover too weak. 197 trivial. 0 not checked. [2022-02-20 17:03:49,549 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:03:49,549 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1101541122] [2022-02-20 17:03:49,549 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1101541122] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 17:03:49,549 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1223054657] [2022-02-20 17:03:49,549 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 17:03:49,549 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:03:49,549 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:03:49,550 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:03:49,551 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-02-20 17:03:49,607 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 17:03:49,607 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 17:03:49,607 INFO L263 TraceCheckSpWp]: Trace formula consists of 166 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 17:03:49,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:49,623 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:03:50,265 INFO L290 TraceCheckUtils]: 0: Hoare triple {3222#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(9, 2); {3222#true} is VALID [2022-02-20 17:03:50,265 INFO L290 TraceCheckUtils]: 1: Hoare triple {3222#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~nondet2#1, main_#t~post4#1, main_#t~post5#1, main_#t~nondet3#1, main_#t~post6#1, main_#t~post7#1, main_~in~0#1, main_~inlen~0#1, main_~bufferlen~0#1, main_~buf~0#1, main_~buflim~0#1;havoc main_~in~0#1;assume -2147483648 <= main_#t~nondet1#1 && main_#t~nondet1#1 <= 2147483647;main_~inlen~0#1 := main_#t~nondet1#1;havoc main_#t~nondet1#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~bufferlen~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1;havoc main_~buf~0#1;havoc main_~buflim~0#1; {3222#true} is VALID [2022-02-20 17:03:50,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {3222#true} assume main_~bufferlen~0#1 > 1; {3287#(< 1 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:50,265 INFO L290 TraceCheckUtils]: 3: Hoare triple {3287#(< 1 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~inlen~0#1 > 0; {3287#(< 1 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:50,266 INFO L290 TraceCheckUtils]: 4: Hoare triple {3287#(< 1 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~bufferlen~0#1 < main_~inlen~0#1; {3294#(and (< 1 |ULTIMATE.start_main_~bufferlen~0#1|) (< |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,266 INFO L290 TraceCheckUtils]: 5: Hoare triple {3294#(and (< 1 |ULTIMATE.start_main_~bufferlen~0#1|) (< |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~inlen~0#1|))} main_~buf~0#1 := 0;main_~in~0#1 := 0;main_~buflim~0#1 := main_~bufferlen~0#1 - 2; {3298#(and (< 0 (+ |ULTIMATE.start_main_~buflim~0#1| 1)) (= |ULTIMATE.start_main_~buf~0#1| 0) (< (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:50,267 INFO L290 TraceCheckUtils]: 6: Hoare triple {3298#(and (< 0 (+ |ULTIMATE.start_main_~buflim~0#1| 1)) (= |ULTIMATE.start_main_~buf~0#1| 0) (< (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {3298#(and (< 0 (+ |ULTIMATE.start_main_~buflim~0#1| 1)) (= |ULTIMATE.start_main_~buf~0#1| 0) (< (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:50,267 INFO L290 TraceCheckUtils]: 7: Hoare triple {3298#(and (< 0 (+ |ULTIMATE.start_main_~buflim~0#1| 1)) (= |ULTIMATE.start_main_~buf~0#1| 0) (< (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {3298#(and (< 0 (+ |ULTIMATE.start_main_~buflim~0#1| 1)) (= |ULTIMATE.start_main_~buf~0#1| 0) (< (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} is VALID [2022-02-20 17:03:50,268 INFO L290 TraceCheckUtils]: 8: Hoare triple {3298#(and (< 0 (+ |ULTIMATE.start_main_~buflim~0#1| 1)) (= |ULTIMATE.start_main_~buf~0#1| 0) (< (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~inlen~0#1|) (<= |ULTIMATE.start_main_~in~0#1| 0))} assume !(main_~buf~0#1 == main_~buflim~0#1); {3308#(and (<= |ULTIMATE.start_main_~in~0#1| 0) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,268 INFO L272 TraceCheckUtils]: 9: Hoare triple {3308#(and (<= |ULTIMATE.start_main_~in~0#1| 0) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,268 INFO L290 TraceCheckUtils]: 10: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,268 INFO L290 TraceCheckUtils]: 11: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,268 INFO L290 TraceCheckUtils]: 12: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,268 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {3222#true} {3308#(and (<= |ULTIMATE.start_main_~in~0#1| 0) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} #70#return; {3308#(and (<= |ULTIMATE.start_main_~in~0#1| 0) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,268 INFO L272 TraceCheckUtils]: 14: Hoare triple {3308#(and (<= |ULTIMATE.start_main_~in~0#1| 0) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,268 INFO L290 TraceCheckUtils]: 15: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,269 INFO L290 TraceCheckUtils]: 16: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,269 INFO L290 TraceCheckUtils]: 17: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,269 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3222#true} {3308#(and (<= |ULTIMATE.start_main_~in~0#1| 0) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} #72#return; {3308#(and (<= |ULTIMATE.start_main_~in~0#1| 0) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,269 INFO L290 TraceCheckUtils]: 19: Hoare triple {3308#(and (<= |ULTIMATE.start_main_~in~0#1| 0) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3308#(and (<= |ULTIMATE.start_main_~in~0#1| 0) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,270 INFO L290 TraceCheckUtils]: 20: Hoare triple {3308#(and (<= |ULTIMATE.start_main_~in~0#1| 0) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,270 INFO L272 TraceCheckUtils]: 21: Hoare triple {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,270 INFO L290 TraceCheckUtils]: 22: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,270 INFO L290 TraceCheckUtils]: 23: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,270 INFO L290 TraceCheckUtils]: 24: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,271 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {3222#true} {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} #74#return; {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,271 INFO L272 TraceCheckUtils]: 26: Hoare triple {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,271 INFO L290 TraceCheckUtils]: 27: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,271 INFO L290 TraceCheckUtils]: 28: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,271 INFO L290 TraceCheckUtils]: 29: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,271 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {3222#true} {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} #76#return; {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,272 INFO L290 TraceCheckUtils]: 31: Hoare triple {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,272 INFO L290 TraceCheckUtils]: 32: Hoare triple {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,272 INFO L290 TraceCheckUtils]: 33: Hoare triple {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} assume !(main_~buf~0#1 == main_~buflim~0#1); {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,272 INFO L272 TraceCheckUtils]: 34: Hoare triple {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,272 INFO L290 TraceCheckUtils]: 35: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,272 INFO L290 TraceCheckUtils]: 36: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,272 INFO L290 TraceCheckUtils]: 37: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,273 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3222#true} {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} #70#return; {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,273 INFO L272 TraceCheckUtils]: 39: Hoare triple {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,273 INFO L290 TraceCheckUtils]: 40: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,273 INFO L290 TraceCheckUtils]: 41: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,273 INFO L290 TraceCheckUtils]: 42: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,273 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3222#true} {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} #72#return; {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,274 INFO L290 TraceCheckUtils]: 44: Hoare triple {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,274 INFO L290 TraceCheckUtils]: 45: Hoare triple {3345#(and (<= |ULTIMATE.start_main_~in~0#1| 1) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,274 INFO L272 TraceCheckUtils]: 46: Hoare triple {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,274 INFO L290 TraceCheckUtils]: 47: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,274 INFO L290 TraceCheckUtils]: 48: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,274 INFO L290 TraceCheckUtils]: 49: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,275 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3222#true} {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} #74#return; {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,275 INFO L272 TraceCheckUtils]: 51: Hoare triple {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,275 INFO L290 TraceCheckUtils]: 52: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,275 INFO L290 TraceCheckUtils]: 53: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,275 INFO L290 TraceCheckUtils]: 54: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,275 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3222#true} {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} #76#return; {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,276 INFO L290 TraceCheckUtils]: 56: Hoare triple {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,276 INFO L290 TraceCheckUtils]: 57: Hoare triple {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,276 INFO L290 TraceCheckUtils]: 58: Hoare triple {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} assume !(main_~buf~0#1 == main_~buflim~0#1); {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,276 INFO L272 TraceCheckUtils]: 59: Hoare triple {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,277 INFO L290 TraceCheckUtils]: 60: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,277 INFO L290 TraceCheckUtils]: 61: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,277 INFO L290 TraceCheckUtils]: 62: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,277 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {3222#true} {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} #70#return; {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,277 INFO L272 TraceCheckUtils]: 64: Hoare triple {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,277 INFO L290 TraceCheckUtils]: 65: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,277 INFO L290 TraceCheckUtils]: 66: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,277 INFO L290 TraceCheckUtils]: 67: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,278 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {3222#true} {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} #72#return; {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,278 INFO L290 TraceCheckUtils]: 69: Hoare triple {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,278 INFO L290 TraceCheckUtils]: 70: Hoare triple {3421#(and (<= |ULTIMATE.start_main_~in~0#1| 2) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {3497#(and (<= |ULTIMATE.start_main_~in~0#1| 3) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,278 INFO L272 TraceCheckUtils]: 71: Hoare triple {3497#(and (<= |ULTIMATE.start_main_~in~0#1| 3) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,279 INFO L290 TraceCheckUtils]: 72: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,279 INFO L290 TraceCheckUtils]: 73: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,279 INFO L290 TraceCheckUtils]: 74: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,279 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {3222#true} {3497#(and (<= |ULTIMATE.start_main_~in~0#1| 3) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} #74#return; {3497#(and (<= |ULTIMATE.start_main_~in~0#1| 3) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,279 INFO L272 TraceCheckUtils]: 76: Hoare triple {3497#(and (<= |ULTIMATE.start_main_~in~0#1| 3) (< 3 |ULTIMATE.start_main_~inlen~0#1|))} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {3516#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:03:50,280 INFO L290 TraceCheckUtils]: 77: Hoare triple {3516#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3520#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:03:50,280 INFO L290 TraceCheckUtils]: 78: Hoare triple {3520#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3223#false} is VALID [2022-02-20 17:03:50,280 INFO L290 TraceCheckUtils]: 79: Hoare triple {3223#false} assume !false; {3223#false} is VALID [2022-02-20 17:03:50,281 INFO L134 CoverageAnalysis]: Checked inductivity of 269 backedges. 22 proven. 27 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-02-20 17:03:50,281 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:03:50,663 INFO L290 TraceCheckUtils]: 79: Hoare triple {3223#false} assume !false; {3223#false} is VALID [2022-02-20 17:03:50,663 INFO L290 TraceCheckUtils]: 78: Hoare triple {3520#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3223#false} is VALID [2022-02-20 17:03:50,663 INFO L290 TraceCheckUtils]: 77: Hoare triple {3516#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3520#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:03:50,664 INFO L272 TraceCheckUtils]: 76: Hoare triple {3270#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {3516#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:03:50,664 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {3222#true} {3270#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} #74#return; {3270#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,664 INFO L290 TraceCheckUtils]: 74: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,665 INFO L290 TraceCheckUtils]: 73: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,665 INFO L290 TraceCheckUtils]: 72: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,665 INFO L272 TraceCheckUtils]: 71: Hoare triple {3270#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,672 INFO L290 TraceCheckUtils]: 70: Hoare triple {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {3270#(<= (+ |ULTIMATE.start_main_~in~0#1| 1) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,672 INFO L290 TraceCheckUtils]: 69: Hoare triple {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,672 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {3222#true} {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} #72#return; {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,672 INFO L290 TraceCheckUtils]: 67: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,672 INFO L290 TraceCheckUtils]: 66: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,673 INFO L290 TraceCheckUtils]: 65: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,673 INFO L272 TraceCheckUtils]: 64: Hoare triple {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,673 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {3222#true} {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} #70#return; {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,680 INFO L290 TraceCheckUtils]: 62: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,680 INFO L290 TraceCheckUtils]: 61: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,680 INFO L290 TraceCheckUtils]: 60: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,680 INFO L272 TraceCheckUtils]: 59: Hoare triple {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,681 INFO L290 TraceCheckUtils]: 58: Hoare triple {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} assume !(main_~buf~0#1 == main_~buflim~0#1); {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,681 INFO L290 TraceCheckUtils]: 57: Hoare triple {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,681 INFO L290 TraceCheckUtils]: 56: Hoare triple {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,682 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3222#true} {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} #76#return; {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,682 INFO L290 TraceCheckUtils]: 54: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,682 INFO L290 TraceCheckUtils]: 53: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,682 INFO L290 TraceCheckUtils]: 52: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,682 INFO L272 TraceCheckUtils]: 51: Hoare triple {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,682 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3222#true} {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} #74#return; {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,682 INFO L290 TraceCheckUtils]: 49: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,682 INFO L290 TraceCheckUtils]: 48: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,682 INFO L290 TraceCheckUtils]: 47: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,682 INFO L272 TraceCheckUtils]: 46: Hoare triple {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,683 INFO L290 TraceCheckUtils]: 45: Hoare triple {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {3269#(<= (+ |ULTIMATE.start_main_~in~0#1| 2) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,683 INFO L290 TraceCheckUtils]: 44: Hoare triple {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,684 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3222#true} {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} #72#return; {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,684 INFO L290 TraceCheckUtils]: 42: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,684 INFO L290 TraceCheckUtils]: 41: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,684 INFO L290 TraceCheckUtils]: 40: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,684 INFO L272 TraceCheckUtils]: 39: Hoare triple {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,684 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3222#true} {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} #70#return; {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,684 INFO L290 TraceCheckUtils]: 37: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,684 INFO L290 TraceCheckUtils]: 36: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,685 INFO L290 TraceCheckUtils]: 35: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,685 INFO L272 TraceCheckUtils]: 34: Hoare triple {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,685 INFO L290 TraceCheckUtils]: 33: Hoare triple {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} assume !(main_~buf~0#1 == main_~buflim~0#1); {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,685 INFO L290 TraceCheckUtils]: 32: Hoare triple {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,685 INFO L290 TraceCheckUtils]: 31: Hoare triple {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,686 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {3222#true} {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} #76#return; {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,686 INFO L290 TraceCheckUtils]: 29: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,686 INFO L290 TraceCheckUtils]: 28: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,686 INFO L290 TraceCheckUtils]: 27: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,686 INFO L272 TraceCheckUtils]: 26: Hoare triple {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,687 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {3222#true} {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} #74#return; {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,687 INFO L290 TraceCheckUtils]: 24: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,687 INFO L290 TraceCheckUtils]: 23: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,687 INFO L290 TraceCheckUtils]: 22: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,687 INFO L272 TraceCheckUtils]: 21: Hoare triple {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,687 INFO L290 TraceCheckUtils]: 20: Hoare triple {3705#(<= (+ |ULTIMATE.start_main_~in~0#1| 4) |ULTIMATE.start_main_~inlen~0#1|)} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {3629#(<= (+ |ULTIMATE.start_main_~in~0#1| 3) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,688 INFO L290 TraceCheckUtils]: 19: Hoare triple {3705#(<= (+ |ULTIMATE.start_main_~in~0#1| 4) |ULTIMATE.start_main_~inlen~0#1|)} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3705#(<= (+ |ULTIMATE.start_main_~in~0#1| 4) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,688 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3222#true} {3705#(<= (+ |ULTIMATE.start_main_~in~0#1| 4) |ULTIMATE.start_main_~inlen~0#1|)} #72#return; {3705#(<= (+ |ULTIMATE.start_main_~in~0#1| 4) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,688 INFO L290 TraceCheckUtils]: 17: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,688 INFO L290 TraceCheckUtils]: 16: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,688 INFO L290 TraceCheckUtils]: 15: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,688 INFO L272 TraceCheckUtils]: 14: Hoare triple {3705#(<= (+ |ULTIMATE.start_main_~in~0#1| 4) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,689 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {3222#true} {3705#(<= (+ |ULTIMATE.start_main_~in~0#1| 4) |ULTIMATE.start_main_~inlen~0#1|)} #70#return; {3705#(<= (+ |ULTIMATE.start_main_~in~0#1| 4) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,689 INFO L290 TraceCheckUtils]: 12: Hoare triple {3222#true} assume true; {3222#true} is VALID [2022-02-20 17:03:50,689 INFO L290 TraceCheckUtils]: 11: Hoare triple {3222#true} assume !(0 == ~cond); {3222#true} is VALID [2022-02-20 17:03:50,689 INFO L290 TraceCheckUtils]: 10: Hoare triple {3222#true} ~cond := #in~cond; {3222#true} is VALID [2022-02-20 17:03:50,689 INFO L272 TraceCheckUtils]: 9: Hoare triple {3705#(<= (+ |ULTIMATE.start_main_~in~0#1| 4) |ULTIMATE.start_main_~inlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {3222#true} is VALID [2022-02-20 17:03:50,689 INFO L290 TraceCheckUtils]: 8: Hoare triple {3742#(or (= |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~buflim~0#1|) (<= (+ |ULTIMATE.start_main_~in~0#1| 4) |ULTIMATE.start_main_~inlen~0#1|))} assume !(main_~buf~0#1 == main_~buflim~0#1); {3705#(<= (+ |ULTIMATE.start_main_~in~0#1| 4) |ULTIMATE.start_main_~inlen~0#1|)} is VALID [2022-02-20 17:03:50,690 INFO L290 TraceCheckUtils]: 7: Hoare triple {3742#(or (= |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~buflim~0#1|) (<= (+ |ULTIMATE.start_main_~in~0#1| 4) |ULTIMATE.start_main_~inlen~0#1|))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {3742#(or (= |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~buflim~0#1|) (<= (+ |ULTIMATE.start_main_~in~0#1| 4) |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,690 INFO L290 TraceCheckUtils]: 6: Hoare triple {3742#(or (= |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~buflim~0#1|) (<= (+ |ULTIMATE.start_main_~in~0#1| 4) |ULTIMATE.start_main_~inlen~0#1|))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {3742#(or (= |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~buflim~0#1|) (<= (+ |ULTIMATE.start_main_~in~0#1| 4) |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,690 INFO L290 TraceCheckUtils]: 5: Hoare triple {3752#(or (= (+ (- 2) |ULTIMATE.start_main_~bufferlen~0#1|) 0) (<= 4 |ULTIMATE.start_main_~inlen~0#1|))} main_~buf~0#1 := 0;main_~in~0#1 := 0;main_~buflim~0#1 := main_~bufferlen~0#1 - 2; {3742#(or (= |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~buflim~0#1|) (<= (+ |ULTIMATE.start_main_~in~0#1| 4) |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,691 INFO L290 TraceCheckUtils]: 4: Hoare triple {3287#(< 1 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~bufferlen~0#1 < main_~inlen~0#1; {3752#(or (= (+ (- 2) |ULTIMATE.start_main_~bufferlen~0#1|) 0) (<= 4 |ULTIMATE.start_main_~inlen~0#1|))} is VALID [2022-02-20 17:03:50,691 INFO L290 TraceCheckUtils]: 3: Hoare triple {3287#(< 1 |ULTIMATE.start_main_~bufferlen~0#1|)} assume main_~inlen~0#1 > 0; {3287#(< 1 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:50,691 INFO L290 TraceCheckUtils]: 2: Hoare triple {3222#true} assume main_~bufferlen~0#1 > 1; {3287#(< 1 |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:50,691 INFO L290 TraceCheckUtils]: 1: Hoare triple {3222#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~nondet2#1, main_#t~post4#1, main_#t~post5#1, main_#t~nondet3#1, main_#t~post6#1, main_#t~post7#1, main_~in~0#1, main_~inlen~0#1, main_~bufferlen~0#1, main_~buf~0#1, main_~buflim~0#1;havoc main_~in~0#1;assume -2147483648 <= main_#t~nondet1#1 && main_#t~nondet1#1 <= 2147483647;main_~inlen~0#1 := main_#t~nondet1#1;havoc main_#t~nondet1#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~bufferlen~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1;havoc main_~buf~0#1;havoc main_~buflim~0#1; {3222#true} is VALID [2022-02-20 17:03:50,704 INFO L290 TraceCheckUtils]: 0: Hoare triple {3222#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(9, 2); {3222#true} is VALID [2022-02-20 17:03:50,704 INFO L134 CoverageAnalysis]: Checked inductivity of 269 backedges. 22 proven. 27 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-02-20 17:03:50,704 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1223054657] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:03:50,704 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 17:03:50,704 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11, 11] total 25 [2022-02-20 17:03:50,704 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1081882201] [2022-02-20 17:03:50,704 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 17:03:50,705 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 23 states have (on average 2.739130434782609) internal successors, (63), 24 states have internal predecessors, (63), 10 states have call successors, (31), 3 states have call predecessors, (31), 2 states have return successors, (29), 10 states have call predecessors, (29), 10 states have call successors, (29) Word has length 80 [2022-02-20 17:03:50,705 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:03:50,706 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 25 states, 23 states have (on average 2.739130434782609) internal successors, (63), 24 states have internal predecessors, (63), 10 states have call successors, (31), 3 states have call predecessors, (31), 2 states have return successors, (29), 10 states have call predecessors, (29), 10 states have call successors, (29) [2022-02-20 17:03:50,788 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:03:50,788 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-02-20 17:03:50,788 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:03:50,789 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-02-20 17:03:50,789 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=511, Unknown=0, NotChecked=0, Total=600 [2022-02-20 17:03:50,790 INFO L87 Difference]: Start difference. First operand 92 states and 110 transitions. Second operand has 25 states, 23 states have (on average 2.739130434782609) internal successors, (63), 24 states have internal predecessors, (63), 10 states have call successors, (31), 3 states have call predecessors, (31), 2 states have return successors, (29), 10 states have call predecessors, (29), 10 states have call successors, (29) [2022-02-20 17:03:52,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:52,860 INFO L93 Difference]: Finished difference Result 109 states and 131 transitions. [2022-02-20 17:03:52,860 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-02-20 17:03:52,860 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 23 states have (on average 2.739130434782609) internal successors, (63), 24 states have internal predecessors, (63), 10 states have call successors, (31), 3 states have call predecessors, (31), 2 states have return successors, (29), 10 states have call predecessors, (29), 10 states have call successors, (29) Word has length 80 [2022-02-20 17:03:52,861 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:03:52,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 23 states have (on average 2.739130434782609) internal successors, (63), 24 states have internal predecessors, (63), 10 states have call successors, (31), 3 states have call predecessors, (31), 2 states have return successors, (29), 10 states have call predecessors, (29), 10 states have call successors, (29) [2022-02-20 17:03:52,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 107 transitions. [2022-02-20 17:03:52,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 23 states have (on average 2.739130434782609) internal successors, (63), 24 states have internal predecessors, (63), 10 states have call successors, (31), 3 states have call predecessors, (31), 2 states have return successors, (29), 10 states have call predecessors, (29), 10 states have call successors, (29) [2022-02-20 17:03:52,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 107 transitions. [2022-02-20 17:03:52,865 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states and 107 transitions. [2022-02-20 17:03:52,950 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:03:52,952 INFO L225 Difference]: With dead ends: 109 [2022-02-20 17:03:52,952 INFO L226 Difference]: Without dead ends: 107 [2022-02-20 17:03:52,952 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 212 GetRequests, 167 SyntacticMatches, 3 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 465 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=378, Invalid=1514, Unknown=0, NotChecked=0, Total=1892 [2022-02-20 17:03:52,953 INFO L933 BasicCegarLoop]: 21 mSDtfsCounter, 127 mSDsluCounter, 222 mSDsCounter, 0 mSdLazyCounter, 516 mSolverCounterSat, 254 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 127 SdHoareTripleChecker+Valid, 243 SdHoareTripleChecker+Invalid, 770 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 254 IncrementalHoareTripleChecker+Valid, 516 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-02-20 17:03:52,953 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [127 Valid, 243 Invalid, 770 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [254 Valid, 516 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-02-20 17:03:52,954 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2022-02-20 17:03:53,084 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 96. [2022-02-20 17:03:53,084 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:03:53,084 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand has 96 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 24 states have call successors, (24), 10 states have call predecessors, (24), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:03:53,087 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand has 96 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 24 states have call successors, (24), 10 states have call predecessors, (24), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:03:53,087 INFO L87 Difference]: Start difference. First operand 107 states. Second operand has 96 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 24 states have call successors, (24), 10 states have call predecessors, (24), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:03:53,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:53,098 INFO L93 Difference]: Finished difference Result 107 states and 129 transitions. [2022-02-20 17:03:53,098 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 129 transitions. [2022-02-20 17:03:53,099 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:53,099 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:03:53,099 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 24 states have call successors, (24), 10 states have call predecessors, (24), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 107 states. [2022-02-20 17:03:53,099 INFO L87 Difference]: Start difference. First operand has 96 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 24 states have call successors, (24), 10 states have call predecessors, (24), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 107 states. [2022-02-20 17:03:53,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:53,101 INFO L93 Difference]: Finished difference Result 107 states and 129 transitions. [2022-02-20 17:03:53,102 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 129 transitions. [2022-02-20 17:03:53,102 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:53,102 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:03:53,102 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:03:53,102 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:03:53,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 24 states have call successors, (24), 10 states have call predecessors, (24), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:03:53,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 113 transitions. [2022-02-20 17:03:53,104 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 113 transitions. Word has length 80 [2022-02-20 17:03:53,104 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:03:53,105 INFO L470 AbstractCegarLoop]: Abstraction has 96 states and 113 transitions. [2022-02-20 17:03:53,105 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 23 states have (on average 2.739130434782609) internal successors, (63), 24 states have internal predecessors, (63), 10 states have call successors, (31), 3 states have call predecessors, (31), 2 states have return successors, (29), 10 states have call predecessors, (29), 10 states have call successors, (29) [2022-02-20 17:03:53,105 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 113 transitions. [2022-02-20 17:03:53,106 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 104 [2022-02-20 17:03:53,106 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:03:53,106 INFO L514 BasicCegarLoop]: trace histogram [16, 15, 15, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:03:53,125 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-02-20 17:03:53,315 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:03:53,315 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:03:53,316 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:03:53,316 INFO L85 PathProgramCache]: Analyzing trace with hash 1329001986, now seen corresponding path program 2 times [2022-02-20 17:03:53,316 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:03:53,316 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [76652433] [2022-02-20 17:03:53,316 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:03:53,316 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:03:53,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:53,451 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 17:03:53,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:53,458 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,458 INFO L290 TraceCheckUtils]: 1: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,458 INFO L290 TraceCheckUtils]: 2: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,459 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #70#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,459 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-02-20 17:03:53,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:53,463 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,463 INFO L290 TraceCheckUtils]: 1: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,463 INFO L290 TraceCheckUtils]: 2: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,464 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #72#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,464 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-02-20 17:03:53,465 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:53,467 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,467 INFO L290 TraceCheckUtils]: 1: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,467 INFO L290 TraceCheckUtils]: 2: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,468 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #74#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,468 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-02-20 17:03:53,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:53,474 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,474 INFO L290 TraceCheckUtils]: 1: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,474 INFO L290 TraceCheckUtils]: 2: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,475 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #76#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,475 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 34 [2022-02-20 17:03:53,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:53,491 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,491 INFO L290 TraceCheckUtils]: 1: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,491 INFO L290 TraceCheckUtils]: 2: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,492 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #70#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,492 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 39 [2022-02-20 17:03:53,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:53,500 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,500 INFO L290 TraceCheckUtils]: 1: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,500 INFO L290 TraceCheckUtils]: 2: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,501 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #72#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,501 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-02-20 17:03:53,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:53,505 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,505 INFO L290 TraceCheckUtils]: 1: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,505 INFO L290 TraceCheckUtils]: 2: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,506 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4308#true} {4335#(and (or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (not (<= (+ |ULTIMATE.start_main_~buflim~0#1| 1) |ULTIMATE.start_main_~buf~0#1|))) (or (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buflim~0#1| |ULTIMATE.start_main_~buf~0#1|)))} #74#return; {4335#(and (or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (not (<= (+ |ULTIMATE.start_main_~buflim~0#1| 1) |ULTIMATE.start_main_~buf~0#1|))) (or (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buflim~0#1| |ULTIMATE.start_main_~buf~0#1|)))} is VALID [2022-02-20 17:03:53,506 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 51 [2022-02-20 17:03:53,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:53,512 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,512 INFO L290 TraceCheckUtils]: 1: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,512 INFO L290 TraceCheckUtils]: 2: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,513 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4308#true} {4335#(and (or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (not (<= (+ |ULTIMATE.start_main_~buflim~0#1| 1) |ULTIMATE.start_main_~buf~0#1|))) (or (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buflim~0#1| |ULTIMATE.start_main_~buf~0#1|)))} #76#return; {4335#(and (or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (not (<= (+ |ULTIMATE.start_main_~buflim~0#1| 1) |ULTIMATE.start_main_~buf~0#1|))) (or (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buflim~0#1| |ULTIMATE.start_main_~buf~0#1|)))} is VALID [2022-02-20 17:03:53,513 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-02-20 17:03:53,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:53,523 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,523 INFO L290 TraceCheckUtils]: 1: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,523 INFO L290 TraceCheckUtils]: 2: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,524 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4308#true} {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} #70#return; {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:53,524 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 64 [2022-02-20 17:03:53,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:53,527 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,527 INFO L290 TraceCheckUtils]: 1: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,527 INFO L290 TraceCheckUtils]: 2: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,527 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4308#true} {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} #72#return; {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:53,527 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 71 [2022-02-20 17:03:53,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:53,531 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,531 INFO L290 TraceCheckUtils]: 1: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,532 INFO L290 TraceCheckUtils]: 2: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,532 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4308#true} {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} #74#return; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:53,532 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 76 [2022-02-20 17:03:53,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:53,538 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,538 INFO L290 TraceCheckUtils]: 1: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,538 INFO L290 TraceCheckUtils]: 2: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,538 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4308#true} {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} #76#return; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:53,538 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 83 [2022-02-20 17:03:53,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:53,544 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,544 INFO L290 TraceCheckUtils]: 1: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,544 INFO L290 TraceCheckUtils]: 2: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,544 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4308#true} {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} #78#return; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:53,545 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 88 [2022-02-20 17:03:53,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:53,561 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#true} ~cond := #in~cond; {4378#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:03:53,561 INFO L290 TraceCheckUtils]: 1: Hoare triple {4378#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4376#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:53,562 INFO L290 TraceCheckUtils]: 2: Hoare triple {4376#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4376#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:53,562 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4376#(not (= |__VERIFIER_assert_#in~cond| 0))} {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} #80#return; {4370#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:53,562 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 94 [2022-02-20 17:03:53,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:53,565 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,565 INFO L290 TraceCheckUtils]: 1: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,565 INFO L290 TraceCheckUtils]: 2: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,566 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4308#true} {4371#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} #82#return; {4371#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:53,566 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(9, 2); {4308#true} is VALID [2022-02-20 17:03:53,566 INFO L290 TraceCheckUtils]: 1: Hoare triple {4308#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~nondet2#1, main_#t~post4#1, main_#t~post5#1, main_#t~nondet3#1, main_#t~post6#1, main_#t~post7#1, main_~in~0#1, main_~inlen~0#1, main_~bufferlen~0#1, main_~buf~0#1, main_~buflim~0#1;havoc main_~in~0#1;assume -2147483648 <= main_#t~nondet1#1 && main_#t~nondet1#1 <= 2147483647;main_~inlen~0#1 := main_#t~nondet1#1;havoc main_#t~nondet1#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~bufferlen~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1;havoc main_~buf~0#1;havoc main_~buflim~0#1; {4308#true} is VALID [2022-02-20 17:03:53,566 INFO L290 TraceCheckUtils]: 2: Hoare triple {4308#true} assume main_~bufferlen~0#1 > 1; {4308#true} is VALID [2022-02-20 17:03:53,566 INFO L290 TraceCheckUtils]: 3: Hoare triple {4308#true} assume main_~inlen~0#1 > 0; {4308#true} is VALID [2022-02-20 17:03:53,566 INFO L290 TraceCheckUtils]: 4: Hoare triple {4308#true} assume main_~bufferlen~0#1 < main_~inlen~0#1; {4308#true} is VALID [2022-02-20 17:03:53,566 INFO L290 TraceCheckUtils]: 5: Hoare triple {4308#true} main_~buf~0#1 := 0;main_~in~0#1 := 0;main_~buflim~0#1 := main_~bufferlen~0#1 - 2; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,567 INFO L290 TraceCheckUtils]: 6: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,567 INFO L290 TraceCheckUtils]: 7: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,567 INFO L290 TraceCheckUtils]: 8: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume !(main_~buf~0#1 == main_~buflim~0#1); {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,568 INFO L272 TraceCheckUtils]: 9: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:53,568 INFO L290 TraceCheckUtils]: 10: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,568 INFO L290 TraceCheckUtils]: 11: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,568 INFO L290 TraceCheckUtils]: 12: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,568 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #70#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,568 INFO L272 TraceCheckUtils]: 14: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:53,568 INFO L290 TraceCheckUtils]: 15: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,568 INFO L290 TraceCheckUtils]: 16: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,568 INFO L290 TraceCheckUtils]: 17: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,569 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #72#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,569 INFO L290 TraceCheckUtils]: 19: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,569 INFO L290 TraceCheckUtils]: 20: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,569 INFO L272 TraceCheckUtils]: 21: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:53,570 INFO L290 TraceCheckUtils]: 22: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,570 INFO L290 TraceCheckUtils]: 23: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,570 INFO L290 TraceCheckUtils]: 24: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,570 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #74#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,570 INFO L272 TraceCheckUtils]: 26: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:53,570 INFO L290 TraceCheckUtils]: 27: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,570 INFO L290 TraceCheckUtils]: 28: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,570 INFO L290 TraceCheckUtils]: 29: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,571 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #76#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,571 INFO L290 TraceCheckUtils]: 31: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,571 INFO L290 TraceCheckUtils]: 32: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,572 INFO L290 TraceCheckUtils]: 33: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume !(main_~buf~0#1 == main_~buflim~0#1); {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,572 INFO L272 TraceCheckUtils]: 34: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:53,572 INFO L290 TraceCheckUtils]: 35: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,572 INFO L290 TraceCheckUtils]: 36: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,572 INFO L290 TraceCheckUtils]: 37: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,572 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #70#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,572 INFO L272 TraceCheckUtils]: 39: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:53,573 INFO L290 TraceCheckUtils]: 40: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,573 INFO L290 TraceCheckUtils]: 41: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,573 INFO L290 TraceCheckUtils]: 42: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,573 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #72#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:53,573 INFO L290 TraceCheckUtils]: 44: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4335#(and (or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (not (<= (+ |ULTIMATE.start_main_~buflim~0#1| 1) |ULTIMATE.start_main_~buf~0#1|))) (or (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buflim~0#1| |ULTIMATE.start_main_~buf~0#1|)))} is VALID [2022-02-20 17:03:53,574 INFO L290 TraceCheckUtils]: 45: Hoare triple {4335#(and (or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (not (<= (+ |ULTIMATE.start_main_~buflim~0#1| 1) |ULTIMATE.start_main_~buf~0#1|))) (or (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buflim~0#1| |ULTIMATE.start_main_~buf~0#1|)))} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {4335#(and (or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (not (<= (+ |ULTIMATE.start_main_~buflim~0#1| 1) |ULTIMATE.start_main_~buf~0#1|))) (or (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buflim~0#1| |ULTIMATE.start_main_~buf~0#1|)))} is VALID [2022-02-20 17:03:53,574 INFO L272 TraceCheckUtils]: 46: Hoare triple {4335#(and (or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (not (<= (+ |ULTIMATE.start_main_~buflim~0#1| 1) |ULTIMATE.start_main_~buf~0#1|))) (or (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buflim~0#1| |ULTIMATE.start_main_~buf~0#1|)))} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:53,574 INFO L290 TraceCheckUtils]: 47: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,574 INFO L290 TraceCheckUtils]: 48: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,574 INFO L290 TraceCheckUtils]: 49: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,575 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4308#true} {4335#(and (or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (not (<= (+ |ULTIMATE.start_main_~buflim~0#1| 1) |ULTIMATE.start_main_~buf~0#1|))) (or (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buflim~0#1| |ULTIMATE.start_main_~buf~0#1|)))} #74#return; {4335#(and (or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (not (<= (+ |ULTIMATE.start_main_~buflim~0#1| 1) |ULTIMATE.start_main_~buf~0#1|))) (or (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buflim~0#1| |ULTIMATE.start_main_~buf~0#1|)))} is VALID [2022-02-20 17:03:53,575 INFO L272 TraceCheckUtils]: 51: Hoare triple {4335#(and (or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (not (<= (+ |ULTIMATE.start_main_~buflim~0#1| 1) |ULTIMATE.start_main_~buf~0#1|))) (or (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buflim~0#1| |ULTIMATE.start_main_~buf~0#1|)))} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:53,575 INFO L290 TraceCheckUtils]: 52: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,575 INFO L290 TraceCheckUtils]: 53: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,575 INFO L290 TraceCheckUtils]: 54: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,575 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4308#true} {4335#(and (or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (not (<= (+ |ULTIMATE.start_main_~buflim~0#1| 1) |ULTIMATE.start_main_~buf~0#1|))) (or (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buflim~0#1| |ULTIMATE.start_main_~buf~0#1|)))} #76#return; {4335#(and (or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (not (<= (+ |ULTIMATE.start_main_~buflim~0#1| 1) |ULTIMATE.start_main_~buf~0#1|))) (or (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buflim~0#1| |ULTIMATE.start_main_~buf~0#1|)))} is VALID [2022-02-20 17:03:53,576 INFO L290 TraceCheckUtils]: 56: Hoare triple {4335#(and (or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (not (<= (+ |ULTIMATE.start_main_~buflim~0#1| 1) |ULTIMATE.start_main_~buf~0#1|))) (or (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buflim~0#1| |ULTIMATE.start_main_~buf~0#1|)))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {4335#(and (or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (not (<= (+ |ULTIMATE.start_main_~buflim~0#1| 1) |ULTIMATE.start_main_~buf~0#1|))) (or (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buflim~0#1| |ULTIMATE.start_main_~buf~0#1|)))} is VALID [2022-02-20 17:03:53,576 INFO L290 TraceCheckUtils]: 57: Hoare triple {4335#(and (or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (not (<= (+ |ULTIMATE.start_main_~buflim~0#1| 1) |ULTIMATE.start_main_~buf~0#1|))) (or (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buflim~0#1| |ULTIMATE.start_main_~buf~0#1|)))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {4335#(and (or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (not (<= (+ |ULTIMATE.start_main_~buflim~0#1| 1) |ULTIMATE.start_main_~buf~0#1|))) (or (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buflim~0#1| |ULTIMATE.start_main_~buf~0#1|)))} is VALID [2022-02-20 17:03:53,577 INFO L290 TraceCheckUtils]: 58: Hoare triple {4335#(and (or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (not (<= (+ |ULTIMATE.start_main_~buflim~0#1| 1) |ULTIMATE.start_main_~buf~0#1|))) (or (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~buflim~0#1| |ULTIMATE.start_main_~buf~0#1|)))} assume !(main_~buf~0#1 == main_~buflim~0#1); {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:53,577 INFO L272 TraceCheckUtils]: 59: Hoare triple {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:53,577 INFO L290 TraceCheckUtils]: 60: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,577 INFO L290 TraceCheckUtils]: 61: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,577 INFO L290 TraceCheckUtils]: 62: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,577 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {4308#true} {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} #70#return; {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:53,577 INFO L272 TraceCheckUtils]: 64: Hoare triple {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:53,578 INFO L290 TraceCheckUtils]: 65: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,578 INFO L290 TraceCheckUtils]: 66: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,578 INFO L290 TraceCheckUtils]: 67: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,578 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4308#true} {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} #72#return; {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:53,578 INFO L290 TraceCheckUtils]: 69: Hoare triple {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:53,579 INFO L290 TraceCheckUtils]: 70: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:53,579 INFO L272 TraceCheckUtils]: 71: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:53,579 INFO L290 TraceCheckUtils]: 72: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,579 INFO L290 TraceCheckUtils]: 73: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,579 INFO L290 TraceCheckUtils]: 74: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,580 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4308#true} {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} #74#return; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:53,580 INFO L272 TraceCheckUtils]: 76: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:53,580 INFO L290 TraceCheckUtils]: 77: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,580 INFO L290 TraceCheckUtils]: 78: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,580 INFO L290 TraceCheckUtils]: 79: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,580 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {4308#true} {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} #76#return; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:53,580 INFO L290 TraceCheckUtils]: 81: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:53,581 INFO L290 TraceCheckUtils]: 82: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} assume !(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:53,581 INFO L272 TraceCheckUtils]: 83: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:53,581 INFO L290 TraceCheckUtils]: 84: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,581 INFO L290 TraceCheckUtils]: 85: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,581 INFO L290 TraceCheckUtils]: 86: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,581 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {4308#true} {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} #78#return; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:53,581 INFO L272 TraceCheckUtils]: 88: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:53,582 INFO L290 TraceCheckUtils]: 89: Hoare triple {4308#true} ~cond := #in~cond; {4378#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:03:53,582 INFO L290 TraceCheckUtils]: 90: Hoare triple {4378#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4376#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:53,582 INFO L290 TraceCheckUtils]: 91: Hoare triple {4376#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4376#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:53,583 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {4376#(not (= |__VERIFIER_assert_#in~cond| 0))} {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} #80#return; {4370#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:53,583 INFO L290 TraceCheckUtils]: 93: Hoare triple {4370#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} main_#t~post6#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {4371#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:53,583 INFO L272 TraceCheckUtils]: 94: Hoare triple {4371#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:53,583 INFO L290 TraceCheckUtils]: 95: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:53,583 INFO L290 TraceCheckUtils]: 96: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:53,583 INFO L290 TraceCheckUtils]: 97: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:53,584 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {4308#true} {4371#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} #82#return; {4371#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:53,584 INFO L272 TraceCheckUtils]: 99: Hoare triple {4371#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {4376#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:53,584 INFO L290 TraceCheckUtils]: 100: Hoare triple {4376#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {4377#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:03:53,585 INFO L290 TraceCheckUtils]: 101: Hoare triple {4377#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {4309#false} is VALID [2022-02-20 17:03:53,585 INFO L290 TraceCheckUtils]: 102: Hoare triple {4309#false} assume !false; {4309#false} is VALID [2022-02-20 17:03:53,585 INFO L134 CoverageAnalysis]: Checked inductivity of 483 backedges. 68 proven. 31 refuted. 0 times theorem prover too weak. 384 trivial. 0 not checked. [2022-02-20 17:03:53,585 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:03:53,585 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [76652433] [2022-02-20 17:03:53,585 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [76652433] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 17:03:53,585 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [687539816] [2022-02-20 17:03:53,585 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 17:03:53,585 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:03:53,586 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:03:53,586 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:03:53,588 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-02-20 17:03:53,632 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 17:03:53,633 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 17:03:53,634 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 17:03:53,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:03:53,653 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:03:54,293 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(9, 2); {4308#true} is VALID [2022-02-20 17:03:54,293 INFO L290 TraceCheckUtils]: 1: Hoare triple {4308#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~nondet2#1, main_#t~post4#1, main_#t~post5#1, main_#t~nondet3#1, main_#t~post6#1, main_#t~post7#1, main_~in~0#1, main_~inlen~0#1, main_~bufferlen~0#1, main_~buf~0#1, main_~buflim~0#1;havoc main_~in~0#1;assume -2147483648 <= main_#t~nondet1#1 && main_#t~nondet1#1 <= 2147483647;main_~inlen~0#1 := main_#t~nondet1#1;havoc main_#t~nondet1#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~bufferlen~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1;havoc main_~buf~0#1;havoc main_~buflim~0#1; {4308#true} is VALID [2022-02-20 17:03:54,293 INFO L290 TraceCheckUtils]: 2: Hoare triple {4308#true} assume main_~bufferlen~0#1 > 1; {4308#true} is VALID [2022-02-20 17:03:54,293 INFO L290 TraceCheckUtils]: 3: Hoare triple {4308#true} assume main_~inlen~0#1 > 0; {4308#true} is VALID [2022-02-20 17:03:54,294 INFO L290 TraceCheckUtils]: 4: Hoare triple {4308#true} assume main_~bufferlen~0#1 < main_~inlen~0#1; {4308#true} is VALID [2022-02-20 17:03:54,294 INFO L290 TraceCheckUtils]: 5: Hoare triple {4308#true} main_~buf~0#1 := 0;main_~in~0#1 := 0;main_~buflim~0#1 := main_~bufferlen~0#1 - 2; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,294 INFO L290 TraceCheckUtils]: 6: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,295 INFO L290 TraceCheckUtils]: 7: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,295 INFO L290 TraceCheckUtils]: 8: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume !(main_~buf~0#1 == main_~buflim~0#1); {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,295 INFO L272 TraceCheckUtils]: 9: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,295 INFO L290 TraceCheckUtils]: 10: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,295 INFO L290 TraceCheckUtils]: 11: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,295 INFO L290 TraceCheckUtils]: 12: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,296 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #70#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,296 INFO L272 TraceCheckUtils]: 14: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,296 INFO L290 TraceCheckUtils]: 15: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,296 INFO L290 TraceCheckUtils]: 16: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,296 INFO L290 TraceCheckUtils]: 17: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,297 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #72#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,297 INFO L290 TraceCheckUtils]: 19: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,297 INFO L290 TraceCheckUtils]: 20: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,297 INFO L272 TraceCheckUtils]: 21: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,297 INFO L290 TraceCheckUtils]: 22: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,297 INFO L290 TraceCheckUtils]: 23: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,298 INFO L290 TraceCheckUtils]: 24: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,298 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #74#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,298 INFO L272 TraceCheckUtils]: 26: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,298 INFO L290 TraceCheckUtils]: 27: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,298 INFO L290 TraceCheckUtils]: 28: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,298 INFO L290 TraceCheckUtils]: 29: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,299 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #76#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,299 INFO L290 TraceCheckUtils]: 31: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,299 INFO L290 TraceCheckUtils]: 32: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,300 INFO L290 TraceCheckUtils]: 33: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume !(main_~buf~0#1 == main_~buflim~0#1); {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,300 INFO L272 TraceCheckUtils]: 34: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,300 INFO L290 TraceCheckUtils]: 35: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,300 INFO L290 TraceCheckUtils]: 36: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,300 INFO L290 TraceCheckUtils]: 37: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,301 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #70#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,301 INFO L272 TraceCheckUtils]: 39: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,301 INFO L290 TraceCheckUtils]: 40: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,301 INFO L290 TraceCheckUtils]: 41: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,302 INFO L290 TraceCheckUtils]: 42: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,302 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #72#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,303 INFO L290 TraceCheckUtils]: 44: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,303 INFO L290 TraceCheckUtils]: 45: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,303 INFO L272 TraceCheckUtils]: 46: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,303 INFO L290 TraceCheckUtils]: 47: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,303 INFO L290 TraceCheckUtils]: 48: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,303 INFO L290 TraceCheckUtils]: 49: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,304 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #74#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,304 INFO L272 TraceCheckUtils]: 51: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,304 INFO L290 TraceCheckUtils]: 52: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,304 INFO L290 TraceCheckUtils]: 53: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,304 INFO L290 TraceCheckUtils]: 54: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,305 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #76#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,305 INFO L290 TraceCheckUtils]: 56: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,306 INFO L290 TraceCheckUtils]: 57: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,306 INFO L290 TraceCheckUtils]: 58: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume !(main_~buf~0#1 == main_~buflim~0#1); {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:54,306 INFO L272 TraceCheckUtils]: 59: Hoare triple {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,306 INFO L290 TraceCheckUtils]: 60: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,306 INFO L290 TraceCheckUtils]: 61: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,306 INFO L290 TraceCheckUtils]: 62: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,307 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {4308#true} {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} #70#return; {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:54,307 INFO L272 TraceCheckUtils]: 64: Hoare triple {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,307 INFO L290 TraceCheckUtils]: 65: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,307 INFO L290 TraceCheckUtils]: 66: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,307 INFO L290 TraceCheckUtils]: 67: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,308 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4308#true} {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} #72#return; {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:54,308 INFO L290 TraceCheckUtils]: 69: Hoare triple {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:54,308 INFO L290 TraceCheckUtils]: 70: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:54,309 INFO L272 TraceCheckUtils]: 71: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,309 INFO L290 TraceCheckUtils]: 72: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,309 INFO L290 TraceCheckUtils]: 73: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,309 INFO L290 TraceCheckUtils]: 74: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,309 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4308#true} {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} #74#return; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:54,309 INFO L272 TraceCheckUtils]: 76: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,309 INFO L290 TraceCheckUtils]: 77: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,309 INFO L290 TraceCheckUtils]: 78: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,309 INFO L290 TraceCheckUtils]: 79: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,310 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {4308#true} {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} #76#return; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:54,310 INFO L290 TraceCheckUtils]: 81: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:54,311 INFO L290 TraceCheckUtils]: 82: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} assume !(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:54,311 INFO L272 TraceCheckUtils]: 83: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,311 INFO L290 TraceCheckUtils]: 84: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,311 INFO L290 TraceCheckUtils]: 85: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,311 INFO L290 TraceCheckUtils]: 86: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,312 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {4308#true} {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} #78#return; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:54,312 INFO L272 TraceCheckUtils]: 88: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,312 INFO L290 TraceCheckUtils]: 89: Hoare triple {4308#true} ~cond := #in~cond; {4378#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:03:54,312 INFO L290 TraceCheckUtils]: 90: Hoare triple {4378#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4376#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:54,313 INFO L290 TraceCheckUtils]: 91: Hoare triple {4376#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4376#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:54,313 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {4376#(not (= |__VERIFIER_assert_#in~cond| 0))} {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} #80#return; {4370#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:54,314 INFO L290 TraceCheckUtils]: 93: Hoare triple {4370#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} main_#t~post6#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {4371#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:54,314 INFO L272 TraceCheckUtils]: 94: Hoare triple {4371#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,314 INFO L290 TraceCheckUtils]: 95: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,314 INFO L290 TraceCheckUtils]: 96: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,314 INFO L290 TraceCheckUtils]: 97: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,314 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {4308#true} {4371#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} #82#return; {4371#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:54,315 INFO L272 TraceCheckUtils]: 99: Hoare triple {4371#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {4679#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:03:54,315 INFO L290 TraceCheckUtils]: 100: Hoare triple {4679#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4683#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:03:54,315 INFO L290 TraceCheckUtils]: 101: Hoare triple {4683#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4309#false} is VALID [2022-02-20 17:03:54,315 INFO L290 TraceCheckUtils]: 102: Hoare triple {4309#false} assume !false; {4309#false} is VALID [2022-02-20 17:03:54,316 INFO L134 CoverageAnalysis]: Checked inductivity of 483 backedges. 68 proven. 22 refuted. 0 times theorem prover too weak. 393 trivial. 0 not checked. [2022-02-20 17:03:54,316 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:03:54,908 INFO L290 TraceCheckUtils]: 102: Hoare triple {4309#false} assume !false; {4309#false} is VALID [2022-02-20 17:03:54,909 INFO L290 TraceCheckUtils]: 101: Hoare triple {4683#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4309#false} is VALID [2022-02-20 17:03:54,909 INFO L290 TraceCheckUtils]: 100: Hoare triple {4679#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4683#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:03:54,910 INFO L272 TraceCheckUtils]: 99: Hoare triple {4371#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {4679#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:03:54,910 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {4308#true} {4371#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} #82#return; {4371#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:54,910 INFO L290 TraceCheckUtils]: 97: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,910 INFO L290 TraceCheckUtils]: 96: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,910 INFO L290 TraceCheckUtils]: 95: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,910 INFO L272 TraceCheckUtils]: 94: Hoare triple {4371#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,913 INFO L290 TraceCheckUtils]: 93: Hoare triple {4370#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} main_#t~post6#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {4371#(<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:54,916 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {4376#(not (= |__VERIFIER_assert_#in~cond| 0))} {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} #80#return; {4370#(<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)} is VALID [2022-02-20 17:03:54,916 INFO L290 TraceCheckUtils]: 91: Hoare triple {4376#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4376#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:54,916 INFO L290 TraceCheckUtils]: 90: Hoare triple {4729#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4376#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:03:54,917 INFO L290 TraceCheckUtils]: 89: Hoare triple {4308#true} ~cond := #in~cond; {4729#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:03:54,917 INFO L272 TraceCheckUtils]: 88: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,917 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {4308#true} {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} #78#return; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:54,917 INFO L290 TraceCheckUtils]: 86: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,917 INFO L290 TraceCheckUtils]: 85: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,917 INFO L290 TraceCheckUtils]: 84: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,917 INFO L272 TraceCheckUtils]: 83: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,918 INFO L290 TraceCheckUtils]: 82: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} assume !(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:54,918 INFO L290 TraceCheckUtils]: 81: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:54,919 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {4308#true} {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} #76#return; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:54,919 INFO L290 TraceCheckUtils]: 79: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,919 INFO L290 TraceCheckUtils]: 78: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,919 INFO L290 TraceCheckUtils]: 77: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,919 INFO L272 TraceCheckUtils]: 76: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,919 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4308#true} {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} #74#return; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:54,919 INFO L290 TraceCheckUtils]: 74: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,919 INFO L290 TraceCheckUtils]: 73: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,919 INFO L290 TraceCheckUtils]: 72: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,919 INFO L272 TraceCheckUtils]: 71: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,920 INFO L290 TraceCheckUtils]: 70: Hoare triple {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:54,920 INFO L290 TraceCheckUtils]: 69: Hoare triple {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4353#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:54,921 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4308#true} {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} #72#return; {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:54,921 INFO L290 TraceCheckUtils]: 67: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,921 INFO L290 TraceCheckUtils]: 66: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,921 INFO L290 TraceCheckUtils]: 65: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,921 INFO L272 TraceCheckUtils]: 64: Hoare triple {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,921 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {4308#true} {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} #70#return; {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:54,921 INFO L290 TraceCheckUtils]: 62: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,921 INFO L290 TraceCheckUtils]: 61: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,921 INFO L290 TraceCheckUtils]: 60: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,921 INFO L272 TraceCheckUtils]: 59: Hoare triple {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,922 INFO L290 TraceCheckUtils]: 58: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume !(main_~buf~0#1 == main_~buflim~0#1); {4344#(or (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ |ULTIMATE.start_main_~buf~0#1| 1)) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|))} is VALID [2022-02-20 17:03:54,922 INFO L290 TraceCheckUtils]: 57: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,923 INFO L290 TraceCheckUtils]: 56: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,923 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #76#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,923 INFO L290 TraceCheckUtils]: 54: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,923 INFO L290 TraceCheckUtils]: 53: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,923 INFO L290 TraceCheckUtils]: 52: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,923 INFO L272 TraceCheckUtils]: 51: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,924 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #74#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,924 INFO L290 TraceCheckUtils]: 49: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,924 INFO L290 TraceCheckUtils]: 48: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,924 INFO L290 TraceCheckUtils]: 47: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,924 INFO L272 TraceCheckUtils]: 46: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,924 INFO L290 TraceCheckUtils]: 45: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,925 INFO L290 TraceCheckUtils]: 44: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,925 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #72#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,925 INFO L290 TraceCheckUtils]: 42: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,925 INFO L290 TraceCheckUtils]: 41: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,925 INFO L290 TraceCheckUtils]: 40: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,925 INFO L272 TraceCheckUtils]: 39: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,926 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #70#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,926 INFO L290 TraceCheckUtils]: 37: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,926 INFO L290 TraceCheckUtils]: 36: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,926 INFO L290 TraceCheckUtils]: 35: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,927 INFO L272 TraceCheckUtils]: 34: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,927 INFO L290 TraceCheckUtils]: 33: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume !(main_~buf~0#1 == main_~buflim~0#1); {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,927 INFO L290 TraceCheckUtils]: 32: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,928 INFO L290 TraceCheckUtils]: 31: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,928 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #76#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,928 INFO L290 TraceCheckUtils]: 29: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,928 INFO L290 TraceCheckUtils]: 28: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,929 INFO L290 TraceCheckUtils]: 27: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,929 INFO L272 TraceCheckUtils]: 26: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if main_~in~0#1 < main_~inlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,935 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #74#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,935 INFO L290 TraceCheckUtils]: 24: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,935 INFO L290 TraceCheckUtils]: 23: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,935 INFO L290 TraceCheckUtils]: 22: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,935 INFO L272 TraceCheckUtils]: 21: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if 0 <= main_~in~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,936 INFO L290 TraceCheckUtils]: 20: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} main_#t~post5#1 := main_~in~0#1;main_~in~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,936 INFO L290 TraceCheckUtils]: 19: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} main_#t~post4#1 := main_~buf~0#1;main_~buf~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,936 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #72#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,936 INFO L290 TraceCheckUtils]: 17: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,936 INFO L290 TraceCheckUtils]: 16: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,936 INFO L290 TraceCheckUtils]: 15: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,937 INFO L272 TraceCheckUtils]: 14: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if main_~buf~0#1 < main_~bufferlen~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,937 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {4308#true} {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} #70#return; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,937 INFO L290 TraceCheckUtils]: 12: Hoare triple {4308#true} assume true; {4308#true} is VALID [2022-02-20 17:03:54,937 INFO L290 TraceCheckUtils]: 11: Hoare triple {4308#true} assume !(0 == ~cond); {4308#true} is VALID [2022-02-20 17:03:54,937 INFO L290 TraceCheckUtils]: 10: Hoare triple {4308#true} ~cond := #in~cond; {4308#true} is VALID [2022-02-20 17:03:54,937 INFO L272 TraceCheckUtils]: 9: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} call __VERIFIER_assert((if 0 <= main_~buf~0#1 then 1 else 0)); {4308#true} is VALID [2022-02-20 17:03:54,937 INFO L290 TraceCheckUtils]: 8: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume !(main_~buf~0#1 == main_~buflim~0#1); {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,938 INFO L290 TraceCheckUtils]: 7: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume !!(0 != main_#t~nondet3#1);havoc main_#t~nondet3#1; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,938 INFO L290 TraceCheckUtils]: 6: Hoare triple {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} assume -2147483648 <= main_#t~nondet3#1 && main_#t~nondet3#1 <= 2147483647; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,939 INFO L290 TraceCheckUtils]: 5: Hoare triple {4308#true} main_~buf~0#1 := 0;main_~in~0#1 := 0;main_~buflim~0#1 := main_~bufferlen~0#1 - 2; {4310#(and (<= (+ 2 |ULTIMATE.start_main_~buflim~0#1|) |ULTIMATE.start_main_~bufferlen~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| (+ 2 |ULTIMATE.start_main_~buflim~0#1|)))} is VALID [2022-02-20 17:03:54,939 INFO L290 TraceCheckUtils]: 4: Hoare triple {4308#true} assume main_~bufferlen~0#1 < main_~inlen~0#1; {4308#true} is VALID [2022-02-20 17:03:54,939 INFO L290 TraceCheckUtils]: 3: Hoare triple {4308#true} assume main_~inlen~0#1 > 0; {4308#true} is VALID [2022-02-20 17:03:54,939 INFO L290 TraceCheckUtils]: 2: Hoare triple {4308#true} assume main_~bufferlen~0#1 > 1; {4308#true} is VALID [2022-02-20 17:03:54,939 INFO L290 TraceCheckUtils]: 1: Hoare triple {4308#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~nondet2#1, main_#t~post4#1, main_#t~post5#1, main_#t~nondet3#1, main_#t~post6#1, main_#t~post7#1, main_~in~0#1, main_~inlen~0#1, main_~bufferlen~0#1, main_~buf~0#1, main_~buflim~0#1;havoc main_~in~0#1;assume -2147483648 <= main_#t~nondet1#1 && main_#t~nondet1#1 <= 2147483647;main_~inlen~0#1 := main_#t~nondet1#1;havoc main_#t~nondet1#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~bufferlen~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1;havoc main_~buf~0#1;havoc main_~buflim~0#1; {4308#true} is VALID [2022-02-20 17:03:54,939 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(9, 2); {4308#true} is VALID [2022-02-20 17:03:54,939 INFO L134 CoverageAnalysis]: Checked inductivity of 483 backedges. 68 proven. 22 refuted. 0 times theorem prover too weak. 393 trivial. 0 not checked. [2022-02-20 17:03:54,939 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [687539816] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:03:54,939 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 17:03:54,939 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11, 11] total 14 [2022-02-20 17:03:54,940 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1968800732] [2022-02-20 17:03:54,940 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 17:03:54,940 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.6923076923076925) internal successors, (35), 12 states have internal predecessors, (35), 5 states have call successors, (15), 3 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 103 [2022-02-20 17:03:54,941 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:03:54,941 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.6923076923076925) internal successors, (35), 12 states have internal predecessors, (35), 5 states have call successors, (15), 3 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-02-20 17:03:54,982 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:03:54,983 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-02-20 17:03:54,983 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:03:54,983 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-02-20 17:03:54,983 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=149, Unknown=0, NotChecked=0, Total=182 [2022-02-20 17:03:54,983 INFO L87 Difference]: Start difference. First operand 96 states and 113 transitions. Second operand has 14 states, 13 states have (on average 2.6923076923076925) internal successors, (35), 12 states have internal predecessors, (35), 5 states have call successors, (15), 3 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-02-20 17:03:55,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:55,694 INFO L93 Difference]: Finished difference Result 96 states and 113 transitions. [2022-02-20 17:03:55,694 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-02-20 17:03:55,695 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.6923076923076925) internal successors, (35), 12 states have internal predecessors, (35), 5 states have call successors, (15), 3 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 103 [2022-02-20 17:03:55,695 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:03:55,695 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.6923076923076925) internal successors, (35), 12 states have internal predecessors, (35), 5 states have call successors, (15), 3 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-02-20 17:03:55,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 57 transitions. [2022-02-20 17:03:55,696 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.6923076923076925) internal successors, (35), 12 states have internal predecessors, (35), 5 states have call successors, (15), 3 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-02-20 17:03:55,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 57 transitions. [2022-02-20 17:03:55,697 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 57 transitions. [2022-02-20 17:03:55,754 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:03:55,754 INFO L225 Difference]: With dead ends: 96 [2022-02-20 17:03:55,754 INFO L226 Difference]: Without dead ends: 0 [2022-02-20 17:03:55,755 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 254 GetRequests, 229 SyntacticMatches, 4 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 82 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=102, Invalid=404, Unknown=0, NotChecked=0, Total=506 [2022-02-20 17:03:55,755 INFO L933 BasicCegarLoop]: 32 mSDtfsCounter, 28 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 159 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 218 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 159 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:03:55,755 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 218 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 159 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:03:55,756 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-02-20 17:03:55,756 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-02-20 17:03:55,756 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:03:55,756 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:03:55,756 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:03:55,756 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:03:55,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:55,756 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-02-20 17:03:55,756 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 17:03:55,756 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:55,756 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:03:55,756 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-02-20 17:03:55,756 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-02-20 17:03:55,757 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:03:55,757 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-02-20 17:03:55,757 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 17:03:55,757 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:55,757 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:03:55,757 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:03:55,757 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:03:55,757 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:03:55,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-02-20 17:03:55,758 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 103 [2022-02-20 17:03:55,758 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:03:55,758 INFO L470 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-02-20 17:03:55,758 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.6923076923076925) internal successors, (35), 12 states have internal predecessors, (35), 5 states have call successors, (15), 3 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-02-20 17:03:55,758 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 17:03:55,758 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:03:55,760 INFO L764 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-02-20 17:03:55,777 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-02-20 17:03:55,963 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:03:55,965 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-02-20 17:03:56,769 INFO L858 garLoopResultBuilder]: For program point L31(line 31) no Hoare annotation was computed. [2022-02-20 17:03:56,769 INFO L858 garLoopResultBuilder]: For program point L31-1(lines 25 56) no Hoare annotation was computed. [2022-02-20 17:03:56,769 INFO L854 garLoopResultBuilder]: At program point L52(line 52) the Hoare annotation is: (and (let ((.cse0 (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)) (.cse1 (<= 0 |ULTIMATE.start_main_~buf~0#1|))) (or (and .cse0 .cse1 (= |ULTIMATE.start_main_~in~0#1| 0)) (and .cse0 (<= 1 |ULTIMATE.start_main_~in~0#1|) .cse1))) (<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)) [2022-02-20 17:03:56,769 INFO L854 garLoopResultBuilder]: At program point L52-1(line 52) the Hoare annotation is: (and (let ((.cse0 (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|)) (.cse1 (<= 0 |ULTIMATE.start_main_~buf~0#1|))) (or (and .cse0 .cse1 (= |ULTIMATE.start_main_~in~0#1| 0)) (and .cse0 (<= 1 |ULTIMATE.start_main_~in~0#1|) .cse1))) (<= (+ |ULTIMATE.start_main_~buf~0#1| 1) |ULTIMATE.start_main_~bufferlen~0#1|)) [2022-02-20 17:03:56,769 INFO L858 garLoopResultBuilder]: For program point L44(lines 44 45) no Hoare annotation was computed. [2022-02-20 17:03:56,770 INFO L858 garLoopResultBuilder]: For program point L32(lines 25 56) no Hoare annotation was computed. [2022-02-20 17:03:56,770 INFO L858 garLoopResultBuilder]: For program point L-1(line -1) no Hoare annotation was computed. [2022-02-20 17:03:56,770 INFO L858 garLoopResultBuilder]: For program point ULTIMATE.startENTRY(line -1) no Hoare annotation was computed. [2022-02-20 17:03:56,770 INFO L858 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-02-20 17:03:56,770 INFO L858 garLoopResultBuilder]: For program point L53(line 53) no Hoare annotation was computed. [2022-02-20 17:03:56,770 INFO L854 garLoopResultBuilder]: At program point L49(line 49) the Hoare annotation is: (let ((.cse0 (<= 1 |ULTIMATE.start_main_~in~0#1|)) (.cse1 (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)) (.cse2 (<= 0 |ULTIMATE.start_main_~buf~0#1|))) (or (and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) .cse0 .cse1 (<= |ULTIMATE.start_main_~buf~0#1| 2) .cse2) (let ((.cse3 (+ 2 |ULTIMATE.start_main_~buflim~0#1|))) (and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|)) (<= .cse3 |ULTIMATE.start_main_~bufferlen~0#1|) .cse0 (<= |ULTIMATE.start_main_~bufferlen~0#1| .cse3) (< |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~inlen~0#1|) .cse1 .cse2)) (and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~in~0#1| 0)))) [2022-02-20 17:03:56,770 INFO L854 garLoopResultBuilder]: At program point L41(line 41) the Hoare annotation is: (let ((.cse0 (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (.cse1 (< |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~inlen~0#1|))) (or (and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|)) (<= .cse0 |ULTIMATE.start_main_~bufferlen~0#1|) (<= 1 |ULTIMATE.start_main_~in~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| .cse0) .cse1 (<= 0 |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|)) (and (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~bufferlen~0#1| .cse0) .cse1 (= |ULTIMATE.start_main_~in~0#1| 0) (<= 3 |ULTIMATE.start_main_~bufferlen~0#1|)))) [2022-02-20 17:03:56,770 INFO L854 garLoopResultBuilder]: At program point L41-1(line 41) the Hoare annotation is: (let ((.cse0 (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (.cse1 (< |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~inlen~0#1|))) (or (and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|)) (<= .cse0 |ULTIMATE.start_main_~bufferlen~0#1|) (<= 1 |ULTIMATE.start_main_~in~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| .cse0) .cse1 (<= 0 |ULTIMATE.start_main_~buf~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 3) |ULTIMATE.start_main_~bufferlen~0#1|)) (and (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~bufferlen~0#1| .cse0) .cse1 (= |ULTIMATE.start_main_~in~0#1| 0) (<= 3 |ULTIMATE.start_main_~bufferlen~0#1|)))) [2022-02-20 17:03:56,771 INFO L858 garLoopResultBuilder]: For program point L37-1(lines 37 48) no Hoare annotation was computed. [2022-02-20 17:03:56,771 INFO L854 garLoopResultBuilder]: At program point L37-3(lines 37 48) the Hoare annotation is: (let ((.cse0 (<= 1 |ULTIMATE.start_main_~in~0#1|)) (.cse1 (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|)) (.cse2 (<= 0 |ULTIMATE.start_main_~buf~0#1|))) (or (and (<= 3 |ULTIMATE.start_main_~inlen~0#1|) .cse0 .cse1 (<= |ULTIMATE.start_main_~buf~0#1| 2) .cse2) (let ((.cse3 (+ 2 |ULTIMATE.start_main_~buflim~0#1|))) (and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|)) (<= .cse3 |ULTIMATE.start_main_~bufferlen~0#1|) .cse0 (<= |ULTIMATE.start_main_~bufferlen~0#1| .cse3) (< |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~inlen~0#1|) .cse1 .cse2)) (and (<= 2 |ULTIMATE.start_main_~bufferlen~0#1|) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~in~0#1| 0)))) [2022-02-20 17:03:56,771 INFO L858 garLoopResultBuilder]: For program point L33(line 33) no Hoare annotation was computed. [2022-02-20 17:03:56,771 INFO L858 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-02-20 17:03:56,771 INFO L858 garLoopResultBuilder]: For program point L50(line 50) no Hoare annotation was computed. [2022-02-20 17:03:56,771 INFO L854 garLoopResultBuilder]: At program point L46(line 46) the Hoare annotation is: (let ((.cse0 (+ 2 |ULTIMATE.start_main_~buflim~0#1|))) (and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|)) (<= .cse0 |ULTIMATE.start_main_~bufferlen~0#1|) (<= 1 |ULTIMATE.start_main_~in~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| .cse0) (< |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~inlen~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|) (<= 0 |ULTIMATE.start_main_~buf~0#1|))) [2022-02-20 17:03:56,771 INFO L854 garLoopResultBuilder]: At program point L46-1(line 46) the Hoare annotation is: (let ((.cse0 (+ 2 |ULTIMATE.start_main_~buflim~0#1|))) (and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|)) (<= .cse0 |ULTIMATE.start_main_~bufferlen~0#1|) (<= 1 |ULTIMATE.start_main_~in~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| .cse0) (< |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~inlen~0#1|) (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|) (<= 0 |ULTIMATE.start_main_~buf~0#1|))) [2022-02-20 17:03:56,771 INFO L858 garLoopResultBuilder]: For program point L42(line 42) no Hoare annotation was computed. [2022-02-20 17:03:56,771 INFO L861 garLoopResultBuilder]: At program point L55(lines 25 56) the Hoare annotation is: true [2022-02-20 17:03:56,771 INFO L861 garLoopResultBuilder]: At program point L55-1(lines 24 56) the Hoare annotation is: true [2022-02-20 17:03:56,772 INFO L854 garLoopResultBuilder]: At program point L47(lines 37 48) the Hoare annotation is: (let ((.cse0 (+ 2 |ULTIMATE.start_main_~buflim~0#1|)) (.cse1 (< |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~inlen~0#1|))) (or (and (< 0 (+ |ULTIMATE.start_main_~buflim~0#1| 1)) (= |ULTIMATE.start_main_~buf~0#1| 0) (= |ULTIMATE.start_main_~bufferlen~0#1| .cse0) .cse1 (= |ULTIMATE.start_main_~in~0#1| 0)) (and (<= (+ |ULTIMATE.start_main_~bufferlen~0#1| |ULTIMATE.start_main_~in~0#1| 1) (+ |ULTIMATE.start_main_~buf~0#1| |ULTIMATE.start_main_~inlen~0#1|)) (<= .cse0 |ULTIMATE.start_main_~bufferlen~0#1|) (<= 1 |ULTIMATE.start_main_~in~0#1|) (<= |ULTIMATE.start_main_~bufferlen~0#1| .cse0) .cse1 (<= (+ |ULTIMATE.start_main_~buf~0#1| 2) |ULTIMATE.start_main_~bufferlen~0#1|) (<= 0 |ULTIMATE.start_main_~buf~0#1|)))) [2022-02-20 17:03:56,772 INFO L858 garLoopResultBuilder]: For program point L39(lines 39 40) no Hoare annotation was computed. [2022-02-20 17:03:56,772 INFO L858 garLoopResultBuilder]: For program point L18-2(lines 17 22) no Hoare annotation was computed. [2022-02-20 17:03:56,772 INFO L861 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 17 22) the Hoare annotation is: true [2022-02-20 17:03:56,772 INFO L858 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 17 22) no Hoare annotation was computed. [2022-02-20 17:03:56,772 INFO L858 garLoopResultBuilder]: For program point L19(line 19) no Hoare annotation was computed. [2022-02-20 17:03:56,772 INFO L858 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 19) no Hoare annotation was computed. [2022-02-20 17:03:56,772 INFO L858 garLoopResultBuilder]: For program point L18(lines 18 20) no Hoare annotation was computed. [2022-02-20 17:03:56,774 INFO L732 BasicCegarLoop]: Path program histogram: [2, 2, 1, 1, 1, 1, 1, 1] [2022-02-20 17:03:56,775 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 17:03:56,777 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-02-20 17:03:56,777 WARN L170 areAnnotationChecker]: L18 has no Hoare annotation [2022-02-20 17:03:56,777 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-02-20 17:03:56,777 WARN L170 areAnnotationChecker]: L18 has no Hoare annotation [2022-02-20 17:03:56,777 WARN L170 areAnnotationChecker]: L18 has no Hoare annotation [2022-02-20 17:03:56,777 WARN L170 areAnnotationChecker]: L31 has no Hoare annotation [2022-02-20 17:03:56,777 WARN L170 areAnnotationChecker]: L31 has no Hoare annotation [2022-02-20 17:03:56,777 WARN L170 areAnnotationChecker]: L19 has no Hoare annotation [2022-02-20 17:03:56,777 WARN L170 areAnnotationChecker]: L19 has no Hoare annotation [2022-02-20 17:03:56,778 WARN L170 areAnnotationChecker]: L18-2 has no Hoare annotation [2022-02-20 17:03:56,778 WARN L170 areAnnotationChecker]: L31-1 has no Hoare annotation [2022-02-20 17:03:56,778 WARN L170 areAnnotationChecker]: L31-1 has no Hoare annotation [2022-02-20 17:03:56,778 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-02-20 17:03:56,778 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-02-20 17:03:56,778 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-02-20 17:03:56,778 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-02-20 17:03:56,778 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-02-20 17:03:56,778 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-02-20 17:03:56,778 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-02-20 17:03:56,778 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-02-20 17:03:56,779 WARN L170 areAnnotationChecker]: L32 has no Hoare annotation [2022-02-20 17:03:56,779 WARN L170 areAnnotationChecker]: L32 has no Hoare annotation [2022-02-20 17:03:56,779 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-02-20 17:03:56,779 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2022-02-20 17:03:56,779 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2022-02-20 17:03:56,781 WARN L170 areAnnotationChecker]: L37-1 has no Hoare annotation [2022-02-20 17:03:56,781 WARN L170 areAnnotationChecker]: L50 has no Hoare annotation [2022-02-20 17:03:56,781 WARN L170 areAnnotationChecker]: L50 has no Hoare annotation [2022-02-20 17:03:56,781 WARN L170 areAnnotationChecker]: L53 has no Hoare annotation [2022-02-20 17:03:56,781 WARN L170 areAnnotationChecker]: L53 has no Hoare annotation [2022-02-20 17:03:56,781 WARN L170 areAnnotationChecker]: L33 has no Hoare annotation [2022-02-20 17:03:56,781 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-02-20 17:03:56,781 WARN L170 areAnnotationChecker]: L44 has no Hoare annotation [2022-02-20 17:03:56,781 WARN L170 areAnnotationChecker]: L37-1 has no Hoare annotation [2022-02-20 17:03:56,781 WARN L170 areAnnotationChecker]: L37-1 has no Hoare annotation [2022-02-20 17:03:56,782 WARN L170 areAnnotationChecker]: L39 has no Hoare annotation [2022-02-20 17:03:56,782 WARN L170 areAnnotationChecker]: L39 has no Hoare annotation [2022-02-20 17:03:56,782 INFO L163 areAnnotationChecker]: CFG has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-02-20 17:03:56,789 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 20.02 05:03:56 BoogieIcfgContainer [2022-02-20 17:03:56,789 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-02-20 17:03:56,789 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2022-02-20 17:03:56,789 INFO L271 PluginConnector]: Initializing Witness Printer... [2022-02-20 17:03:56,789 INFO L275 PluginConnector]: Witness Printer initialized [2022-02-20 17:03:56,790 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:03:41" (3/4) ... [2022-02-20 17:03:56,791 INFO L137 WitnessPrinter]: Generating witness for correct program [2022-02-20 17:03:56,795 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure __VERIFIER_assert [2022-02-20 17:03:56,800 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 11 nodes and edges [2022-02-20 17:03:56,800 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 4 nodes and edges [2022-02-20 17:03:56,800 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 2 nodes and edges [2022-02-20 17:03:56,800 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2022-02-20 17:03:56,824 INFO L141 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2022-02-20 17:03:56,824 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2022-02-20 17:03:56,825 INFO L158 Benchmark]: Toolchain (without parser) took 15791.30ms. Allocated memory was 109.1MB in the beginning and 132.1MB in the end (delta: 23.1MB). Free memory was 71.3MB in the beginning and 108.1MB in the end (delta: -36.8MB). Peak memory consumption was 62.3MB. Max. memory is 16.1GB. [2022-02-20 17:03:56,825 INFO L158 Benchmark]: CDTParser took 0.15ms. Allocated memory is still 109.1MB. Free memory is still 88.1MB. There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 17:03:56,825 INFO L158 Benchmark]: CACSL2BoogieTranslator took 249.52ms. Allocated memory is still 109.1MB. Free memory was 71.0MB in the beginning and 83.4MB in the end (delta: -12.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2022-02-20 17:03:56,825 INFO L158 Benchmark]: Boogie Procedure Inliner took 33.50ms. Allocated memory is still 109.1MB. Free memory was 83.4MB in the beginning and 81.8MB in the end (delta: 1.6MB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 17:03:56,826 INFO L158 Benchmark]: Boogie Preprocessor took 38.26ms. Allocated memory is still 109.1MB. Free memory was 81.8MB in the beginning and 80.9MB in the end (delta: 875.1kB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 17:03:56,826 INFO L158 Benchmark]: RCFGBuilder took 293.32ms. Allocated memory is still 109.1MB. Free memory was 80.5MB in the beginning and 68.3MB in the end (delta: 12.2MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. [2022-02-20 17:03:56,826 INFO L158 Benchmark]: TraceAbstraction took 15135.03ms. Allocated memory was 109.1MB in the beginning and 132.1MB in the end (delta: 23.1MB). Free memory was 67.9MB in the beginning and 35.6MB in the end (delta: 32.2MB). Peak memory consumption was 61.4MB. Max. memory is 16.1GB. [2022-02-20 17:03:56,826 INFO L158 Benchmark]: Witness Printer took 34.89ms. Allocated memory is still 132.1MB. Free memory was 35.6MB in the beginning and 108.1MB in the end (delta: -72.4MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2022-02-20 17:03:56,827 INFO L339 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.15ms. Allocated memory is still 109.1MB. Free memory is still 88.1MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 249.52ms. Allocated memory is still 109.1MB. Free memory was 71.0MB in the beginning and 83.4MB in the end (delta: -12.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 33.50ms. Allocated memory is still 109.1MB. Free memory was 83.4MB in the beginning and 81.8MB in the end (delta: 1.6MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 38.26ms. Allocated memory is still 109.1MB. Free memory was 81.8MB in the beginning and 80.9MB in the end (delta: 875.1kB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 293.32ms. Allocated memory is still 109.1MB. Free memory was 80.5MB in the beginning and 68.3MB in the end (delta: 12.2MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. * TraceAbstraction took 15135.03ms. Allocated memory was 109.1MB in the beginning and 132.1MB in the end (delta: 23.1MB). Free memory was 67.9MB in the beginning and 35.6MB in the end (delta: 32.2MB). Peak memory consumption was 61.4MB. Max. memory is 16.1GB. * Witness Printer took 34.89ms. Allocated memory is still 132.1MB. Free memory was 35.6MB in the beginning and 108.1MB in the end (delta: -72.4MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 19]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 2 procedures, 31 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 15.0s, OverallIterations: 10, TraceHistogramMax: 16, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 6.6s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.8s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 469 SdHoareTripleChecker+Valid, 1.7s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 429 mSDsluCounter, 1672 SdHoareTripleChecker+Invalid, 1.7s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1315 mSDsCounter, 540 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1365 IncrementalHoareTripleChecker+Invalid, 1905 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 540 mSolverCounterUnsat, 357 mSDtfsCounter, 1365 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 801 GetRequests, 649 SyntacticMatches, 14 SemanticMatches, 138 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 836 ImplicationChecksByTransitivity, 1.2s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=96occurred in iteration=9, InterpolantAutomatonStates: 104, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.6s AutomataMinimizationTime, 10 MinimizatonAttempts, 33 StatesRemovedByMinimization, 6 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 12 LocationsWithAnnotation, 57 PreInvPairs, 102 NumberOfFragments, 405 HoareAnnotationTreeSize, 57 FomulaSimplifications, 387 FormulaSimplificationTreeSizeReduction, 0.3s HoareSimplificationTime, 12 FomulaSimplificationsInter, 2195 FormulaSimplificationTreeSizeReductionInter, 0.5s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 5.2s InterpolantComputationTime, 705 NumberOfCodeBlocks, 705 NumberOfCodeBlocksAsserted, 16 NumberOfCheckSat, 978 ConstructedInterpolants, 0 QuantifiedInterpolants, 3458 SizeOfPredicates, 16 NumberOfNonLiveVariables, 616 ConjunctsInSsa, 46 ConjunctsInUnsatCore, 18 InterpolantComputations, 6 PerfectInterpolantSequences, 2737/2923 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 24]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 37]: Loop Invariant Derived loop invariant: ((((0 < buflim + 1 && buf == 0) && bufferlen == 2 + buflim) && bufferlen < inlen) && in == 0) || ((((((bufferlen + in + 1 <= buf + inlen && 2 + buflim <= bufferlen) && 1 <= in) && bufferlen <= 2 + buflim) && bufferlen < inlen) && buf + 2 <= bufferlen) && 0 <= buf) - InvariantResult [Line: 25]: Loop Invariant Derived loop invariant: 1 RESULT: Ultimate proved your program to be correct! [2022-02-20 17:03:56,863 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Result: TRUE