/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/loop-invgen/sendmail-close-angle.i -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 10:48:18,077 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 10:48:18,078 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 10:48:18,123 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 10:48:18,123 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 10:48:18,124 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 10:48:18,128 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 10:48:18,132 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 10:48:18,133 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 10:48:18,137 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 10:48:18,138 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 10:48:18,139 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 10:48:18,139 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 10:48:18,140 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 10:48:18,141 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 10:48:18,142 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 10:48:18,142 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 10:48:18,143 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 10:48:18,146 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 10:48:18,150 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 10:48:18,150 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 10:48:18,152 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 10:48:18,152 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 10:48:18,153 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 10:48:18,154 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 10:48:18,157 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 10:48:18,157 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 10:48:18,157 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 10:48:18,157 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 10:48:18,158 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 10:48:18,158 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 10:48:18,158 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 10:48:18,160 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 10:48:18,160 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 10:48:18,161 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 10:48:18,161 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 10:48:18,161 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 10:48:18,162 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 10:48:18,162 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 10:48:18,162 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 10:48:18,162 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 10:48:18,163 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 10:48:18,164 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-27 10:48:18,189 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 10:48:18,189 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 10:48:18,190 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 10:48:18,190 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 10:48:18,190 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 10:48:18,190 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 10:48:18,190 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 10:48:18,191 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 10:48:18,191 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 10:48:18,191 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 10:48:18,191 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 10:48:18,191 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 10:48:18,191 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 10:48:18,191 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 10:48:18,191 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 10:48:18,191 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 10:48:18,191 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 10:48:18,191 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 10:48:18,192 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 10:48:18,192 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 10:48:18,192 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 10:48:18,192 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 10:48:18,192 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 10:48:18,192 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 10:48:18,192 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 10:48:18,192 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 10:48:18,192 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 10:48:18,192 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 10:48:18,192 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 10:48:18,193 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 10:48:18,193 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 10:48:18,193 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 10:48:18,193 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 10:48:18,193 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.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-27 10:48:18,374 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 10:48:18,394 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 10:48:18,395 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 10:48:18,396 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 10:48:18,397 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 10:48:18,398 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loop-invgen/sendmail-close-angle.i [2022-04-27 10:48:18,440 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c7db9302d/d2458368484345e9b2763a49b5ce9083/FLAG55b0cf0f5 [2022-04-27 10:48:18,746 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 10:48:18,747 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loop-invgen/sendmail-close-angle.i [2022-04-27 10:48:18,753 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c7db9302d/d2458368484345e9b2763a49b5ce9083/FLAG55b0cf0f5 [2022-04-27 10:48:19,171 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c7db9302d/d2458368484345e9b2763a49b5ce9083 [2022-04-27 10:48:19,172 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 10:48:19,173 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 10:48:19,174 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 10:48:19,174 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 10:48:19,176 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 10:48:19,177 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 10:48:19" (1/1) ... [2022-04-27 10:48:19,177 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5ce14d0b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:48:19, skipping insertion in model container [2022-04-27 10:48:19,177 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 10:48:19" (1/1) ... [2022-04-27 10:48:19,181 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 10:48:19,190 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 10:48:19,298 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/loop-invgen/sendmail-close-angle.i[893,906] [2022-04-27 10:48:19,312 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 10:48:19,317 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 10:48:19,324 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/loop-invgen/sendmail-close-angle.i[893,906] [2022-04-27 10:48:19,335 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 10:48:19,342 INFO L208 MainTranslator]: Completed translation [2022-04-27 10:48:19,343 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:48:19 WrapperNode [2022-04-27 10:48:19,343 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 10:48:19,344 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 10:48:19,344 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 10:48:19,344 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 10:48:19,351 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:48:19" (1/1) ... [2022-04-27 10:48:19,352 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:48:19" (1/1) ... [2022-04-27 10:48:19,357 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:48:19" (1/1) ... [2022-04-27 10:48:19,357 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:48:19" (1/1) ... [2022-04-27 10:48:19,371 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:48:19" (1/1) ... [2022-04-27 10:48:19,377 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:48:19" (1/1) ... [2022-04-27 10:48:19,383 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:48:19" (1/1) ... [2022-04-27 10:48:19,385 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 10:48:19,386 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 10:48:19,386 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 10:48:19,386 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 10:48:19,388 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:48:19" (1/1) ... [2022-04-27 10:48:19,392 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 10:48:19,400 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:48:19,408 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-04-27 10:48:19,413 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-04-27 10:48:19,434 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 10:48:19,435 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 10:48:19,435 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 10:48:19,435 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 10:48:19,437 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 10:48:19,437 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 10:48:19,437 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 10:48:19,437 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 10:48:19,437 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_perror_fail [2022-04-27 10:48:19,437 INFO L130 BoogieDeclarations]: Found specification of procedure __assert [2022-04-27 10:48:19,437 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 10:48:19,437 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 10:48:19,437 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 10:48:19,437 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 10:48:19,438 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 10:48:19,438 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 10:48:19,438 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 10:48:19,438 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 10:48:19,438 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 10:48:19,438 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 10:48:19,438 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 10:48:19,438 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 10:48:19,483 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 10:48:19,484 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 10:48:19,662 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 10:48:19,668 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 10:48:19,668 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-27 10:48:19,669 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 10:48:19 BoogieIcfgContainer [2022-04-27 10:48:19,669 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 10:48:19,670 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 10:48:19,670 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 10:48:19,682 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 10:48:19,682 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 10:48:19" (1/3) ... [2022-04-27 10:48:19,682 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@401559da and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 10:48:19, skipping insertion in model container [2022-04-27 10:48:19,682 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:48:19" (2/3) ... [2022-04-27 10:48:19,683 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@401559da and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 10:48:19, skipping insertion in model container [2022-04-27 10:48:19,683 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 10:48:19" (3/3) ... [2022-04-27 10:48:19,684 INFO L111 eAbstractionObserver]: Analyzing ICFG sendmail-close-angle.i [2022-04-27 10:48:19,693 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 10:48:19,693 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 10:48:19,735 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 10:48:19,747 INFO L357 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, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@6d65bf00, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@49d0ef02 [2022-04-27 10:48:19,747 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 10:48:19,754 INFO L276 IsEmpty]: Start isEmpty. Operand has 36 states, 21 states have (on average 1.380952380952381) internal successors, (29), 23 states have internal predecessors, (29), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 10:48:19,758 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-04-27 10:48:19,759 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:48:19,759 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:48:19,759 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:48:19,763 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:48:19,764 INFO L85 PathProgramCache]: Analyzing trace with hash 1361038294, now seen corresponding path program 1 times [2022-04-27 10:48:19,770 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:48:19,771 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [599505205] [2022-04-27 10:48:19,771 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:48:19,772 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:48:19,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:19,902 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:48:19,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:19,923 INFO L290 TraceCheckUtils]: 0: Hoare triple {44#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {39#true} is VALID [2022-04-27 10:48:19,923 INFO L290 TraceCheckUtils]: 1: Hoare triple {39#true} assume true; {39#true} is VALID [2022-04-27 10:48:19,923 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {39#true} {39#true} #102#return; {39#true} is VALID [2022-04-27 10:48:19,925 INFO L272 TraceCheckUtils]: 0: Hoare triple {39#true} call ULTIMATE.init(); {44#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:48:19,925 INFO L290 TraceCheckUtils]: 1: Hoare triple {44#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {39#true} is VALID [2022-04-27 10:48:19,926 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#true} assume true; {39#true} is VALID [2022-04-27 10:48:19,926 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#true} {39#true} #102#return; {39#true} is VALID [2022-04-27 10:48:19,926 INFO L272 TraceCheckUtils]: 4: Hoare triple {39#true} call #t~ret8 := main(); {39#true} is VALID [2022-04-27 10:48:19,926 INFO L290 TraceCheckUtils]: 5: Hoare triple {39#true} havoc ~in~0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~inlen~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~bufferlen~0 := #t~nondet2;havoc #t~nondet2;havoc ~buf~0;havoc ~buflim~0; {39#true} is VALID [2022-04-27 10:48:19,926 INFO L290 TraceCheckUtils]: 6: Hoare triple {39#true} assume ~bufferlen~0 > 1; {39#true} is VALID [2022-04-27 10:48:19,926 INFO L290 TraceCheckUtils]: 7: Hoare triple {39#true} assume ~inlen~0 > 0; {39#true} is VALID [2022-04-27 10:48:19,927 INFO L290 TraceCheckUtils]: 8: Hoare triple {39#true} assume ~bufferlen~0 < ~inlen~0; {39#true} is VALID [2022-04-27 10:48:19,927 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#true} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {39#true} is VALID [2022-04-27 10:48:19,928 INFO L290 TraceCheckUtils]: 10: Hoare triple {39#true} assume !true; {40#false} is VALID [2022-04-27 10:48:19,928 INFO L272 TraceCheckUtils]: 11: Hoare triple {40#false} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {40#false} is VALID [2022-04-27 10:48:19,928 INFO L290 TraceCheckUtils]: 12: Hoare triple {40#false} ~cond := #in~cond; {40#false} is VALID [2022-04-27 10:48:19,928 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#false} assume 0 == ~cond; {40#false} is VALID [2022-04-27 10:48:19,928 INFO L290 TraceCheckUtils]: 14: Hoare triple {40#false} assume !false; {40#false} is VALID [2022-04-27 10:48:19,928 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:48:19,929 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:48:19,929 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [599505205] [2022-04-27 10:48:19,930 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [599505205] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 10:48:19,930 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 10:48:19,930 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 10:48:19,931 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1150132183] [2022-04-27 10:48:19,933 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 10:48:19,937 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2022-04-27 10:48:19,938 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:48:19,940 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:48:19,963 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:48:19,963 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 10:48:19,963 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:48:19,979 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 10:48:19,980 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 10:48:19,983 INFO L87 Difference]: Start difference. First operand has 36 states, 21 states have (on average 1.380952380952381) internal successors, (29), 23 states have internal predecessors, (29), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:48:20,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:20,140 INFO L93 Difference]: Finished difference Result 62 states and 93 transitions. [2022-04-27 10:48:20,140 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 10:48:20,140 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2022-04-27 10:48:20,140 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:48:20,141 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:48:20,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 93 transitions. [2022-04-27 10:48:20,153 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:48:20,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 93 transitions. [2022-04-27 10:48:20,164 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 93 transitions. [2022-04-27 10:48:20,282 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:48:20,289 INFO L225 Difference]: With dead ends: 62 [2022-04-27 10:48:20,290 INFO L226 Difference]: Without dead ends: 30 [2022-04-27 10:48:20,292 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 10:48:20,295 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 24 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 42 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 10:48:20,296 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 42 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 10:48:20,307 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-04-27 10:48:20,321 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-04-27 10:48:20,322 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:48:20,322 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand has 30 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 10 states have call successors, (10), 3 states have call predecessors, (10), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 10:48:20,323 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand has 30 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 10 states have call successors, (10), 3 states have call predecessors, (10), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 10:48:20,324 INFO L87 Difference]: Start difference. First operand 30 states. Second operand has 30 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 10 states have call successors, (10), 3 states have call predecessors, (10), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 10:48:20,327 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:20,327 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-27 10:48:20,327 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-27 10:48:20,328 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:20,328 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:48:20,329 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 10 states have call successors, (10), 3 states have call predecessors, (10), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 30 states. [2022-04-27 10:48:20,330 INFO L87 Difference]: Start difference. First operand has 30 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 10 states have call successors, (10), 3 states have call predecessors, (10), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 30 states. [2022-04-27 10:48:20,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:20,335 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-27 10:48:20,335 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-27 10:48:20,336 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:20,336 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:48:20,336 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:48:20,337 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:48:20,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 10 states have call successors, (10), 3 states have call predecessors, (10), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 10:48:20,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 38 transitions. [2022-04-27 10:48:20,343 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 38 transitions. Word has length 15 [2022-04-27 10:48:20,344 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:48:20,347 INFO L495 AbstractCegarLoop]: Abstraction has 30 states and 38 transitions. [2022-04-27 10:48:20,348 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:48:20,348 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-27 10:48:20,349 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-04-27 10:48:20,349 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:48:20,349 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:48:20,349 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 10:48:20,350 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:48:20,350 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:48:20,350 INFO L85 PathProgramCache]: Analyzing trace with hash -1347976123, now seen corresponding path program 1 times [2022-04-27 10:48:20,350 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:48:20,351 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1577775355] [2022-04-27 10:48:20,351 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:48:20,351 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:48:20,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:20,451 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:48:20,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:20,471 INFO L290 TraceCheckUtils]: 0: Hoare triple {247#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {239#true} is VALID [2022-04-27 10:48:20,471 INFO L290 TraceCheckUtils]: 1: Hoare triple {239#true} assume true; {239#true} is VALID [2022-04-27 10:48:20,472 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {239#true} {239#true} #102#return; {239#true} is VALID [2022-04-27 10:48:20,472 INFO L272 TraceCheckUtils]: 0: Hoare triple {239#true} call ULTIMATE.init(); {247#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:48:20,472 INFO L290 TraceCheckUtils]: 1: Hoare triple {247#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {239#true} is VALID [2022-04-27 10:48:20,472 INFO L290 TraceCheckUtils]: 2: Hoare triple {239#true} assume true; {239#true} is VALID [2022-04-27 10:48:20,473 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {239#true} {239#true} #102#return; {239#true} is VALID [2022-04-27 10:48:20,473 INFO L272 TraceCheckUtils]: 4: Hoare triple {239#true} call #t~ret8 := main(); {239#true} is VALID [2022-04-27 10:48:20,473 INFO L290 TraceCheckUtils]: 5: Hoare triple {239#true} havoc ~in~0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~inlen~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~bufferlen~0 := #t~nondet2;havoc #t~nondet2;havoc ~buf~0;havoc ~buflim~0; {239#true} is VALID [2022-04-27 10:48:20,473 INFO L290 TraceCheckUtils]: 6: Hoare triple {239#true} assume ~bufferlen~0 > 1; {239#true} is VALID [2022-04-27 10:48:20,474 INFO L290 TraceCheckUtils]: 7: Hoare triple {239#true} assume ~inlen~0 > 0; {239#true} is VALID [2022-04-27 10:48:20,474 INFO L290 TraceCheckUtils]: 8: Hoare triple {239#true} assume ~bufferlen~0 < ~inlen~0; {239#true} is VALID [2022-04-27 10:48:20,474 INFO L290 TraceCheckUtils]: 9: Hoare triple {239#true} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {244#(<= 0 main_~buf~0)} is VALID [2022-04-27 10:48:20,475 INFO L290 TraceCheckUtils]: 10: Hoare triple {244#(<= 0 main_~buf~0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {244#(<= 0 main_~buf~0)} is VALID [2022-04-27 10:48:20,475 INFO L290 TraceCheckUtils]: 11: Hoare triple {244#(<= 0 main_~buf~0)} assume !(0 != #t~nondet3);havoc #t~nondet3; {244#(<= 0 main_~buf~0)} is VALID [2022-04-27 10:48:20,476 INFO L272 TraceCheckUtils]: 12: Hoare triple {244#(<= 0 main_~buf~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {245#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:20,476 INFO L290 TraceCheckUtils]: 13: Hoare triple {245#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {246#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 10:48:20,477 INFO L290 TraceCheckUtils]: 14: Hoare triple {246#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {240#false} is VALID [2022-04-27 10:48:20,477 INFO L290 TraceCheckUtils]: 15: Hoare triple {240#false} assume !false; {240#false} is VALID [2022-04-27 10:48:20,477 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:48:20,477 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:48:20,478 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1577775355] [2022-04-27 10:48:20,478 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1577775355] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 10:48:20,478 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 10:48:20,478 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 10:48:20,478 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1744312943] [2022-04-27 10:48:20,478 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 10:48:20,480 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 16 [2022-04-27 10:48:20,480 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:48:20,480 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:48:20,493 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:48:20,493 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 10:48:20,493 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:48:20,494 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 10:48:20,494 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 10:48:20,494 INFO L87 Difference]: Start difference. First operand 30 states and 38 transitions. Second operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:48:20,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:20,793 INFO L93 Difference]: Finished difference Result 36 states and 43 transitions. [2022-04-27 10:48:20,793 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 10:48:20,794 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 16 [2022-04-27 10:48:20,794 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:48:20,794 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:48:20,795 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 43 transitions. [2022-04-27 10:48:20,795 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:48:20,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 43 transitions. [2022-04-27 10:48:20,797 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 43 transitions. [2022-04-27 10:48:20,836 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:48:20,837 INFO L225 Difference]: With dead ends: 36 [2022-04-27 10:48:20,837 INFO L226 Difference]: Without dead ends: 34 [2022-04-27 10:48:20,837 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 10:48:20,838 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 29 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 92 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 42 SdHoareTripleChecker+Invalid, 122 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 92 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 10:48:20,839 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 42 Invalid, 122 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 92 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 10:48:20,839 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-04-27 10:48:20,847 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2022-04-27 10:48:20,847 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:48:20,848 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand has 34 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 10:48:20,848 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand has 34 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 10:48:20,848 INFO L87 Difference]: Start difference. First operand 34 states. Second operand has 34 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 10:48:20,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:20,850 INFO L93 Difference]: Finished difference Result 34 states and 41 transitions. [2022-04-27 10:48:20,850 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-04-27 10:48:20,850 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:20,850 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:48:20,851 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 34 states. [2022-04-27 10:48:20,851 INFO L87 Difference]: Start difference. First operand has 34 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 34 states. [2022-04-27 10:48:20,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:20,852 INFO L93 Difference]: Finished difference Result 34 states and 41 transitions. [2022-04-27 10:48:20,853 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-04-27 10:48:20,853 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:20,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:48:20,853 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:48:20,853 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:48:20,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 10:48:20,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 41 transitions. [2022-04-27 10:48:20,855 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 41 transitions. Word has length 16 [2022-04-27 10:48:20,855 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:48:20,855 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 41 transitions. [2022-04-27 10:48:20,855 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:48:20,855 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-04-27 10:48:20,856 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2022-04-27 10:48:20,856 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:48:20,856 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:48:20,856 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 10:48:20,856 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:48:20,856 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:48:20,857 INFO L85 PathProgramCache]: Analyzing trace with hash -863391162, now seen corresponding path program 1 times [2022-04-27 10:48:20,857 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:48:20,857 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [164853946] [2022-04-27 10:48:20,857 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:48:20,857 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:48:20,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:20,928 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:48:20,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:20,935 INFO L290 TraceCheckUtils]: 0: Hoare triple {439#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {426#true} is VALID [2022-04-27 10:48:20,935 INFO L290 TraceCheckUtils]: 1: Hoare triple {426#true} assume true; {426#true} is VALID [2022-04-27 10:48:20,936 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {426#true} {426#true} #102#return; {426#true} is VALID [2022-04-27 10:48:20,936 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 10:48:20,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:20,940 INFO L290 TraceCheckUtils]: 0: Hoare triple {426#true} ~cond := #in~cond; {426#true} is VALID [2022-04-27 10:48:20,940 INFO L290 TraceCheckUtils]: 1: Hoare triple {426#true} assume !(0 == ~cond); {426#true} is VALID [2022-04-27 10:48:20,940 INFO L290 TraceCheckUtils]: 2: Hoare triple {426#true} assume true; {426#true} is VALID [2022-04-27 10:48:20,941 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {426#true} {432#(< main_~buf~0 main_~bufferlen~0)} #94#return; {432#(< main_~buf~0 main_~bufferlen~0)} is VALID [2022-04-27 10:48:20,942 INFO L272 TraceCheckUtils]: 0: Hoare triple {426#true} call ULTIMATE.init(); {439#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:48:20,942 INFO L290 TraceCheckUtils]: 1: Hoare triple {439#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {426#true} is VALID [2022-04-27 10:48:20,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {426#true} assume true; {426#true} is VALID [2022-04-27 10:48:20,942 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {426#true} {426#true} #102#return; {426#true} is VALID [2022-04-27 10:48:20,942 INFO L272 TraceCheckUtils]: 4: Hoare triple {426#true} call #t~ret8 := main(); {426#true} is VALID [2022-04-27 10:48:20,942 INFO L290 TraceCheckUtils]: 5: Hoare triple {426#true} havoc ~in~0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~inlen~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~bufferlen~0 := #t~nondet2;havoc #t~nondet2;havoc ~buf~0;havoc ~buflim~0; {426#true} is VALID [2022-04-27 10:48:20,943 INFO L290 TraceCheckUtils]: 6: Hoare triple {426#true} assume ~bufferlen~0 > 1; {431#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:20,943 INFO L290 TraceCheckUtils]: 7: Hoare triple {431#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {431#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:20,943 INFO L290 TraceCheckUtils]: 8: Hoare triple {431#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {431#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:20,944 INFO L290 TraceCheckUtils]: 9: Hoare triple {431#(<= 2 main_~bufferlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {432#(< main_~buf~0 main_~bufferlen~0)} is VALID [2022-04-27 10:48:20,944 INFO L290 TraceCheckUtils]: 10: Hoare triple {432#(< main_~buf~0 main_~bufferlen~0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {432#(< main_~buf~0 main_~bufferlen~0)} is VALID [2022-04-27 10:48:20,945 INFO L290 TraceCheckUtils]: 11: Hoare triple {432#(< main_~buf~0 main_~bufferlen~0)} assume !(0 != #t~nondet3);havoc #t~nondet3; {432#(< main_~buf~0 main_~bufferlen~0)} is VALID [2022-04-27 10:48:20,945 INFO L272 TraceCheckUtils]: 12: Hoare triple {432#(< main_~buf~0 main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {426#true} is VALID [2022-04-27 10:48:20,975 INFO L290 TraceCheckUtils]: 13: Hoare triple {426#true} ~cond := #in~cond; {426#true} is VALID [2022-04-27 10:48:20,975 INFO L290 TraceCheckUtils]: 14: Hoare triple {426#true} assume !(0 == ~cond); {426#true} is VALID [2022-04-27 10:48:20,976 INFO L290 TraceCheckUtils]: 15: Hoare triple {426#true} assume true; {426#true} is VALID [2022-04-27 10:48:20,978 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {426#true} {432#(< main_~buf~0 main_~bufferlen~0)} #94#return; {432#(< main_~buf~0 main_~bufferlen~0)} is VALID [2022-04-27 10:48:20,980 INFO L272 TraceCheckUtils]: 17: Hoare triple {432#(< main_~buf~0 main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {437#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:20,981 INFO L290 TraceCheckUtils]: 18: Hoare triple {437#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {438#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 10:48:20,981 INFO L290 TraceCheckUtils]: 19: Hoare triple {438#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {427#false} is VALID [2022-04-27 10:48:20,981 INFO L290 TraceCheckUtils]: 20: Hoare triple {427#false} assume !false; {427#false} is VALID [2022-04-27 10:48:20,981 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:48:20,982 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:48:20,982 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [164853946] [2022-04-27 10:48:20,982 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [164853946] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 10:48:20,982 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 10:48:20,982 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-27 10:48:20,982 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1297374997] [2022-04-27 10:48:20,982 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 10:48:20,983 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.142857142857143) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 21 [2022-04-27 10:48:20,983 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:48:20,983 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.142857142857143) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:48:20,999 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:48:20,999 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-27 10:48:20,999 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:48:21,000 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-27 10:48:21,000 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-04-27 10:48:21,000 INFO L87 Difference]: Start difference. First operand 34 states and 41 transitions. Second operand has 7 states, 7 states have (on average 2.142857142857143) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:48:21,433 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:21,433 INFO L93 Difference]: Finished difference Result 49 states and 61 transitions. [2022-04-27 10:48:21,433 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 10:48:21,433 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.142857142857143) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 21 [2022-04-27 10:48:21,434 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:48:21,434 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.142857142857143) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:48:21,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2022-04-27 10:48:21,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.142857142857143) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:48:21,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2022-04-27 10:48:21,437 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 58 transitions. [2022-04-27 10:48:21,500 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:48:21,501 INFO L225 Difference]: With dead ends: 49 [2022-04-27 10:48:21,501 INFO L226 Difference]: Without dead ends: 47 [2022-04-27 10:48:21,502 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-27 10:48:21,502 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 44 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 144 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 188 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 44 IncrementalHoareTripleChecker+Valid, 144 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 10:48:21,503 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 48 Invalid, 188 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 144 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 10:48:21,503 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-27 10:48:21,520 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 45. [2022-04-27 10:48:21,520 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:48:21,520 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 45 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 29 states have internal predecessors, (31), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 10:48:21,520 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 45 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 29 states have internal predecessors, (31), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 10:48:21,521 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 45 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 29 states have internal predecessors, (31), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 10:48:21,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:21,522 INFO L93 Difference]: Finished difference Result 47 states and 59 transitions. [2022-04-27 10:48:21,523 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 59 transitions. [2022-04-27 10:48:21,523 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:21,523 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:48:21,523 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 29 states have internal predecessors, (31), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) Second operand 47 states. [2022-04-27 10:48:21,524 INFO L87 Difference]: Start difference. First operand has 45 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 29 states have internal predecessors, (31), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) Second operand 47 states. [2022-04-27 10:48:21,525 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:21,525 INFO L93 Difference]: Finished difference Result 47 states and 59 transitions. [2022-04-27 10:48:21,525 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 59 transitions. [2022-04-27 10:48:21,526 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:21,526 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:48:21,526 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:48:21,526 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:48:21,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 29 states have internal predecessors, (31), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 10:48:21,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 57 transitions. [2022-04-27 10:48:21,528 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 57 transitions. Word has length 21 [2022-04-27 10:48:21,528 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:48:21,528 INFO L495 AbstractCegarLoop]: Abstraction has 45 states and 57 transitions. [2022-04-27 10:48:21,528 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.142857142857143) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:48:21,528 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 57 transitions. [2022-04-27 10:48:21,528 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-27 10:48:21,528 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:48:21,529 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:48:21,529 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-27 10:48:21,529 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:48:21,529 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:48:21,529 INFO L85 PathProgramCache]: Analyzing trace with hash -1742477006, now seen corresponding path program 1 times [2022-04-27 10:48:21,529 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:48:21,529 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [869669737] [2022-04-27 10:48:21,529 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:48:21,529 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:48:21,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:21,600 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:48:21,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:21,605 INFO L290 TraceCheckUtils]: 0: Hoare triple {699#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {682#true} is VALID [2022-04-27 10:48:21,605 INFO L290 TraceCheckUtils]: 1: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-27 10:48:21,605 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {682#true} {682#true} #102#return; {682#true} is VALID [2022-04-27 10:48:21,605 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-27 10:48:21,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:21,609 INFO L290 TraceCheckUtils]: 0: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-27 10:48:21,609 INFO L290 TraceCheckUtils]: 1: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-27 10:48:21,609 INFO L290 TraceCheckUtils]: 2: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-27 10:48:21,609 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {682#true} {687#(= main_~in~0 0)} #86#return; {687#(= main_~in~0 0)} is VALID [2022-04-27 10:48:21,610 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-27 10:48:21,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:21,614 INFO L290 TraceCheckUtils]: 0: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-27 10:48:21,614 INFO L290 TraceCheckUtils]: 1: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-27 10:48:21,614 INFO L290 TraceCheckUtils]: 2: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-27 10:48:21,614 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {682#true} {687#(= main_~in~0 0)} #88#return; {687#(= main_~in~0 0)} is VALID [2022-04-27 10:48:21,615 INFO L272 TraceCheckUtils]: 0: Hoare triple {682#true} call ULTIMATE.init(); {699#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:48:21,615 INFO L290 TraceCheckUtils]: 1: Hoare triple {699#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {682#true} is VALID [2022-04-27 10:48:21,615 INFO L290 TraceCheckUtils]: 2: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-27 10:48:21,615 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {682#true} {682#true} #102#return; {682#true} is VALID [2022-04-27 10:48:21,615 INFO L272 TraceCheckUtils]: 4: Hoare triple {682#true} call #t~ret8 := main(); {682#true} is VALID [2022-04-27 10:48:21,616 INFO L290 TraceCheckUtils]: 5: Hoare triple {682#true} havoc ~in~0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~inlen~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~bufferlen~0 := #t~nondet2;havoc #t~nondet2;havoc ~buf~0;havoc ~buflim~0; {682#true} is VALID [2022-04-27 10:48:21,616 INFO L290 TraceCheckUtils]: 6: Hoare triple {682#true} assume ~bufferlen~0 > 1; {682#true} is VALID [2022-04-27 10:48:21,616 INFO L290 TraceCheckUtils]: 7: Hoare triple {682#true} assume ~inlen~0 > 0; {682#true} is VALID [2022-04-27 10:48:21,616 INFO L290 TraceCheckUtils]: 8: Hoare triple {682#true} assume ~bufferlen~0 < ~inlen~0; {682#true} is VALID [2022-04-27 10:48:21,616 INFO L290 TraceCheckUtils]: 9: Hoare triple {682#true} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {687#(= main_~in~0 0)} is VALID [2022-04-27 10:48:21,616 INFO L290 TraceCheckUtils]: 10: Hoare triple {687#(= main_~in~0 0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {687#(= main_~in~0 0)} is VALID [2022-04-27 10:48:21,617 INFO L290 TraceCheckUtils]: 11: Hoare triple {687#(= main_~in~0 0)} assume !!(0 != #t~nondet3);havoc #t~nondet3; {687#(= main_~in~0 0)} is VALID [2022-04-27 10:48:21,617 INFO L290 TraceCheckUtils]: 12: Hoare triple {687#(= main_~in~0 0)} assume !(~buf~0 == ~buflim~0); {687#(= main_~in~0 0)} is VALID [2022-04-27 10:48:21,617 INFO L272 TraceCheckUtils]: 13: Hoare triple {687#(= main_~in~0 0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {682#true} is VALID [2022-04-27 10:48:21,617 INFO L290 TraceCheckUtils]: 14: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-27 10:48:21,618 INFO L290 TraceCheckUtils]: 15: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-27 10:48:21,618 INFO L290 TraceCheckUtils]: 16: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-27 10:48:21,618 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {682#true} {687#(= main_~in~0 0)} #86#return; {687#(= main_~in~0 0)} is VALID [2022-04-27 10:48:21,619 INFO L272 TraceCheckUtils]: 18: Hoare triple {687#(= main_~in~0 0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {682#true} is VALID [2022-04-27 10:48:21,619 INFO L290 TraceCheckUtils]: 19: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-27 10:48:21,619 INFO L290 TraceCheckUtils]: 20: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-27 10:48:21,619 INFO L290 TraceCheckUtils]: 21: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-27 10:48:21,619 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {682#true} {687#(= main_~in~0 0)} #88#return; {687#(= main_~in~0 0)} is VALID [2022-04-27 10:48:21,620 INFO L290 TraceCheckUtils]: 23: Hoare triple {687#(= main_~in~0 0)} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {687#(= main_~in~0 0)} is VALID [2022-04-27 10:48:21,620 INFO L290 TraceCheckUtils]: 24: Hoare triple {687#(= main_~in~0 0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {696#(<= 1 main_~in~0)} is VALID [2022-04-27 10:48:21,621 INFO L272 TraceCheckUtils]: 25: Hoare triple {696#(<= 1 main_~in~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {697#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:21,621 INFO L290 TraceCheckUtils]: 26: Hoare triple {697#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {698#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 10:48:21,621 INFO L290 TraceCheckUtils]: 27: Hoare triple {698#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {683#false} is VALID [2022-04-27 10:48:21,622 INFO L290 TraceCheckUtils]: 28: Hoare triple {683#false} assume !false; {683#false} is VALID [2022-04-27 10:48:21,622 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 10:48:21,622 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:48:21,622 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [869669737] [2022-04-27 10:48:21,622 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [869669737] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 10:48:21,622 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 10:48:21,622 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-27 10:48:21,622 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [551811434] [2022-04-27 10:48:21,622 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 10:48:21,623 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 29 [2022-04-27 10:48:21,623 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:48:21,623 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 10:48:21,648 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:48:21,648 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-27 10:48:21,648 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:48:21,649 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-27 10:48:21,649 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-04-27 10:48:21,649 INFO L87 Difference]: Start difference. First operand 45 states and 57 transitions. Second operand has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 10:48:22,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:22,165 INFO L93 Difference]: Finished difference Result 56 states and 68 transitions. [2022-04-27 10:48:22,165 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 10:48:22,165 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 29 [2022-04-27 10:48:22,165 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:48:22,165 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 10:48:22,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-27 10:48:22,167 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 10:48:22,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-27 10:48:22,169 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-27 10:48:22,223 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:48:22,226 INFO L225 Difference]: With dead ends: 56 [2022-04-27 10:48:22,226 INFO L226 Difference]: Without dead ends: 54 [2022-04-27 10:48:22,227 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-27 10:48:22,229 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 38 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 199 mSolverCounterSat, 41 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 240 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 41 IncrementalHoareTripleChecker+Valid, 199 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 10:48:22,229 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [38 Valid, 66 Invalid, 240 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [41 Valid, 199 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 10:48:22,229 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-27 10:48:22,264 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 49. [2022-04-27 10:48:22,264 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:48:22,264 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 49 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 32 states have internal predecessors, (34), 14 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 10:48:22,265 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 49 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 32 states have internal predecessors, (34), 14 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 10:48:22,265 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 49 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 32 states have internal predecessors, (34), 14 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 10:48:22,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:22,268 INFO L93 Difference]: Finished difference Result 54 states and 66 transitions. [2022-04-27 10:48:22,268 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 66 transitions. [2022-04-27 10:48:22,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:22,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:48:22,269 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 32 states have internal predecessors, (34), 14 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) Second operand 54 states. [2022-04-27 10:48:22,269 INFO L87 Difference]: Start difference. First operand has 49 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 32 states have internal predecessors, (34), 14 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) Second operand 54 states. [2022-04-27 10:48:22,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:22,271 INFO L93 Difference]: Finished difference Result 54 states and 66 transitions. [2022-04-27 10:48:22,271 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 66 transitions. [2022-04-27 10:48:22,272 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:22,272 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:48:22,272 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:48:22,272 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:48:22,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 32 states have internal predecessors, (34), 14 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 10:48:22,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 60 transitions. [2022-04-27 10:48:22,274 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 60 transitions. Word has length 29 [2022-04-27 10:48:22,274 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:48:22,274 INFO L495 AbstractCegarLoop]: Abstraction has 49 states and 60 transitions. [2022-04-27 10:48:22,274 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 10:48:22,274 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 60 transitions. [2022-04-27 10:48:22,274 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-27 10:48:22,275 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:48:22,275 INFO L195 NwaCegarLoop]: 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, 1, 1] [2022-04-27 10:48:22,275 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-27 10:48:22,275 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:48:22,275 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:48:22,275 INFO L85 PathProgramCache]: Analyzing trace with hash 1571308956, now seen corresponding path program 1 times [2022-04-27 10:48:22,275 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:48:22,275 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [375934768] [2022-04-27 10:48:22,275 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:48:22,275 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:48:22,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:22,328 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:48:22,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:22,332 INFO L290 TraceCheckUtils]: 0: Hoare triple {993#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {971#true} is VALID [2022-04-27 10:48:22,332 INFO L290 TraceCheckUtils]: 1: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-27 10:48:22,332 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {971#true} {971#true} #102#return; {971#true} is VALID [2022-04-27 10:48:22,332 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 10:48:22,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:22,335 INFO L290 TraceCheckUtils]: 0: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-27 10:48:22,336 INFO L290 TraceCheckUtils]: 1: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-27 10:48:22,336 INFO L290 TraceCheckUtils]: 2: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-27 10:48:22,336 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {971#true} {977#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} #94#return; {977#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-27 10:48:22,336 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 10:48:22,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:22,340 INFO L290 TraceCheckUtils]: 0: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-27 10:48:22,340 INFO L290 TraceCheckUtils]: 1: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-27 10:48:22,340 INFO L290 TraceCheckUtils]: 2: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-27 10:48:22,341 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {971#true} {977#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} #96#return; {977#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-27 10:48:22,341 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-27 10:48:22,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:22,345 INFO L290 TraceCheckUtils]: 0: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-27 10:48:22,345 INFO L290 TraceCheckUtils]: 1: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-27 10:48:22,345 INFO L290 TraceCheckUtils]: 2: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-27 10:48:22,346 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {971#true} {986#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #98#return; {986#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-27 10:48:22,347 INFO L272 TraceCheckUtils]: 0: Hoare triple {971#true} call ULTIMATE.init(); {993#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:48:22,347 INFO L290 TraceCheckUtils]: 1: Hoare triple {993#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {971#true} is VALID [2022-04-27 10:48:22,347 INFO L290 TraceCheckUtils]: 2: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-27 10:48:22,347 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {971#true} {971#true} #102#return; {971#true} is VALID [2022-04-27 10:48:22,347 INFO L272 TraceCheckUtils]: 4: Hoare triple {971#true} call #t~ret8 := main(); {971#true} is VALID [2022-04-27 10:48:22,347 INFO L290 TraceCheckUtils]: 5: Hoare triple {971#true} havoc ~in~0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~inlen~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~bufferlen~0 := #t~nondet2;havoc #t~nondet2;havoc ~buf~0;havoc ~buflim~0; {971#true} is VALID [2022-04-27 10:48:22,347 INFO L290 TraceCheckUtils]: 6: Hoare triple {971#true} assume ~bufferlen~0 > 1; {976#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:22,348 INFO L290 TraceCheckUtils]: 7: Hoare triple {976#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {976#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:22,348 INFO L290 TraceCheckUtils]: 8: Hoare triple {976#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {976#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:22,348 INFO L290 TraceCheckUtils]: 9: Hoare triple {976#(<= 2 main_~bufferlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {977#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-27 10:48:22,349 INFO L290 TraceCheckUtils]: 10: Hoare triple {977#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {977#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-27 10:48:22,349 INFO L290 TraceCheckUtils]: 11: Hoare triple {977#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} assume !(0 != #t~nondet3);havoc #t~nondet3; {977#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-27 10:48:22,349 INFO L272 TraceCheckUtils]: 12: Hoare triple {977#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {971#true} is VALID [2022-04-27 10:48:22,349 INFO L290 TraceCheckUtils]: 13: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-27 10:48:22,349 INFO L290 TraceCheckUtils]: 14: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-27 10:48:22,349 INFO L290 TraceCheckUtils]: 15: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-27 10:48:22,350 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {971#true} {977#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} #94#return; {977#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-27 10:48:22,350 INFO L272 TraceCheckUtils]: 17: Hoare triple {977#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {971#true} is VALID [2022-04-27 10:48:22,350 INFO L290 TraceCheckUtils]: 18: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-27 10:48:22,350 INFO L290 TraceCheckUtils]: 19: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-27 10:48:22,350 INFO L290 TraceCheckUtils]: 20: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-27 10:48:22,351 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {971#true} {977#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} #96#return; {977#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-27 10:48:22,351 INFO L290 TraceCheckUtils]: 22: Hoare triple {977#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} #t~post6 := ~buf~0;~buf~0 := 1 + #t~post6;havoc #t~post6; {986#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-27 10:48:22,351 INFO L272 TraceCheckUtils]: 23: Hoare triple {986#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {971#true} is VALID [2022-04-27 10:48:22,351 INFO L290 TraceCheckUtils]: 24: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-27 10:48:22,351 INFO L290 TraceCheckUtils]: 25: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-27 10:48:22,351 INFO L290 TraceCheckUtils]: 26: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-27 10:48:22,352 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {971#true} {986#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #98#return; {986#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-27 10:48:22,352 INFO L272 TraceCheckUtils]: 28: Hoare triple {986#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {991#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:22,353 INFO L290 TraceCheckUtils]: 29: Hoare triple {991#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {992#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 10:48:22,353 INFO L290 TraceCheckUtils]: 30: Hoare triple {992#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {972#false} is VALID [2022-04-27 10:48:22,353 INFO L290 TraceCheckUtils]: 31: Hoare triple {972#false} assume !false; {972#false} is VALID [2022-04-27 10:48:22,353 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 10:48:22,353 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:48:22,353 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [375934768] [2022-04-27 10:48:22,354 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [375934768] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 10:48:22,354 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 10:48:22,367 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-27 10:48:22,368 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [711699007] [2022-04-27 10:48:22,368 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 10:48:22,369 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 3 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 32 [2022-04-27 10:48:22,369 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:48:22,369 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 3 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 10:48:22,386 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:48:22,386 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 10:48:22,386 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:48:22,386 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 10:48:22,387 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-04-27 10:48:22,387 INFO L87 Difference]: Start difference. First operand 49 states and 60 transitions. Second operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 3 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 10:48:23,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:23,007 INFO L93 Difference]: Finished difference Result 75 states and 93 transitions. [2022-04-27 10:48:23,007 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 10:48:23,008 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 3 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 32 [2022-04-27 10:48:23,008 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:48:23,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 3 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 10:48:23,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-27 10:48:23,010 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 3 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 10:48:23,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-27 10:48:23,011 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 81 transitions. [2022-04-27 10:48:23,082 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:48:23,084 INFO L225 Difference]: With dead ends: 75 [2022-04-27 10:48:23,084 INFO L226 Difference]: Without dead ends: 68 [2022-04-27 10:48:23,084 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-27 10:48:23,085 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 69 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 84 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 69 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 258 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 84 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 10:48:23,085 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [69 Valid, 45 Invalid, 258 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [84 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 10:48:23,086 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2022-04-27 10:48:23,117 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 66. [2022-04-27 10:48:23,118 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:48:23,118 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand has 66 states, 40 states have (on average 1.125) internal successors, (45), 43 states have internal predecessors, (45), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 10:48:23,119 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand has 66 states, 40 states have (on average 1.125) internal successors, (45), 43 states have internal predecessors, (45), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 10:48:23,119 INFO L87 Difference]: Start difference. First operand 68 states. Second operand has 66 states, 40 states have (on average 1.125) internal successors, (45), 43 states have internal predecessors, (45), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 10:48:23,125 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:23,125 INFO L93 Difference]: Finished difference Result 68 states and 81 transitions. [2022-04-27 10:48:23,125 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 81 transitions. [2022-04-27 10:48:23,129 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:23,129 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:48:23,130 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 40 states have (on average 1.125) internal successors, (45), 43 states have internal predecessors, (45), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 68 states. [2022-04-27 10:48:23,131 INFO L87 Difference]: Start difference. First operand has 66 states, 40 states have (on average 1.125) internal successors, (45), 43 states have internal predecessors, (45), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 68 states. [2022-04-27 10:48:23,135 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:23,135 INFO L93 Difference]: Finished difference Result 68 states and 81 transitions. [2022-04-27 10:48:23,135 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 81 transitions. [2022-04-27 10:48:23,136 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:23,136 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:48:23,136 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:48:23,136 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:48:23,137 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 40 states have (on average 1.125) internal successors, (45), 43 states have internal predecessors, (45), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 10:48:23,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 79 transitions. [2022-04-27 10:48:23,145 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 79 transitions. Word has length 32 [2022-04-27 10:48:23,145 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:48:23,145 INFO L495 AbstractCegarLoop]: Abstraction has 66 states and 79 transitions. [2022-04-27 10:48:23,145 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 3 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 10:48:23,145 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 79 transitions. [2022-04-27 10:48:23,146 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-27 10:48:23,146 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:48:23,146 INFO L195 NwaCegarLoop]: 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, 1, 1, 1, 1] [2022-04-27 10:48:23,146 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-04-27 10:48:23,146 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:48:23,146 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:48:23,146 INFO L85 PathProgramCache]: Analyzing trace with hash 173943289, now seen corresponding path program 1 times [2022-04-27 10:48:23,146 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:48:23,147 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1275827501] [2022-04-27 10:48:23,147 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:48:23,147 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:48:23,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:23,211 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:48:23,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:23,215 INFO L290 TraceCheckUtils]: 0: Hoare triple {1371#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {1348#true} is VALID [2022-04-27 10:48:23,216 INFO L290 TraceCheckUtils]: 1: Hoare triple {1348#true} assume true; {1348#true} is VALID [2022-04-27 10:48:23,216 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1348#true} {1348#true} #102#return; {1348#true} is VALID [2022-04-27 10:48:23,216 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-27 10:48:23,217 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:23,220 INFO L290 TraceCheckUtils]: 0: Hoare triple {1348#true} ~cond := #in~cond; {1348#true} is VALID [2022-04-27 10:48:23,220 INFO L290 TraceCheckUtils]: 1: Hoare triple {1348#true} assume !(0 == ~cond); {1348#true} is VALID [2022-04-27 10:48:23,220 INFO L290 TraceCheckUtils]: 2: Hoare triple {1348#true} assume true; {1348#true} is VALID [2022-04-27 10:48:23,220 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1348#true} {1355#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #86#return; {1355#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-27 10:48:23,221 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-27 10:48:23,222 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:23,224 INFO L290 TraceCheckUtils]: 0: Hoare triple {1348#true} ~cond := #in~cond; {1348#true} is VALID [2022-04-27 10:48:23,224 INFO L290 TraceCheckUtils]: 1: Hoare triple {1348#true} assume !(0 == ~cond); {1348#true} is VALID [2022-04-27 10:48:23,224 INFO L290 TraceCheckUtils]: 2: Hoare triple {1348#true} assume true; {1348#true} is VALID [2022-04-27 10:48:23,225 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1348#true} {1355#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #88#return; {1355#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-27 10:48:23,225 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-27 10:48:23,226 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:23,228 INFO L290 TraceCheckUtils]: 0: Hoare triple {1348#true} ~cond := #in~cond; {1348#true} is VALID [2022-04-27 10:48:23,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {1348#true} assume !(0 == ~cond); {1348#true} is VALID [2022-04-27 10:48:23,228 INFO L290 TraceCheckUtils]: 2: Hoare triple {1348#true} assume true; {1348#true} is VALID [2022-04-27 10:48:23,228 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1348#true} {1364#(<= (+ 2 main_~in~0) main_~inlen~0)} #90#return; {1364#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:23,229 INFO L272 TraceCheckUtils]: 0: Hoare triple {1348#true} call ULTIMATE.init(); {1371#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:48:23,229 INFO L290 TraceCheckUtils]: 1: Hoare triple {1371#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {1348#true} is VALID [2022-04-27 10:48:23,229 INFO L290 TraceCheckUtils]: 2: Hoare triple {1348#true} assume true; {1348#true} is VALID [2022-04-27 10:48:23,229 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1348#true} {1348#true} #102#return; {1348#true} is VALID [2022-04-27 10:48:23,229 INFO L272 TraceCheckUtils]: 4: Hoare triple {1348#true} call #t~ret8 := main(); {1348#true} is VALID [2022-04-27 10:48:23,229 INFO L290 TraceCheckUtils]: 5: Hoare triple {1348#true} havoc ~in~0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~inlen~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~bufferlen~0 := #t~nondet2;havoc #t~nondet2;havoc ~buf~0;havoc ~buflim~0; {1348#true} is VALID [2022-04-27 10:48:23,230 INFO L290 TraceCheckUtils]: 6: Hoare triple {1348#true} assume ~bufferlen~0 > 1; {1353#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:23,230 INFO L290 TraceCheckUtils]: 7: Hoare triple {1353#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {1353#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:23,230 INFO L290 TraceCheckUtils]: 8: Hoare triple {1353#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {1354#(<= 3 main_~inlen~0)} is VALID [2022-04-27 10:48:23,231 INFO L290 TraceCheckUtils]: 9: Hoare triple {1354#(<= 3 main_~inlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {1355#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-27 10:48:23,231 INFO L290 TraceCheckUtils]: 10: Hoare triple {1355#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {1355#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-27 10:48:23,231 INFO L290 TraceCheckUtils]: 11: Hoare triple {1355#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {1355#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-27 10:48:23,232 INFO L290 TraceCheckUtils]: 12: Hoare triple {1355#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} assume !(~buf~0 == ~buflim~0); {1355#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-27 10:48:23,232 INFO L272 TraceCheckUtils]: 13: Hoare triple {1355#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {1348#true} is VALID [2022-04-27 10:48:23,232 INFO L290 TraceCheckUtils]: 14: Hoare triple {1348#true} ~cond := #in~cond; {1348#true} is VALID [2022-04-27 10:48:23,232 INFO L290 TraceCheckUtils]: 15: Hoare triple {1348#true} assume !(0 == ~cond); {1348#true} is VALID [2022-04-27 10:48:23,232 INFO L290 TraceCheckUtils]: 16: Hoare triple {1348#true} assume true; {1348#true} is VALID [2022-04-27 10:48:23,232 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1348#true} {1355#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #86#return; {1355#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-27 10:48:23,232 INFO L272 TraceCheckUtils]: 18: Hoare triple {1355#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {1348#true} is VALID [2022-04-27 10:48:23,233 INFO L290 TraceCheckUtils]: 19: Hoare triple {1348#true} ~cond := #in~cond; {1348#true} is VALID [2022-04-27 10:48:23,233 INFO L290 TraceCheckUtils]: 20: Hoare triple {1348#true} assume !(0 == ~cond); {1348#true} is VALID [2022-04-27 10:48:23,233 INFO L290 TraceCheckUtils]: 21: Hoare triple {1348#true} assume true; {1348#true} is VALID [2022-04-27 10:48:23,233 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1348#true} {1355#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #88#return; {1355#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-27 10:48:23,234 INFO L290 TraceCheckUtils]: 23: Hoare triple {1355#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {1355#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-27 10:48:23,234 INFO L290 TraceCheckUtils]: 24: Hoare triple {1355#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {1364#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:23,234 INFO L272 TraceCheckUtils]: 25: Hoare triple {1364#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {1348#true} is VALID [2022-04-27 10:48:23,234 INFO L290 TraceCheckUtils]: 26: Hoare triple {1348#true} ~cond := #in~cond; {1348#true} is VALID [2022-04-27 10:48:23,234 INFO L290 TraceCheckUtils]: 27: Hoare triple {1348#true} assume !(0 == ~cond); {1348#true} is VALID [2022-04-27 10:48:23,234 INFO L290 TraceCheckUtils]: 28: Hoare triple {1348#true} assume true; {1348#true} is VALID [2022-04-27 10:48:23,235 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1348#true} {1364#(<= (+ 2 main_~in~0) main_~inlen~0)} #90#return; {1364#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:23,235 INFO L272 TraceCheckUtils]: 30: Hoare triple {1364#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {1369#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:23,235 INFO L290 TraceCheckUtils]: 31: Hoare triple {1369#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1370#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 10:48:23,236 INFO L290 TraceCheckUtils]: 32: Hoare triple {1370#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1349#false} is VALID [2022-04-27 10:48:23,236 INFO L290 TraceCheckUtils]: 33: Hoare triple {1349#false} assume !false; {1349#false} is VALID [2022-04-27 10:48:23,236 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 10:48:23,236 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:48:23,236 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1275827501] [2022-04-27 10:48:23,236 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1275827501] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 10:48:23,236 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 10:48:23,236 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-27 10:48:23,236 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [220174071] [2022-04-27 10:48:23,236 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 10:48:23,237 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 7 states have internal predecessors, (18), 3 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 34 [2022-04-27 10:48:23,237 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:48:23,237 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.25) internal successors, (18), 7 states have internal predecessors, (18), 3 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 10:48:23,258 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:48:23,258 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 10:48:23,258 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:48:23,259 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 10:48:23,259 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-27 10:48:23,259 INFO L87 Difference]: Start difference. First operand 66 states and 79 transitions. Second operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 7 states have internal predecessors, (18), 3 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 10:48:23,944 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:23,944 INFO L93 Difference]: Finished difference Result 77 states and 90 transitions. [2022-04-27 10:48:23,944 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 10:48:23,945 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 7 states have internal predecessors, (18), 3 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 34 [2022-04-27 10:48:23,945 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:48:23,945 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 7 states have internal predecessors, (18), 3 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 10:48:23,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 75 transitions. [2022-04-27 10:48:23,946 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 7 states have internal predecessors, (18), 3 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 10:48:23,948 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 75 transitions. [2022-04-27 10:48:23,948 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 75 transitions. [2022-04-27 10:48:24,006 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:48:24,007 INFO L225 Difference]: With dead ends: 77 [2022-04-27 10:48:24,007 INFO L226 Difference]: Without dead ends: 75 [2022-04-27 10:48:24,008 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=60, Invalid=180, Unknown=0, NotChecked=0, Total=240 [2022-04-27 10:48:24,008 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 85 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 217 mSolverCounterSat, 83 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 85 SdHoareTripleChecker+Valid, 61 SdHoareTripleChecker+Invalid, 300 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 83 IncrementalHoareTripleChecker+Valid, 217 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 10:48:24,008 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [85 Valid, 61 Invalid, 300 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [83 Valid, 217 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 10:48:24,009 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-27 10:48:24,054 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 70. [2022-04-27 10:48:24,054 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:48:24,054 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 70 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 46 states have internal predecessors, (48), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 10:48:24,055 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 70 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 46 states have internal predecessors, (48), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 10:48:24,055 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 70 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 46 states have internal predecessors, (48), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 10:48:24,057 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:24,057 INFO L93 Difference]: Finished difference Result 75 states and 88 transitions. [2022-04-27 10:48:24,057 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 88 transitions. [2022-04-27 10:48:24,057 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:24,058 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:48:24,058 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 46 states have internal predecessors, (48), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 75 states. [2022-04-27 10:48:24,058 INFO L87 Difference]: Start difference. First operand has 70 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 46 states have internal predecessors, (48), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 75 states. [2022-04-27 10:48:24,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:24,060 INFO L93 Difference]: Finished difference Result 75 states and 88 transitions. [2022-04-27 10:48:24,060 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 88 transitions. [2022-04-27 10:48:24,060 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:24,060 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:48:24,060 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:48:24,060 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:48:24,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 46 states have internal predecessors, (48), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 10:48:24,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 82 transitions. [2022-04-27 10:48:24,062 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 82 transitions. Word has length 34 [2022-04-27 10:48:24,063 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:48:24,063 INFO L495 AbstractCegarLoop]: Abstraction has 70 states and 82 transitions. [2022-04-27 10:48:24,063 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 7 states have internal predecessors, (18), 3 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 10:48:24,063 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 82 transitions. [2022-04-27 10:48:24,064 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-27 10:48:24,064 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:48:24,064 INFO L195 NwaCegarLoop]: 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, 1, 1, 1, 1] [2022-04-27 10:48:24,064 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-04-27 10:48:24,064 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:48:24,064 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:48:24,064 INFO L85 PathProgramCache]: Analyzing trace with hash 1755534668, now seen corresponding path program 1 times [2022-04-27 10:48:24,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:48:24,064 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [123862319] [2022-04-27 10:48:24,065 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:48:24,065 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:48:24,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:24,172 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:48:24,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:24,176 INFO L290 TraceCheckUtils]: 0: Hoare triple {1787#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {1747#true} is VALID [2022-04-27 10:48:24,176 INFO L290 TraceCheckUtils]: 1: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,176 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1747#true} {1747#true} #102#return; {1747#true} is VALID [2022-04-27 10:48:24,177 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-27 10:48:24,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:24,179 INFO L290 TraceCheckUtils]: 0: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,180 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1747#true} {1754#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} #86#return; {1754#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-27 10:48:24,180 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-27 10:48:24,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:24,183 INFO L290 TraceCheckUtils]: 0: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,183 INFO L290 TraceCheckUtils]: 1: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,183 INFO L290 TraceCheckUtils]: 2: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,184 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1747#true} {1754#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} #88#return; {1754#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-27 10:48:24,184 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-27 10:48:24,185 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:24,186 INFO L290 TraceCheckUtils]: 0: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,187 INFO L290 TraceCheckUtils]: 1: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,187 INFO L290 TraceCheckUtils]: 2: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,187 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1747#true} {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #90#return; {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,187 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-27 10:48:24,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:24,190 INFO L290 TraceCheckUtils]: 0: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,190 INFO L290 TraceCheckUtils]: 1: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,190 INFO L290 TraceCheckUtils]: 2: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,190 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1747#true} {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #92#return; {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,190 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 37 [2022-04-27 10:48:24,191 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:24,193 INFO L290 TraceCheckUtils]: 0: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,193 INFO L290 TraceCheckUtils]: 1: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,193 INFO L290 TraceCheckUtils]: 2: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,194 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1747#true} {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #94#return; {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,194 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 42 [2022-04-27 10:48:24,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:24,196 INFO L290 TraceCheckUtils]: 0: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,196 INFO L290 TraceCheckUtils]: 1: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,196 INFO L290 TraceCheckUtils]: 2: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,197 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1747#true} {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #96#return; {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,197 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 48 [2022-04-27 10:48:24,198 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:24,200 INFO L290 TraceCheckUtils]: 0: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,200 INFO L290 TraceCheckUtils]: 1: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,200 INFO L290 TraceCheckUtils]: 2: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,201 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1747#true} {1780#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #98#return; {1780#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,201 INFO L272 TraceCheckUtils]: 0: Hoare triple {1747#true} call ULTIMATE.init(); {1787#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:48:24,201 INFO L290 TraceCheckUtils]: 1: Hoare triple {1787#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {1747#true} is VALID [2022-04-27 10:48:24,201 INFO L290 TraceCheckUtils]: 2: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,201 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1747#true} {1747#true} #102#return; {1747#true} is VALID [2022-04-27 10:48:24,201 INFO L272 TraceCheckUtils]: 4: Hoare triple {1747#true} call #t~ret8 := main(); {1747#true} is VALID [2022-04-27 10:48:24,201 INFO L290 TraceCheckUtils]: 5: Hoare triple {1747#true} havoc ~in~0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~inlen~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~bufferlen~0 := #t~nondet2;havoc #t~nondet2;havoc ~buf~0;havoc ~buflim~0; {1747#true} is VALID [2022-04-27 10:48:24,202 INFO L290 TraceCheckUtils]: 6: Hoare triple {1747#true} assume ~bufferlen~0 > 1; {1752#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,202 INFO L290 TraceCheckUtils]: 7: Hoare triple {1752#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {1752#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,202 INFO L290 TraceCheckUtils]: 8: Hoare triple {1752#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {1752#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,203 INFO L290 TraceCheckUtils]: 9: Hoare triple {1752#(<= 2 main_~bufferlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {1753#(and (or (<= main_~buflim~0 0) (and (= main_~buf~0 0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))) (or (and (< 0 (+ main_~buflim~0 1)) (= main_~buf~0 main_~buflim~0)) (not (<= main_~buflim~0 0))))} is VALID [2022-04-27 10:48:24,203 INFO L290 TraceCheckUtils]: 10: Hoare triple {1753#(and (or (<= main_~buflim~0 0) (and (= main_~buf~0 0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))) (or (and (< 0 (+ main_~buflim~0 1)) (= main_~buf~0 main_~buflim~0)) (not (<= main_~buflim~0 0))))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {1753#(and (or (<= main_~buflim~0 0) (and (= main_~buf~0 0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))) (or (and (< 0 (+ main_~buflim~0 1)) (= main_~buf~0 main_~buflim~0)) (not (<= main_~buflim~0 0))))} is VALID [2022-04-27 10:48:24,204 INFO L290 TraceCheckUtils]: 11: Hoare triple {1753#(and (or (<= main_~buflim~0 0) (and (= main_~buf~0 0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))) (or (and (< 0 (+ main_~buflim~0 1)) (= main_~buf~0 main_~buflim~0)) (not (<= main_~buflim~0 0))))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {1753#(and (or (<= main_~buflim~0 0) (and (= main_~buf~0 0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))) (or (and (< 0 (+ main_~buflim~0 1)) (= main_~buf~0 main_~buflim~0)) (not (<= main_~buflim~0 0))))} is VALID [2022-04-27 10:48:24,204 INFO L290 TraceCheckUtils]: 12: Hoare triple {1753#(and (or (<= main_~buflim~0 0) (and (= main_~buf~0 0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))) (or (and (< 0 (+ main_~buflim~0 1)) (= main_~buf~0 main_~buflim~0)) (not (<= main_~buflim~0 0))))} assume !(~buf~0 == ~buflim~0); {1754#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-27 10:48:24,204 INFO L272 TraceCheckUtils]: 13: Hoare triple {1754#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:24,205 INFO L290 TraceCheckUtils]: 14: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,205 INFO L290 TraceCheckUtils]: 15: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,205 INFO L290 TraceCheckUtils]: 16: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,205 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1747#true} {1754#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} #86#return; {1754#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-27 10:48:24,205 INFO L272 TraceCheckUtils]: 18: Hoare triple {1754#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:24,205 INFO L290 TraceCheckUtils]: 19: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,205 INFO L290 TraceCheckUtils]: 20: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,205 INFO L290 TraceCheckUtils]: 21: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,206 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1747#true} {1754#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} #88#return; {1754#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-27 10:48:24,206 INFO L290 TraceCheckUtils]: 23: Hoare triple {1754#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,206 INFO L290 TraceCheckUtils]: 24: Hoare triple {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,206 INFO L272 TraceCheckUtils]: 25: Hoare triple {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:24,206 INFO L290 TraceCheckUtils]: 26: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,207 INFO L290 TraceCheckUtils]: 27: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,207 INFO L290 TraceCheckUtils]: 28: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,207 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1747#true} {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #90#return; {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,207 INFO L272 TraceCheckUtils]: 30: Hoare triple {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:24,207 INFO L290 TraceCheckUtils]: 31: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,207 INFO L290 TraceCheckUtils]: 32: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,207 INFO L290 TraceCheckUtils]: 33: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,208 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1747#true} {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #92#return; {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,208 INFO L290 TraceCheckUtils]: 35: Hoare triple {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,208 INFO L290 TraceCheckUtils]: 36: Hoare triple {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} assume !(0 != #t~nondet3);havoc #t~nondet3; {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,208 INFO L272 TraceCheckUtils]: 37: Hoare triple {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:24,208 INFO L290 TraceCheckUtils]: 38: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,209 INFO L290 TraceCheckUtils]: 39: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,209 INFO L290 TraceCheckUtils]: 40: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,209 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1747#true} {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #94#return; {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,209 INFO L272 TraceCheckUtils]: 42: Hoare triple {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:24,209 INFO L290 TraceCheckUtils]: 43: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,209 INFO L290 TraceCheckUtils]: 44: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,209 INFO L290 TraceCheckUtils]: 45: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,210 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1747#true} {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #96#return; {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,210 INFO L290 TraceCheckUtils]: 47: Hoare triple {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #t~post6 := ~buf~0;~buf~0 := 1 + #t~post6;havoc #t~post6; {1780#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,210 INFO L272 TraceCheckUtils]: 48: Hoare triple {1780#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:24,210 INFO L290 TraceCheckUtils]: 49: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,210 INFO L290 TraceCheckUtils]: 50: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,210 INFO L290 TraceCheckUtils]: 51: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,211 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {1747#true} {1780#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #98#return; {1780#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,211 INFO L272 TraceCheckUtils]: 53: Hoare triple {1780#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {1785#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:24,211 INFO L290 TraceCheckUtils]: 54: Hoare triple {1785#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1786#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 10:48:24,212 INFO L290 TraceCheckUtils]: 55: Hoare triple {1786#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1748#false} is VALID [2022-04-27 10:48:24,212 INFO L290 TraceCheckUtils]: 56: Hoare triple {1748#false} assume !false; {1748#false} is VALID [2022-04-27 10:48:24,212 INFO L134 CoverageAnalysis]: Checked inductivity of 100 backedges. 14 proven. 2 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-27 10:48:24,212 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:48:24,212 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [123862319] [2022-04-27 10:48:24,212 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [123862319] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:48:24,212 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [128961157] [2022-04-27 10:48:24,212 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:48:24,213 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:48:24,213 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:48:24,214 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-04-27 10:48:24,244 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-04-27 10:48:24,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:24,267 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-27 10:48:24,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:24,289 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:48:24,857 INFO L272 TraceCheckUtils]: 0: Hoare triple {1747#true} call ULTIMATE.init(); {1747#true} is VALID [2022-04-27 10:48:24,857 INFO L290 TraceCheckUtils]: 1: Hoare triple {1747#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); {1747#true} is VALID [2022-04-27 10:48:24,857 INFO L290 TraceCheckUtils]: 2: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,857 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1747#true} {1747#true} #102#return; {1747#true} is VALID [2022-04-27 10:48:24,858 INFO L272 TraceCheckUtils]: 4: Hoare triple {1747#true} call #t~ret8 := main(); {1747#true} is VALID [2022-04-27 10:48:24,858 INFO L290 TraceCheckUtils]: 5: Hoare triple {1747#true} havoc ~in~0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~inlen~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~bufferlen~0 := #t~nondet2;havoc #t~nondet2;havoc ~buf~0;havoc ~buflim~0; {1747#true} is VALID [2022-04-27 10:48:24,858 INFO L290 TraceCheckUtils]: 6: Hoare triple {1747#true} assume ~bufferlen~0 > 1; {1752#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,858 INFO L290 TraceCheckUtils]: 7: Hoare triple {1752#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {1752#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,859 INFO L290 TraceCheckUtils]: 8: Hoare triple {1752#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {1752#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:24,859 INFO L290 TraceCheckUtils]: 9: Hoare triple {1752#(<= 2 main_~bufferlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {1818#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)))} is VALID [2022-04-27 10:48:24,860 INFO L290 TraceCheckUtils]: 10: Hoare triple {1818#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {1818#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)))} is VALID [2022-04-27 10:48:24,860 INFO L290 TraceCheckUtils]: 11: Hoare triple {1818#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {1818#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)))} is VALID [2022-04-27 10:48:24,861 INFO L290 TraceCheckUtils]: 12: Hoare triple {1818#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)))} assume !(~buf~0 == ~buflim~0); {1828#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))))} is VALID [2022-04-27 10:48:24,861 INFO L272 TraceCheckUtils]: 13: Hoare triple {1828#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:24,861 INFO L290 TraceCheckUtils]: 14: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,861 INFO L290 TraceCheckUtils]: 15: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,861 INFO L290 TraceCheckUtils]: 16: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,861 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1747#true} {1828#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))))} #86#return; {1828#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))))} is VALID [2022-04-27 10:48:24,861 INFO L272 TraceCheckUtils]: 18: Hoare triple {1828#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:24,862 INFO L290 TraceCheckUtils]: 19: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,862 INFO L290 TraceCheckUtils]: 20: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,862 INFO L290 TraceCheckUtils]: 21: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,869 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1747#true} {1828#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))))} #88#return; {1828#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))))} is VALID [2022-04-27 10:48:24,869 INFO L290 TraceCheckUtils]: 23: Hoare triple {1828#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {1862#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} is VALID [2022-04-27 10:48:24,870 INFO L290 TraceCheckUtils]: 24: Hoare triple {1862#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {1862#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} is VALID [2022-04-27 10:48:24,870 INFO L272 TraceCheckUtils]: 25: Hoare triple {1862#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:24,870 INFO L290 TraceCheckUtils]: 26: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,870 INFO L290 TraceCheckUtils]: 27: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,870 INFO L290 TraceCheckUtils]: 28: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,870 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1747#true} {1862#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} #90#return; {1862#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} is VALID [2022-04-27 10:48:24,870 INFO L272 TraceCheckUtils]: 30: Hoare triple {1862#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:24,871 INFO L290 TraceCheckUtils]: 31: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,871 INFO L290 TraceCheckUtils]: 32: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,871 INFO L290 TraceCheckUtils]: 33: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,871 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1747#true} {1862#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} #92#return; {1862#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} is VALID [2022-04-27 10:48:24,872 INFO L290 TraceCheckUtils]: 35: Hoare triple {1862#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {1862#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} is VALID [2022-04-27 10:48:24,872 INFO L290 TraceCheckUtils]: 36: Hoare triple {1862#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} assume !(0 != #t~nondet3);havoc #t~nondet3; {1862#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} is VALID [2022-04-27 10:48:24,872 INFO L272 TraceCheckUtils]: 37: Hoare triple {1862#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:24,872 INFO L290 TraceCheckUtils]: 38: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,872 INFO L290 TraceCheckUtils]: 39: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,872 INFO L290 TraceCheckUtils]: 40: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,873 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1747#true} {1862#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} #94#return; {1862#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} is VALID [2022-04-27 10:48:24,873 INFO L272 TraceCheckUtils]: 42: Hoare triple {1862#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:24,873 INFO L290 TraceCheckUtils]: 43: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,873 INFO L290 TraceCheckUtils]: 44: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,873 INFO L290 TraceCheckUtils]: 45: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,873 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1747#true} {1862#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} #96#return; {1862#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} is VALID [2022-04-27 10:48:24,874 INFO L290 TraceCheckUtils]: 47: Hoare triple {1862#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} #t~post6 := ~buf~0;~buf~0 := 1 + #t~post6;havoc #t~post6; {1935#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 2) (< main_~buf~0 main_~bufferlen~0))} is VALID [2022-04-27 10:48:24,874 INFO L272 TraceCheckUtils]: 48: Hoare triple {1935#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 2) (< main_~buf~0 main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:24,874 INFO L290 TraceCheckUtils]: 49: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:24,874 INFO L290 TraceCheckUtils]: 50: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:24,874 INFO L290 TraceCheckUtils]: 51: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:24,875 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {1747#true} {1935#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 2) (< main_~buf~0 main_~bufferlen~0))} #98#return; {1935#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 2) (< main_~buf~0 main_~bufferlen~0))} is VALID [2022-04-27 10:48:24,875 INFO L272 TraceCheckUtils]: 53: Hoare triple {1935#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 2) (< main_~buf~0 main_~bufferlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {1954#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:48:24,875 INFO L290 TraceCheckUtils]: 54: Hoare triple {1954#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1958#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:48:24,876 INFO L290 TraceCheckUtils]: 55: Hoare triple {1958#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1748#false} is VALID [2022-04-27 10:48:24,876 INFO L290 TraceCheckUtils]: 56: Hoare triple {1748#false} assume !false; {1748#false} is VALID [2022-04-27 10:48:24,876 INFO L134 CoverageAnalysis]: Checked inductivity of 100 backedges. 14 proven. 2 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-27 10:48:24,876 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:48:25,276 INFO L290 TraceCheckUtils]: 56: Hoare triple {1748#false} assume !false; {1748#false} is VALID [2022-04-27 10:48:25,277 INFO L290 TraceCheckUtils]: 55: Hoare triple {1958#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1748#false} is VALID [2022-04-27 10:48:25,277 INFO L290 TraceCheckUtils]: 54: Hoare triple {1954#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1958#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:48:25,278 INFO L272 TraceCheckUtils]: 53: Hoare triple {1780#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {1954#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:48:25,278 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {1747#true} {1780#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #98#return; {1780#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-27 10:48:25,278 INFO L290 TraceCheckUtils]: 51: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:25,279 INFO L290 TraceCheckUtils]: 50: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:25,279 INFO L290 TraceCheckUtils]: 49: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:25,279 INFO L272 TraceCheckUtils]: 48: Hoare triple {1780#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:25,279 INFO L290 TraceCheckUtils]: 47: Hoare triple {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #t~post6 := ~buf~0;~buf~0 := 1 + #t~post6;havoc #t~post6; {1780#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-27 10:48:25,280 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1747#true} {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #96#return; {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:25,280 INFO L290 TraceCheckUtils]: 45: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:25,280 INFO L290 TraceCheckUtils]: 44: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:25,280 INFO L290 TraceCheckUtils]: 43: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:25,280 INFO L272 TraceCheckUtils]: 42: Hoare triple {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:25,280 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1747#true} {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #94#return; {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:25,280 INFO L290 TraceCheckUtils]: 40: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:25,280 INFO L290 TraceCheckUtils]: 39: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:25,280 INFO L290 TraceCheckUtils]: 38: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:25,281 INFO L272 TraceCheckUtils]: 37: Hoare triple {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:25,282 INFO L290 TraceCheckUtils]: 36: Hoare triple {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} assume !(0 != #t~nondet3);havoc #t~nondet3; {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:25,282 INFO L290 TraceCheckUtils]: 35: Hoare triple {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:25,282 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1747#true} {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #92#return; {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:25,282 INFO L290 TraceCheckUtils]: 33: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:25,282 INFO L290 TraceCheckUtils]: 32: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:25,283 INFO L290 TraceCheckUtils]: 31: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:25,283 INFO L272 TraceCheckUtils]: 30: Hoare triple {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:25,283 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1747#true} {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #90#return; {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:25,283 INFO L290 TraceCheckUtils]: 28: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:25,283 INFO L290 TraceCheckUtils]: 27: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:25,283 INFO L290 TraceCheckUtils]: 26: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:25,283 INFO L272 TraceCheckUtils]: 25: Hoare triple {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:25,287 INFO L290 TraceCheckUtils]: 24: Hoare triple {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:25,289 INFO L290 TraceCheckUtils]: 23: Hoare triple {2064#(<= (+ main_~buf~0 3) main_~bufferlen~0)} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {1763#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:25,289 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1747#true} {2064#(<= (+ main_~buf~0 3) main_~bufferlen~0)} #88#return; {2064#(<= (+ main_~buf~0 3) main_~bufferlen~0)} is VALID [2022-04-27 10:48:25,289 INFO L290 TraceCheckUtils]: 21: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:25,289 INFO L290 TraceCheckUtils]: 20: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:25,289 INFO L290 TraceCheckUtils]: 19: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:25,289 INFO L272 TraceCheckUtils]: 18: Hoare triple {2064#(<= (+ main_~buf~0 3) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:25,290 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1747#true} {2064#(<= (+ main_~buf~0 3) main_~bufferlen~0)} #86#return; {2064#(<= (+ main_~buf~0 3) main_~bufferlen~0)} is VALID [2022-04-27 10:48:25,290 INFO L290 TraceCheckUtils]: 16: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:25,290 INFO L290 TraceCheckUtils]: 15: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 10:48:25,290 INFO L290 TraceCheckUtils]: 14: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 10:48:25,290 INFO L272 TraceCheckUtils]: 13: Hoare triple {2064#(<= (+ main_~buf~0 3) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 10:48:25,290 INFO L290 TraceCheckUtils]: 12: Hoare triple {2098#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} assume !(~buf~0 == ~buflim~0); {2064#(<= (+ main_~buf~0 3) main_~bufferlen~0)} is VALID [2022-04-27 10:48:25,291 INFO L290 TraceCheckUtils]: 11: Hoare triple {2098#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {2098#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} is VALID [2022-04-27 10:48:25,291 INFO L290 TraceCheckUtils]: 10: Hoare triple {2098#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {2098#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} is VALID [2022-04-27 10:48:25,292 INFO L290 TraceCheckUtils]: 9: Hoare triple {1752#(<= 2 main_~bufferlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {2098#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} is VALID [2022-04-27 10:48:25,292 INFO L290 TraceCheckUtils]: 8: Hoare triple {1752#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {1752#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:25,292 INFO L290 TraceCheckUtils]: 7: Hoare triple {1752#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {1752#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:25,293 INFO L290 TraceCheckUtils]: 6: Hoare triple {1747#true} assume ~bufferlen~0 > 1; {1752#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:25,293 INFO L290 TraceCheckUtils]: 5: Hoare triple {1747#true} havoc ~in~0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~inlen~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~bufferlen~0 := #t~nondet2;havoc #t~nondet2;havoc ~buf~0;havoc ~buflim~0; {1747#true} is VALID [2022-04-27 10:48:25,293 INFO L272 TraceCheckUtils]: 4: Hoare triple {1747#true} call #t~ret8 := main(); {1747#true} is VALID [2022-04-27 10:48:25,293 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1747#true} {1747#true} #102#return; {1747#true} is VALID [2022-04-27 10:48:25,293 INFO L290 TraceCheckUtils]: 2: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 10:48:25,293 INFO L290 TraceCheckUtils]: 1: Hoare triple {1747#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); {1747#true} is VALID [2022-04-27 10:48:25,293 INFO L272 TraceCheckUtils]: 0: Hoare triple {1747#true} call ULTIMATE.init(); {1747#true} is VALID [2022-04-27 10:48:25,293 INFO L134 CoverageAnalysis]: Checked inductivity of 100 backedges. 14 proven. 2 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-27 10:48:25,293 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [128961157] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:48:25,293 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:48:25,293 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9, 9] total 18 [2022-04-27 10:48:25,294 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [954690091] [2022-04-27 10:48:25,294 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:48:25,294 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 2.375) internal successors, (38), 15 states have internal predecessors, (38), 8 states have call successors, (22), 4 states have call predecessors, (22), 1 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) Word has length 57 [2022-04-27 10:48:25,295 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:48:25,295 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 16 states have (on average 2.375) internal successors, (38), 15 states have internal predecessors, (38), 8 states have call successors, (22), 4 states have call predecessors, (22), 1 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) [2022-04-27 10:48:25,349 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:48:25,349 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-27 10:48:25,349 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:48:25,350 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-27 10:48:25,350 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=239, Unknown=0, NotChecked=0, Total=306 [2022-04-27 10:48:25,350 INFO L87 Difference]: Start difference. First operand 70 states and 82 transitions. Second operand has 18 states, 16 states have (on average 2.375) internal successors, (38), 15 states have internal predecessors, (38), 8 states have call successors, (22), 4 states have call predecessors, (22), 1 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) [2022-04-27 10:48:27,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:27,149 INFO L93 Difference]: Finished difference Result 115 states and 150 transitions. [2022-04-27 10:48:27,149 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-27 10:48:27,149 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 2.375) internal successors, (38), 15 states have internal predecessors, (38), 8 states have call successors, (22), 4 states have call predecessors, (22), 1 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) Word has length 57 [2022-04-27 10:48:27,149 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:48:27,150 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 2.375) internal successors, (38), 15 states have internal predecessors, (38), 8 states have call successors, (22), 4 states have call predecessors, (22), 1 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) [2022-04-27 10:48:27,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 132 transitions. [2022-04-27 10:48:27,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 2.375) internal successors, (38), 15 states have internal predecessors, (38), 8 states have call successors, (22), 4 states have call predecessors, (22), 1 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) [2022-04-27 10:48:27,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 132 transitions. [2022-04-27 10:48:27,155 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 132 transitions. [2022-04-27 10:48:27,279 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 132 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:48:27,281 INFO L225 Difference]: With dead ends: 115 [2022-04-27 10:48:27,281 INFO L226 Difference]: Without dead ends: 100 [2022-04-27 10:48:27,282 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 153 GetRequests, 120 SyntacticMatches, 3 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 238 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=219, Invalid=773, Unknown=0, NotChecked=0, Total=992 [2022-04-27 10:48:27,283 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 116 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 509 mSolverCounterSat, 201 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 116 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 710 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 201 IncrementalHoareTripleChecker+Valid, 509 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-27 10:48:27,283 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [116 Valid, 65 Invalid, 710 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [201 Valid, 509 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-27 10:48:27,284 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-04-27 10:48:27,360 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 92. [2022-04-27 10:48:27,360 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:48:27,361 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand has 92 states, 56 states have (on average 1.0892857142857142) internal successors, (61), 59 states have internal predecessors, (61), 26 states have call successors, (26), 10 states have call predecessors, (26), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 10:48:27,361 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand has 92 states, 56 states have (on average 1.0892857142857142) internal successors, (61), 59 states have internal predecessors, (61), 26 states have call successors, (26), 10 states have call predecessors, (26), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 10:48:27,361 INFO L87 Difference]: Start difference. First operand 100 states. Second operand has 92 states, 56 states have (on average 1.0892857142857142) internal successors, (61), 59 states have internal predecessors, (61), 26 states have call successors, (26), 10 states have call predecessors, (26), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 10:48:27,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:27,364 INFO L93 Difference]: Finished difference Result 100 states and 123 transitions. [2022-04-27 10:48:27,364 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 123 transitions. [2022-04-27 10:48:27,364 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:27,364 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:48:27,365 INFO L74 IsIncluded]: Start isIncluded. First operand has 92 states, 56 states have (on average 1.0892857142857142) internal successors, (61), 59 states have internal predecessors, (61), 26 states have call successors, (26), 10 states have call predecessors, (26), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 100 states. [2022-04-27 10:48:27,365 INFO L87 Difference]: Start difference. First operand has 92 states, 56 states have (on average 1.0892857142857142) internal successors, (61), 59 states have internal predecessors, (61), 26 states have call successors, (26), 10 states have call predecessors, (26), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 100 states. [2022-04-27 10:48:27,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:27,368 INFO L93 Difference]: Finished difference Result 100 states and 123 transitions. [2022-04-27 10:48:27,368 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 123 transitions. [2022-04-27 10:48:27,368 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:27,368 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:48:27,368 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:48:27,368 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:48:27,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 92 states, 56 states have (on average 1.0892857142857142) internal successors, (61), 59 states have internal predecessors, (61), 26 states have call successors, (26), 10 states have call predecessors, (26), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 10:48:27,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 111 transitions. [2022-04-27 10:48:27,372 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 111 transitions. Word has length 57 [2022-04-27 10:48:27,372 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:48:27,372 INFO L495 AbstractCegarLoop]: Abstraction has 92 states and 111 transitions. [2022-04-27 10:48:27,372 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 16 states have (on average 2.375) internal successors, (38), 15 states have internal predecessors, (38), 8 states have call successors, (22), 4 states have call predecessors, (22), 1 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) [2022-04-27 10:48:27,372 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 111 transitions. [2022-04-27 10:48:27,373 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-27 10:48:27,373 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:48:27,373 INFO L195 NwaCegarLoop]: 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, 1, 1, 1, 1] [2022-04-27 10:48:27,396 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-27 10:48:27,587 WARN L477 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-04-27 10:48:27,587 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:48:27,588 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:48:27,588 INFO L85 PathProgramCache]: Analyzing trace with hash 1121193385, now seen corresponding path program 1 times [2022-04-27 10:48:27,588 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:48:27,588 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [205708135] [2022-04-27 10:48:27,588 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:48:27,588 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:48:27,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:27,660 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:48:27,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:27,668 INFO L290 TraceCheckUtils]: 0: Hoare triple {2709#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {2669#true} is VALID [2022-04-27 10:48:27,668 INFO L290 TraceCheckUtils]: 1: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:27,668 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2669#true} {2669#true} #102#return; {2669#true} is VALID [2022-04-27 10:48:27,668 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-27 10:48:27,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:27,677 INFO L290 TraceCheckUtils]: 0: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:27,677 INFO L290 TraceCheckUtils]: 1: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:27,677 INFO L290 TraceCheckUtils]: 2: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:27,678 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2669#true} {2676#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #86#return; {2676#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-27 10:48:27,678 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-27 10:48:27,682 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:27,685 INFO L290 TraceCheckUtils]: 0: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:27,685 INFO L290 TraceCheckUtils]: 1: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:27,686 INFO L290 TraceCheckUtils]: 2: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:27,686 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2669#true} {2676#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #88#return; {2676#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-27 10:48:27,687 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-27 10:48:27,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:27,691 INFO L290 TraceCheckUtils]: 0: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:27,691 INFO L290 TraceCheckUtils]: 1: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:27,691 INFO L290 TraceCheckUtils]: 2: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:27,692 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2669#true} {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} #90#return; {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:27,692 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-27 10:48:27,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:27,695 INFO L290 TraceCheckUtils]: 0: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:27,695 INFO L290 TraceCheckUtils]: 1: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:27,695 INFO L290 TraceCheckUtils]: 2: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:27,696 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2669#true} {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} #92#return; {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:27,697 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-27 10:48:27,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:27,703 INFO L290 TraceCheckUtils]: 0: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:27,703 INFO L290 TraceCheckUtils]: 1: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:27,703 INFO L290 TraceCheckUtils]: 2: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:27,704 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2669#true} {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} #86#return; {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:27,704 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 43 [2022-04-27 10:48:27,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:27,708 INFO L290 TraceCheckUtils]: 0: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:27,708 INFO L290 TraceCheckUtils]: 1: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:27,708 INFO L290 TraceCheckUtils]: 2: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:27,709 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2669#true} {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} #88#return; {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:27,709 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-27 10:48:27,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:27,712 INFO L290 TraceCheckUtils]: 0: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:27,712 INFO L290 TraceCheckUtils]: 1: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:27,712 INFO L290 TraceCheckUtils]: 2: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:27,713 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2669#true} {2702#(<= (+ main_~in~0 1) main_~inlen~0)} #90#return; {2702#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2022-04-27 10:48:27,714 INFO L272 TraceCheckUtils]: 0: Hoare triple {2669#true} call ULTIMATE.init(); {2709#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:48:27,714 INFO L290 TraceCheckUtils]: 1: Hoare triple {2709#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {2669#true} is VALID [2022-04-27 10:48:27,714 INFO L290 TraceCheckUtils]: 2: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:27,714 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2669#true} {2669#true} #102#return; {2669#true} is VALID [2022-04-27 10:48:27,715 INFO L272 TraceCheckUtils]: 4: Hoare triple {2669#true} call #t~ret8 := main(); {2669#true} is VALID [2022-04-27 10:48:27,715 INFO L290 TraceCheckUtils]: 5: Hoare triple {2669#true} havoc ~in~0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~inlen~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~bufferlen~0 := #t~nondet2;havoc #t~nondet2;havoc ~buf~0;havoc ~buflim~0; {2669#true} is VALID [2022-04-27 10:48:27,716 INFO L290 TraceCheckUtils]: 6: Hoare triple {2669#true} assume ~bufferlen~0 > 1; {2674#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:27,716 INFO L290 TraceCheckUtils]: 7: Hoare triple {2674#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {2674#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:27,716 INFO L290 TraceCheckUtils]: 8: Hoare triple {2674#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {2675#(<= 3 main_~inlen~0)} is VALID [2022-04-27 10:48:27,716 INFO L290 TraceCheckUtils]: 9: Hoare triple {2675#(<= 3 main_~inlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {2676#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-27 10:48:27,717 INFO L290 TraceCheckUtils]: 10: Hoare triple {2676#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {2676#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-27 10:48:27,717 INFO L290 TraceCheckUtils]: 11: Hoare triple {2676#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {2676#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-27 10:48:27,717 INFO L290 TraceCheckUtils]: 12: Hoare triple {2676#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} assume !(~buf~0 == ~buflim~0); {2676#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-27 10:48:27,717 INFO L272 TraceCheckUtils]: 13: Hoare triple {2676#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:27,717 INFO L290 TraceCheckUtils]: 14: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:27,718 INFO L290 TraceCheckUtils]: 15: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:27,718 INFO L290 TraceCheckUtils]: 16: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:27,718 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2669#true} {2676#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #86#return; {2676#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-27 10:48:27,718 INFO L272 TraceCheckUtils]: 18: Hoare triple {2676#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:27,718 INFO L290 TraceCheckUtils]: 19: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:27,718 INFO L290 TraceCheckUtils]: 20: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:27,718 INFO L290 TraceCheckUtils]: 21: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:27,719 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2669#true} {2676#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #88#return; {2676#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-27 10:48:27,719 INFO L290 TraceCheckUtils]: 23: Hoare triple {2676#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {2676#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-27 10:48:27,719 INFO L290 TraceCheckUtils]: 24: Hoare triple {2676#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:27,719 INFO L272 TraceCheckUtils]: 25: Hoare triple {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:27,719 INFO L290 TraceCheckUtils]: 26: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:27,719 INFO L290 TraceCheckUtils]: 27: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:27,720 INFO L290 TraceCheckUtils]: 28: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:27,720 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2669#true} {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} #90#return; {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:27,720 INFO L272 TraceCheckUtils]: 30: Hoare triple {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:27,720 INFO L290 TraceCheckUtils]: 31: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:27,720 INFO L290 TraceCheckUtils]: 32: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:27,720 INFO L290 TraceCheckUtils]: 33: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:27,720 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2669#true} {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} #92#return; {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:27,721 INFO L290 TraceCheckUtils]: 35: Hoare triple {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:27,721 INFO L290 TraceCheckUtils]: 36: Hoare triple {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} assume !!(0 != #t~nondet3);havoc #t~nondet3; {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:27,721 INFO L290 TraceCheckUtils]: 37: Hoare triple {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} assume !(~buf~0 == ~buflim~0); {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:27,721 INFO L272 TraceCheckUtils]: 38: Hoare triple {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:27,721 INFO L290 TraceCheckUtils]: 39: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:27,721 INFO L290 TraceCheckUtils]: 40: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:27,721 INFO L290 TraceCheckUtils]: 41: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:27,722 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2669#true} {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} #86#return; {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:27,722 INFO L272 TraceCheckUtils]: 43: Hoare triple {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:27,722 INFO L290 TraceCheckUtils]: 44: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:27,722 INFO L290 TraceCheckUtils]: 45: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:27,722 INFO L290 TraceCheckUtils]: 46: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:27,722 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {2669#true} {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} #88#return; {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:27,723 INFO L290 TraceCheckUtils]: 48: Hoare triple {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:27,723 INFO L290 TraceCheckUtils]: 49: Hoare triple {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {2702#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2022-04-27 10:48:27,723 INFO L272 TraceCheckUtils]: 50: Hoare triple {2702#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:27,723 INFO L290 TraceCheckUtils]: 51: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:27,723 INFO L290 TraceCheckUtils]: 52: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:27,723 INFO L290 TraceCheckUtils]: 53: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:27,724 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {2669#true} {2702#(<= (+ main_~in~0 1) main_~inlen~0)} #90#return; {2702#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2022-04-27 10:48:27,724 INFO L272 TraceCheckUtils]: 55: Hoare triple {2702#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {2707#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:27,724 INFO L290 TraceCheckUtils]: 56: Hoare triple {2707#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {2708#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 10:48:27,725 INFO L290 TraceCheckUtils]: 57: Hoare triple {2708#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {2670#false} is VALID [2022-04-27 10:48:27,725 INFO L290 TraceCheckUtils]: 58: Hoare triple {2670#false} assume !false; {2670#false} is VALID [2022-04-27 10:48:27,725 INFO L134 CoverageAnalysis]: Checked inductivity of 107 backedges. 14 proven. 9 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-27 10:48:27,725 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:48:27,725 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [205708135] [2022-04-27 10:48:27,725 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [205708135] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:48:27,725 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [764847784] [2022-04-27 10:48:27,725 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:48:27,725 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:48:27,725 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:48:27,726 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-04-27 10:48:27,727 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-04-27 10:48:27,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:27,770 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-27 10:48:27,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:27,782 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:48:28,207 INFO L272 TraceCheckUtils]: 0: Hoare triple {2669#true} call ULTIMATE.init(); {2669#true} is VALID [2022-04-27 10:48:28,208 INFO L290 TraceCheckUtils]: 1: Hoare triple {2669#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); {2669#true} is VALID [2022-04-27 10:48:28,208 INFO L290 TraceCheckUtils]: 2: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:28,208 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2669#true} {2669#true} #102#return; {2669#true} is VALID [2022-04-27 10:48:28,208 INFO L272 TraceCheckUtils]: 4: Hoare triple {2669#true} call #t~ret8 := main(); {2669#true} is VALID [2022-04-27 10:48:28,208 INFO L290 TraceCheckUtils]: 5: Hoare triple {2669#true} havoc ~in~0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~inlen~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~bufferlen~0 := #t~nondet2;havoc #t~nondet2;havoc ~buf~0;havoc ~buflim~0; {2669#true} is VALID [2022-04-27 10:48:28,208 INFO L290 TraceCheckUtils]: 6: Hoare triple {2669#true} assume ~bufferlen~0 > 1; {2674#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:28,208 INFO L290 TraceCheckUtils]: 7: Hoare triple {2674#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {2674#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:28,209 INFO L290 TraceCheckUtils]: 8: Hoare triple {2674#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {2675#(<= 3 main_~inlen~0)} is VALID [2022-04-27 10:48:28,209 INFO L290 TraceCheckUtils]: 9: Hoare triple {2675#(<= 3 main_~inlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {2740#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-27 10:48:28,209 INFO L290 TraceCheckUtils]: 10: Hoare triple {2740#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {2740#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-27 10:48:28,210 INFO L290 TraceCheckUtils]: 11: Hoare triple {2740#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {2740#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-27 10:48:28,210 INFO L290 TraceCheckUtils]: 12: Hoare triple {2740#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} assume !(~buf~0 == ~buflim~0); {2740#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-27 10:48:28,210 INFO L272 TraceCheckUtils]: 13: Hoare triple {2740#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:28,210 INFO L290 TraceCheckUtils]: 14: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:28,210 INFO L290 TraceCheckUtils]: 15: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:28,210 INFO L290 TraceCheckUtils]: 16: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:28,217 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2669#true} {2740#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} #86#return; {2740#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-27 10:48:28,217 INFO L272 TraceCheckUtils]: 18: Hoare triple {2740#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:28,217 INFO L290 TraceCheckUtils]: 19: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:28,217 INFO L290 TraceCheckUtils]: 20: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:28,217 INFO L290 TraceCheckUtils]: 21: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:28,220 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2669#true} {2740#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} #88#return; {2740#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-27 10:48:28,220 INFO L290 TraceCheckUtils]: 23: Hoare triple {2740#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {2740#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-27 10:48:28,220 INFO L290 TraceCheckUtils]: 24: Hoare triple {2740#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-27 10:48:28,220 INFO L272 TraceCheckUtils]: 25: Hoare triple {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:28,220 INFO L290 TraceCheckUtils]: 26: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:28,220 INFO L290 TraceCheckUtils]: 27: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:28,221 INFO L290 TraceCheckUtils]: 28: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:28,221 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2669#true} {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} #90#return; {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-27 10:48:28,221 INFO L272 TraceCheckUtils]: 30: Hoare triple {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:28,221 INFO L290 TraceCheckUtils]: 31: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:28,221 INFO L290 TraceCheckUtils]: 32: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:28,221 INFO L290 TraceCheckUtils]: 33: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:28,221 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2669#true} {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} #92#return; {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-27 10:48:28,222 INFO L290 TraceCheckUtils]: 35: Hoare triple {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-27 10:48:28,222 INFO L290 TraceCheckUtils]: 36: Hoare triple {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-27 10:48:28,222 INFO L290 TraceCheckUtils]: 37: Hoare triple {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} assume !(~buf~0 == ~buflim~0); {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-27 10:48:28,222 INFO L272 TraceCheckUtils]: 38: Hoare triple {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:28,223 INFO L290 TraceCheckUtils]: 39: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:28,223 INFO L290 TraceCheckUtils]: 40: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:28,223 INFO L290 TraceCheckUtils]: 41: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:28,229 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2669#true} {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} #86#return; {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-27 10:48:28,229 INFO L272 TraceCheckUtils]: 43: Hoare triple {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:28,229 INFO L290 TraceCheckUtils]: 44: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:28,229 INFO L290 TraceCheckUtils]: 45: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:28,229 INFO L290 TraceCheckUtils]: 46: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:28,230 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {2669#true} {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} #88#return; {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-27 10:48:28,230 INFO L290 TraceCheckUtils]: 48: Hoare triple {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-27 10:48:28,235 INFO L290 TraceCheckUtils]: 49: Hoare triple {2786#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {2862#(and (<= main_~in~0 2) (<= 3 main_~inlen~0))} is VALID [2022-04-27 10:48:28,235 INFO L272 TraceCheckUtils]: 50: Hoare triple {2862#(and (<= main_~in~0 2) (<= 3 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:28,235 INFO L290 TraceCheckUtils]: 51: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:28,235 INFO L290 TraceCheckUtils]: 52: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:28,235 INFO L290 TraceCheckUtils]: 53: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:28,235 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {2669#true} {2862#(and (<= main_~in~0 2) (<= 3 main_~inlen~0))} #90#return; {2862#(and (<= main_~in~0 2) (<= 3 main_~inlen~0))} is VALID [2022-04-27 10:48:28,236 INFO L272 TraceCheckUtils]: 55: Hoare triple {2862#(and (<= main_~in~0 2) (<= 3 main_~inlen~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {2881#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:48:28,236 INFO L290 TraceCheckUtils]: 56: Hoare triple {2881#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2885#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:48:28,236 INFO L290 TraceCheckUtils]: 57: Hoare triple {2885#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2670#false} is VALID [2022-04-27 10:48:28,237 INFO L290 TraceCheckUtils]: 58: Hoare triple {2670#false} assume !false; {2670#false} is VALID [2022-04-27 10:48:28,237 INFO L134 CoverageAnalysis]: Checked inductivity of 107 backedges. 14 proven. 9 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-27 10:48:28,237 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:48:28,507 INFO L290 TraceCheckUtils]: 58: Hoare triple {2670#false} assume !false; {2670#false} is VALID [2022-04-27 10:48:28,507 INFO L290 TraceCheckUtils]: 57: Hoare triple {2885#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2670#false} is VALID [2022-04-27 10:48:28,507 INFO L290 TraceCheckUtils]: 56: Hoare triple {2881#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2885#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:48:28,508 INFO L272 TraceCheckUtils]: 55: Hoare triple {2702#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {2881#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:48:28,508 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {2669#true} {2702#(<= (+ main_~in~0 1) main_~inlen~0)} #90#return; {2702#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2022-04-27 10:48:28,509 INFO L290 TraceCheckUtils]: 53: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:28,509 INFO L290 TraceCheckUtils]: 52: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:28,509 INFO L290 TraceCheckUtils]: 51: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:28,509 INFO L272 TraceCheckUtils]: 50: Hoare triple {2702#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:28,509 INFO L290 TraceCheckUtils]: 49: Hoare triple {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {2702#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2022-04-27 10:48:28,510 INFO L290 TraceCheckUtils]: 48: Hoare triple {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:28,510 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {2669#true} {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} #88#return; {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:28,510 INFO L290 TraceCheckUtils]: 46: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:28,510 INFO L290 TraceCheckUtils]: 45: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:28,510 INFO L290 TraceCheckUtils]: 44: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:28,510 INFO L272 TraceCheckUtils]: 43: Hoare triple {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:28,511 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2669#true} {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} #86#return; {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:28,511 INFO L290 TraceCheckUtils]: 41: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:28,511 INFO L290 TraceCheckUtils]: 40: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:28,511 INFO L290 TraceCheckUtils]: 39: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:28,511 INFO L272 TraceCheckUtils]: 38: Hoare triple {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:28,511 INFO L290 TraceCheckUtils]: 37: Hoare triple {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} assume !(~buf~0 == ~buflim~0); {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:28,512 INFO L290 TraceCheckUtils]: 36: Hoare triple {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} assume !!(0 != #t~nondet3);havoc #t~nondet3; {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:28,512 INFO L290 TraceCheckUtils]: 35: Hoare triple {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:28,512 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2669#true} {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} #92#return; {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:28,512 INFO L290 TraceCheckUtils]: 33: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:28,512 INFO L290 TraceCheckUtils]: 32: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:28,512 INFO L290 TraceCheckUtils]: 31: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:28,512 INFO L272 TraceCheckUtils]: 30: Hoare triple {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:28,513 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2669#true} {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} #90#return; {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:28,513 INFO L290 TraceCheckUtils]: 28: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:28,513 INFO L290 TraceCheckUtils]: 27: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:28,513 INFO L290 TraceCheckUtils]: 26: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:28,513 INFO L272 TraceCheckUtils]: 25: Hoare triple {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:28,513 INFO L290 TraceCheckUtils]: 24: Hoare triple {2994#(<= (+ 3 main_~in~0) main_~inlen~0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {2685#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:28,514 INFO L290 TraceCheckUtils]: 23: Hoare triple {2994#(<= (+ 3 main_~in~0) main_~inlen~0)} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {2994#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:28,514 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2669#true} {2994#(<= (+ 3 main_~in~0) main_~inlen~0)} #88#return; {2994#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:28,514 INFO L290 TraceCheckUtils]: 21: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:28,514 INFO L290 TraceCheckUtils]: 20: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:28,514 INFO L290 TraceCheckUtils]: 19: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:28,514 INFO L272 TraceCheckUtils]: 18: Hoare triple {2994#(<= (+ 3 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:28,515 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2669#true} {2994#(<= (+ 3 main_~in~0) main_~inlen~0)} #86#return; {2994#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:28,515 INFO L290 TraceCheckUtils]: 16: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:28,515 INFO L290 TraceCheckUtils]: 15: Hoare triple {2669#true} assume !(0 == ~cond); {2669#true} is VALID [2022-04-27 10:48:28,515 INFO L290 TraceCheckUtils]: 14: Hoare triple {2669#true} ~cond := #in~cond; {2669#true} is VALID [2022-04-27 10:48:28,515 INFO L272 TraceCheckUtils]: 13: Hoare triple {2994#(<= (+ 3 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {2669#true} is VALID [2022-04-27 10:48:28,515 INFO L290 TraceCheckUtils]: 12: Hoare triple {2994#(<= (+ 3 main_~in~0) main_~inlen~0)} assume !(~buf~0 == ~buflim~0); {2994#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:28,515 INFO L290 TraceCheckUtils]: 11: Hoare triple {2994#(<= (+ 3 main_~in~0) main_~inlen~0)} assume !!(0 != #t~nondet3);havoc #t~nondet3; {2994#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:28,516 INFO L290 TraceCheckUtils]: 10: Hoare triple {2994#(<= (+ 3 main_~in~0) main_~inlen~0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {2994#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:28,516 INFO L290 TraceCheckUtils]: 9: Hoare triple {2675#(<= 3 main_~inlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {2994#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:28,516 INFO L290 TraceCheckUtils]: 8: Hoare triple {2674#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {2675#(<= 3 main_~inlen~0)} is VALID [2022-04-27 10:48:28,517 INFO L290 TraceCheckUtils]: 7: Hoare triple {2674#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {2674#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:28,517 INFO L290 TraceCheckUtils]: 6: Hoare triple {2669#true} assume ~bufferlen~0 > 1; {2674#(<= 2 main_~bufferlen~0)} is VALID [2022-04-27 10:48:28,517 INFO L290 TraceCheckUtils]: 5: Hoare triple {2669#true} havoc ~in~0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~inlen~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~bufferlen~0 := #t~nondet2;havoc #t~nondet2;havoc ~buf~0;havoc ~buflim~0; {2669#true} is VALID [2022-04-27 10:48:28,517 INFO L272 TraceCheckUtils]: 4: Hoare triple {2669#true} call #t~ret8 := main(); {2669#true} is VALID [2022-04-27 10:48:28,517 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2669#true} {2669#true} #102#return; {2669#true} is VALID [2022-04-27 10:48:28,517 INFO L290 TraceCheckUtils]: 2: Hoare triple {2669#true} assume true; {2669#true} is VALID [2022-04-27 10:48:28,517 INFO L290 TraceCheckUtils]: 1: Hoare triple {2669#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); {2669#true} is VALID [2022-04-27 10:48:28,517 INFO L272 TraceCheckUtils]: 0: Hoare triple {2669#true} call ULTIMATE.init(); {2669#true} is VALID [2022-04-27 10:48:28,517 INFO L134 CoverageAnalysis]: Checked inductivity of 107 backedges. 14 proven. 9 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-27 10:48:28,518 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [764847784] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:48:28,518 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:48:28,518 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9, 9] total 16 [2022-04-27 10:48:28,518 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [608485870] [2022-04-27 10:48:28,518 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:48:28,519 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 3.0714285714285716) internal successors, (43), 13 states have internal predecessors, (43), 8 states have call successors, (22), 4 states have call predecessors, (22), 1 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) Word has length 59 [2022-04-27 10:48:28,519 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:48:28,519 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 3.0714285714285716) internal successors, (43), 13 states have internal predecessors, (43), 8 states have call successors, (22), 4 states have call predecessors, (22), 1 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) [2022-04-27 10:48:28,594 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:48:28,595 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-27 10:48:28,595 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:48:28,596 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-27 10:48:28,596 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=187, Unknown=0, NotChecked=0, Total=240 [2022-04-27 10:48:28,596 INFO L87 Difference]: Start difference. First operand 92 states and 111 transitions. Second operand has 16 states, 14 states have (on average 3.0714285714285716) internal successors, (43), 13 states have internal predecessors, (43), 8 states have call successors, (22), 4 states have call predecessors, (22), 1 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) [2022-04-27 10:48:29,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:29,452 INFO L93 Difference]: Finished difference Result 98 states and 116 transitions. [2022-04-27 10:48:29,452 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-27 10:48:29,453 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 3.0714285714285716) internal successors, (43), 13 states have internal predecessors, (43), 8 states have call successors, (22), 4 states have call predecessors, (22), 1 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) Word has length 59 [2022-04-27 10:48:29,453 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:48:29,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 3.0714285714285716) internal successors, (43), 13 states have internal predecessors, (43), 8 states have call successors, (22), 4 states have call predecessors, (22), 1 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) [2022-04-27 10:48:29,454 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 78 transitions. [2022-04-27 10:48:29,454 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 3.0714285714285716) internal successors, (43), 13 states have internal predecessors, (43), 8 states have call successors, (22), 4 states have call predecessors, (22), 1 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) [2022-04-27 10:48:29,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 78 transitions. [2022-04-27 10:48:29,456 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 78 transitions. [2022-04-27 10:48:29,522 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:48:29,523 INFO L225 Difference]: With dead ends: 98 [2022-04-27 10:48:29,523 INFO L226 Difference]: Without dead ends: 96 [2022-04-27 10:48:29,524 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 125 SyntacticMatches, 4 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=118, Invalid=434, Unknown=0, NotChecked=0, Total=552 [2022-04-27 10:48:29,524 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 103 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 315 mSolverCounterSat, 97 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 103 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 412 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 97 IncrementalHoareTripleChecker+Valid, 315 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 10:48:29,524 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [103 Valid, 66 Invalid, 412 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [97 Valid, 315 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 10:48:29,525 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-27 10:48:29,643 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 96. [2022-04-27 10:48:29,643 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:48:29,643 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 96 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 62 states have internal predecessors, (64), 26 states have call successors, (26), 11 states have call predecessors, (26), 10 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 10:48:29,643 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 96 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 62 states have internal predecessors, (64), 26 states have call successors, (26), 11 states have call predecessors, (26), 10 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 10:48:29,644 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 96 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 62 states have internal predecessors, (64), 26 states have call successors, (26), 11 states have call predecessors, (26), 10 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 10:48:29,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:29,646 INFO L93 Difference]: Finished difference Result 96 states and 114 transitions. [2022-04-27 10:48:29,646 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 114 transitions. [2022-04-27 10:48:29,646 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:29,646 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:48:29,646 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 62 states have internal predecessors, (64), 26 states have call successors, (26), 11 states have call predecessors, (26), 10 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 96 states. [2022-04-27 10:48:29,647 INFO L87 Difference]: Start difference. First operand has 96 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 62 states have internal predecessors, (64), 26 states have call successors, (26), 11 states have call predecessors, (26), 10 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 96 states. [2022-04-27 10:48:29,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:29,651 INFO L93 Difference]: Finished difference Result 96 states and 114 transitions. [2022-04-27 10:48:29,651 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 114 transitions. [2022-04-27 10:48:29,652 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:29,652 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:48:29,652 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:48:29,652 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:48:29,660 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 62 states have internal predecessors, (64), 26 states have call successors, (26), 11 states have call predecessors, (26), 10 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 10:48:29,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 114 transitions. [2022-04-27 10:48:29,663 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 114 transitions. Word has length 59 [2022-04-27 10:48:29,663 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:48:29,663 INFO L495 AbstractCegarLoop]: Abstraction has 96 states and 114 transitions. [2022-04-27 10:48:29,663 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 3.0714285714285716) internal successors, (43), 13 states have internal predecessors, (43), 8 states have call successors, (22), 4 states have call predecessors, (22), 1 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) [2022-04-27 10:48:29,663 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 114 transitions. [2022-04-27 10:48:29,664 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2022-04-27 10:48:29,664 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:48:29,664 INFO L195 NwaCegarLoop]: 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, 1, 1, 1, 1] [2022-04-27 10:48:29,680 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-04-27 10:48:29,864 WARN L477 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-04-27 10:48:29,865 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:48:29,865 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:48:29,865 INFO L85 PathProgramCache]: Analyzing trace with hash 35434489, now seen corresponding path program 2 times [2022-04-27 10:48:29,865 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:48:29,865 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1124434230] [2022-04-27 10:48:29,865 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:48:29,865 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:48:29,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:29,977 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:48:29,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:30,008 INFO L290 TraceCheckUtils]: 0: Hoare triple {3615#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {3556#true} is VALID [2022-04-27 10:48:30,008 INFO L290 TraceCheckUtils]: 1: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,008 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3556#true} {3556#true} #102#return; {3556#true} is VALID [2022-04-27 10:48:30,008 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-27 10:48:30,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:30,012 INFO L290 TraceCheckUtils]: 0: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,012 INFO L290 TraceCheckUtils]: 1: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,012 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3556#true} {3562#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} #86#return; {3562#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} is VALID [2022-04-27 10:48:30,012 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-27 10:48:30,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:30,015 INFO L290 TraceCheckUtils]: 0: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,015 INFO L290 TraceCheckUtils]: 1: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,015 INFO L290 TraceCheckUtils]: 2: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,015 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3556#true} {3562#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} #88#return; {3562#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} is VALID [2022-04-27 10:48:30,015 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-27 10:48:30,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:30,017 INFO L290 TraceCheckUtils]: 0: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,017 INFO L290 TraceCheckUtils]: 1: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,018 INFO L290 TraceCheckUtils]: 2: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,018 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3556#true} {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} #90#return; {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-27 10:48:30,018 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-27 10:48:30,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:30,020 INFO L290 TraceCheckUtils]: 0: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,020 INFO L290 TraceCheckUtils]: 1: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,021 INFO L290 TraceCheckUtils]: 2: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,021 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3556#true} {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} #92#return; {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-27 10:48:30,021 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-27 10:48:30,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:30,036 INFO L290 TraceCheckUtils]: 0: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,036 INFO L290 TraceCheckUtils]: 1: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,036 INFO L290 TraceCheckUtils]: 2: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,036 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3556#true} {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} #86#return; {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-27 10:48:30,037 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 43 [2022-04-27 10:48:30,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:30,039 INFO L290 TraceCheckUtils]: 0: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,039 INFO L290 TraceCheckUtils]: 1: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,039 INFO L290 TraceCheckUtils]: 2: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,040 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3556#true} {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} #88#return; {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-27 10:48:30,040 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-27 10:48:30,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:30,042 INFO L290 TraceCheckUtils]: 0: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,042 INFO L290 TraceCheckUtils]: 1: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,042 INFO L290 TraceCheckUtils]: 2: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,043 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3556#true} {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} #90#return; {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:30,043 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 55 [2022-04-27 10:48:30,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:30,046 INFO L290 TraceCheckUtils]: 0: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,046 INFO L290 TraceCheckUtils]: 1: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,046 INFO L290 TraceCheckUtils]: 2: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,046 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3556#true} {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} #92#return; {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:30,047 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-27 10:48:30,048 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:30,060 INFO L290 TraceCheckUtils]: 0: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,060 INFO L290 TraceCheckUtils]: 1: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,060 INFO L290 TraceCheckUtils]: 2: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,060 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3556#true} {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} #86#return; {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:30,061 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 68 [2022-04-27 10:48:30,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:30,072 INFO L290 TraceCheckUtils]: 0: Hoare triple {3556#true} ~cond := #in~cond; {3616#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:48:30,072 INFO L290 TraceCheckUtils]: 1: Hoare triple {3616#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3613#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:30,073 INFO L290 TraceCheckUtils]: 2: Hoare triple {3613#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3613#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:30,073 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3613#(not (= |__VERIFIER_assert_#in~cond| 0))} {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} #88#return; {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:30,073 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-27 10:48:30,074 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:30,076 INFO L290 TraceCheckUtils]: 0: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,076 INFO L290 TraceCheckUtils]: 1: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,076 INFO L290 TraceCheckUtils]: 2: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,076 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3556#true} {3608#(<= (+ main_~in~0 1) main_~inlen~0)} #90#return; {3608#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2022-04-27 10:48:30,077 INFO L272 TraceCheckUtils]: 0: Hoare triple {3556#true} call ULTIMATE.init(); {3615#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:48:30,077 INFO L290 TraceCheckUtils]: 1: Hoare triple {3615#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {3556#true} is VALID [2022-04-27 10:48:30,077 INFO L290 TraceCheckUtils]: 2: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,077 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3556#true} {3556#true} #102#return; {3556#true} is VALID [2022-04-27 10:48:30,077 INFO L272 TraceCheckUtils]: 4: Hoare triple {3556#true} call #t~ret8 := main(); {3556#true} is VALID [2022-04-27 10:48:30,077 INFO L290 TraceCheckUtils]: 5: Hoare triple {3556#true} havoc ~in~0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~inlen~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~bufferlen~0 := #t~nondet2;havoc #t~nondet2;havoc ~buf~0;havoc ~buflim~0; {3556#true} is VALID [2022-04-27 10:48:30,077 INFO L290 TraceCheckUtils]: 6: Hoare triple {3556#true} assume ~bufferlen~0 > 1; {3556#true} is VALID [2022-04-27 10:48:30,077 INFO L290 TraceCheckUtils]: 7: Hoare triple {3556#true} assume ~inlen~0 > 0; {3556#true} is VALID [2022-04-27 10:48:30,077 INFO L290 TraceCheckUtils]: 8: Hoare triple {3556#true} assume ~bufferlen~0 < ~inlen~0; {3561#(<= (+ main_~bufferlen~0 1) main_~inlen~0)} is VALID [2022-04-27 10:48:30,078 INFO L290 TraceCheckUtils]: 9: Hoare triple {3561#(<= (+ main_~bufferlen~0 1) main_~inlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {3562#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} is VALID [2022-04-27 10:48:30,078 INFO L290 TraceCheckUtils]: 10: Hoare triple {3562#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {3562#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} is VALID [2022-04-27 10:48:30,078 INFO L290 TraceCheckUtils]: 11: Hoare triple {3562#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {3562#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} is VALID [2022-04-27 10:48:30,079 INFO L290 TraceCheckUtils]: 12: Hoare triple {3562#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} assume !(~buf~0 == ~buflim~0); {3562#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} is VALID [2022-04-27 10:48:30,079 INFO L272 TraceCheckUtils]: 13: Hoare triple {3562#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,079 INFO L290 TraceCheckUtils]: 14: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,079 INFO L290 TraceCheckUtils]: 15: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,079 INFO L290 TraceCheckUtils]: 16: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,079 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3556#true} {3562#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} #86#return; {3562#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} is VALID [2022-04-27 10:48:30,079 INFO L272 TraceCheckUtils]: 18: Hoare triple {3562#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,079 INFO L290 TraceCheckUtils]: 19: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,079 INFO L290 TraceCheckUtils]: 20: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,079 INFO L290 TraceCheckUtils]: 21: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,080 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3556#true} {3562#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} #88#return; {3562#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} is VALID [2022-04-27 10:48:30,080 INFO L290 TraceCheckUtils]: 23: Hoare triple {3562#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {3571#(and (<= (+ main_~bufferlen~0 2) (+ main_~buf~0 main_~inlen~0)) (= main_~in~0 0))} is VALID [2022-04-27 10:48:30,080 INFO L290 TraceCheckUtils]: 24: Hoare triple {3571#(and (<= (+ main_~bufferlen~0 2) (+ main_~buf~0 main_~inlen~0)) (= main_~in~0 0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-27 10:48:30,081 INFO L272 TraceCheckUtils]: 25: Hoare triple {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,081 INFO L290 TraceCheckUtils]: 26: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,081 INFO L290 TraceCheckUtils]: 27: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,081 INFO L290 TraceCheckUtils]: 28: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,081 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3556#true} {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} #90#return; {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-27 10:48:30,081 INFO L272 TraceCheckUtils]: 30: Hoare triple {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,081 INFO L290 TraceCheckUtils]: 31: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,081 INFO L290 TraceCheckUtils]: 32: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,081 INFO L290 TraceCheckUtils]: 33: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,082 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3556#true} {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} #92#return; {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-27 10:48:30,082 INFO L290 TraceCheckUtils]: 35: Hoare triple {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-27 10:48:30,082 INFO L290 TraceCheckUtils]: 36: Hoare triple {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-27 10:48:30,082 INFO L290 TraceCheckUtils]: 37: Hoare triple {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} assume !(~buf~0 == ~buflim~0); {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-27 10:48:30,082 INFO L272 TraceCheckUtils]: 38: Hoare triple {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,082 INFO L290 TraceCheckUtils]: 39: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,083 INFO L290 TraceCheckUtils]: 40: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,083 INFO L290 TraceCheckUtils]: 41: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,083 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3556#true} {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} #86#return; {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-27 10:48:30,083 INFO L272 TraceCheckUtils]: 43: Hoare triple {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,083 INFO L290 TraceCheckUtils]: 44: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,083 INFO L290 TraceCheckUtils]: 45: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,083 INFO L290 TraceCheckUtils]: 46: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,083 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3556#true} {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} #88#return; {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-27 10:48:30,084 INFO L290 TraceCheckUtils]: 48: Hoare triple {3572#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {3589#(or (<= (+ main_~bufferlen~0 2 main_~in~0) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:30,084 INFO L290 TraceCheckUtils]: 49: Hoare triple {3589#(or (<= (+ main_~bufferlen~0 2 main_~in~0) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:30,084 INFO L272 TraceCheckUtils]: 50: Hoare triple {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,084 INFO L290 TraceCheckUtils]: 51: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,084 INFO L290 TraceCheckUtils]: 52: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,085 INFO L290 TraceCheckUtils]: 53: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,095 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {3556#true} {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} #90#return; {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:30,095 INFO L272 TraceCheckUtils]: 55: Hoare triple {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,095 INFO L290 TraceCheckUtils]: 56: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,095 INFO L290 TraceCheckUtils]: 57: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,095 INFO L290 TraceCheckUtils]: 58: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,096 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {3556#true} {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} #92#return; {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:30,096 INFO L290 TraceCheckUtils]: 60: Hoare triple {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:30,096 INFO L290 TraceCheckUtils]: 61: Hoare triple {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:30,097 INFO L290 TraceCheckUtils]: 62: Hoare triple {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} assume !(~buf~0 == ~buflim~0); {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:30,097 INFO L272 TraceCheckUtils]: 63: Hoare triple {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,097 INFO L290 TraceCheckUtils]: 64: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,097 INFO L290 TraceCheckUtils]: 65: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,097 INFO L290 TraceCheckUtils]: 66: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,097 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3556#true} {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} #86#return; {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:30,097 INFO L272 TraceCheckUtils]: 68: Hoare triple {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,097 INFO L290 TraceCheckUtils]: 69: Hoare triple {3556#true} ~cond := #in~cond; {3616#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:48:30,098 INFO L290 TraceCheckUtils]: 70: Hoare triple {3616#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3613#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:30,098 INFO L290 TraceCheckUtils]: 71: Hoare triple {3613#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3613#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:30,098 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {3613#(not (= |__VERIFIER_assert_#in~cond| 0))} {3590#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} #88#return; {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:30,099 INFO L290 TraceCheckUtils]: 73: Hoare triple {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:30,099 INFO L290 TraceCheckUtils]: 74: Hoare triple {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {3608#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2022-04-27 10:48:30,099 INFO L272 TraceCheckUtils]: 75: Hoare triple {3608#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,099 INFO L290 TraceCheckUtils]: 76: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,099 INFO L290 TraceCheckUtils]: 77: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,099 INFO L290 TraceCheckUtils]: 78: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,100 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {3556#true} {3608#(<= (+ main_~in~0 1) main_~inlen~0)} #90#return; {3608#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2022-04-27 10:48:30,100 INFO L272 TraceCheckUtils]: 80: Hoare triple {3608#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3613#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:30,100 INFO L290 TraceCheckUtils]: 81: Hoare triple {3613#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {3614#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 10:48:30,100 INFO L290 TraceCheckUtils]: 82: Hoare triple {3614#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {3557#false} is VALID [2022-04-27 10:48:30,101 INFO L290 TraceCheckUtils]: 83: Hoare triple {3557#false} assume !false; {3557#false} is VALID [2022-04-27 10:48:30,101 INFO L134 CoverageAnalysis]: Checked inductivity of 269 backedges. 48 proven. 31 refuted. 0 times theorem prover too weak. 190 trivial. 0 not checked. [2022-04-27 10:48:30,101 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:48:30,101 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1124434230] [2022-04-27 10:48:30,101 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1124434230] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:48:30,101 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [432983728] [2022-04-27 10:48:30,101 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 10:48:30,101 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:48:30,101 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:48:30,102 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-04-27 10:48:30,103 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-04-27 10:48:30,148 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 10:48:30,148 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 10:48:30,149 INFO L263 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 10:48:30,163 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:30,164 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:48:30,843 INFO L272 TraceCheckUtils]: 0: Hoare triple {3556#true} call ULTIMATE.init(); {3556#true} is VALID [2022-04-27 10:48:30,843 INFO L290 TraceCheckUtils]: 1: Hoare triple {3556#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); {3556#true} is VALID [2022-04-27 10:48:30,843 INFO L290 TraceCheckUtils]: 2: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,843 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3556#true} {3556#true} #102#return; {3556#true} is VALID [2022-04-27 10:48:30,843 INFO L272 TraceCheckUtils]: 4: Hoare triple {3556#true} call #t~ret8 := main(); {3556#true} is VALID [2022-04-27 10:48:30,843 INFO L290 TraceCheckUtils]: 5: Hoare triple {3556#true} havoc ~in~0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~inlen~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~bufferlen~0 := #t~nondet2;havoc #t~nondet2;havoc ~buf~0;havoc ~buflim~0; {3556#true} is VALID [2022-04-27 10:48:30,843 INFO L290 TraceCheckUtils]: 6: Hoare triple {3556#true} assume ~bufferlen~0 > 1; {3638#(< 1 main_~bufferlen~0)} is VALID [2022-04-27 10:48:30,844 INFO L290 TraceCheckUtils]: 7: Hoare triple {3638#(< 1 main_~bufferlen~0)} assume ~inlen~0 > 0; {3638#(< 1 main_~bufferlen~0)} is VALID [2022-04-27 10:48:30,844 INFO L290 TraceCheckUtils]: 8: Hoare triple {3638#(< 1 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {3645#(and (< main_~bufferlen~0 main_~inlen~0) (< 1 main_~bufferlen~0))} is VALID [2022-04-27 10:48:30,844 INFO L290 TraceCheckUtils]: 9: Hoare triple {3645#(and (< main_~bufferlen~0 main_~inlen~0) (< 1 main_~bufferlen~0))} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {3649#(and (< 0 (+ main_~buflim~0 1)) (= main_~buf~0 0) (< (+ 2 main_~buflim~0) main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-27 10:48:30,845 INFO L290 TraceCheckUtils]: 10: Hoare triple {3649#(and (< 0 (+ main_~buflim~0 1)) (= main_~buf~0 0) (< (+ 2 main_~buflim~0) main_~inlen~0) (<= main_~in~0 0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {3649#(and (< 0 (+ main_~buflim~0 1)) (= main_~buf~0 0) (< (+ 2 main_~buflim~0) main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-27 10:48:30,845 INFO L290 TraceCheckUtils]: 11: Hoare triple {3649#(and (< 0 (+ main_~buflim~0 1)) (= main_~buf~0 0) (< (+ 2 main_~buflim~0) main_~inlen~0) (<= main_~in~0 0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {3649#(and (< 0 (+ main_~buflim~0 1)) (= main_~buf~0 0) (< (+ 2 main_~buflim~0) main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-27 10:48:30,845 INFO L290 TraceCheckUtils]: 12: Hoare triple {3649#(and (< 0 (+ main_~buflim~0 1)) (= main_~buf~0 0) (< (+ 2 main_~buflim~0) main_~inlen~0) (<= main_~in~0 0))} assume !(~buf~0 == ~buflim~0); {3659#(and (< 3 main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-27 10:48:30,846 INFO L272 TraceCheckUtils]: 13: Hoare triple {3659#(and (< 3 main_~inlen~0) (<= main_~in~0 0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,846 INFO L290 TraceCheckUtils]: 14: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,846 INFO L290 TraceCheckUtils]: 15: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,846 INFO L290 TraceCheckUtils]: 16: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,848 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3556#true} {3659#(and (< 3 main_~inlen~0) (<= main_~in~0 0))} #86#return; {3659#(and (< 3 main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-27 10:48:30,848 INFO L272 TraceCheckUtils]: 18: Hoare triple {3659#(and (< 3 main_~inlen~0) (<= main_~in~0 0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,848 INFO L290 TraceCheckUtils]: 19: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,848 INFO L290 TraceCheckUtils]: 20: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,848 INFO L290 TraceCheckUtils]: 21: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,848 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3556#true} {3659#(and (< 3 main_~inlen~0) (<= main_~in~0 0))} #88#return; {3659#(and (< 3 main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-27 10:48:30,849 INFO L290 TraceCheckUtils]: 23: Hoare triple {3659#(and (< 3 main_~inlen~0) (<= main_~in~0 0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {3659#(and (< 3 main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-27 10:48:30,849 INFO L290 TraceCheckUtils]: 24: Hoare triple {3659#(and (< 3 main_~inlen~0) (<= main_~in~0 0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-27 10:48:30,849 INFO L272 TraceCheckUtils]: 25: Hoare triple {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,849 INFO L290 TraceCheckUtils]: 26: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,849 INFO L290 TraceCheckUtils]: 27: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,849 INFO L290 TraceCheckUtils]: 28: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,850 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3556#true} {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} #90#return; {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-27 10:48:30,850 INFO L272 TraceCheckUtils]: 30: Hoare triple {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,850 INFO L290 TraceCheckUtils]: 31: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,850 INFO L290 TraceCheckUtils]: 32: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,850 INFO L290 TraceCheckUtils]: 33: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,853 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3556#true} {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} #92#return; {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-27 10:48:30,853 INFO L290 TraceCheckUtils]: 35: Hoare triple {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-27 10:48:30,854 INFO L290 TraceCheckUtils]: 36: Hoare triple {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-27 10:48:30,854 INFO L290 TraceCheckUtils]: 37: Hoare triple {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} assume !(~buf~0 == ~buflim~0); {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-27 10:48:30,854 INFO L272 TraceCheckUtils]: 38: Hoare triple {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,854 INFO L290 TraceCheckUtils]: 39: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,854 INFO L290 TraceCheckUtils]: 40: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,854 INFO L290 TraceCheckUtils]: 41: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,854 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3556#true} {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} #86#return; {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-27 10:48:30,855 INFO L272 TraceCheckUtils]: 43: Hoare triple {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,855 INFO L290 TraceCheckUtils]: 44: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,855 INFO L290 TraceCheckUtils]: 45: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,855 INFO L290 TraceCheckUtils]: 46: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,855 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3556#true} {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} #88#return; {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-27 10:48:30,855 INFO L290 TraceCheckUtils]: 48: Hoare triple {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-27 10:48:30,856 INFO L290 TraceCheckUtils]: 49: Hoare triple {3696#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} is VALID [2022-04-27 10:48:30,856 INFO L272 TraceCheckUtils]: 50: Hoare triple {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,856 INFO L290 TraceCheckUtils]: 51: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,856 INFO L290 TraceCheckUtils]: 52: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,856 INFO L290 TraceCheckUtils]: 53: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,856 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {3556#true} {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} #90#return; {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} is VALID [2022-04-27 10:48:30,856 INFO L272 TraceCheckUtils]: 55: Hoare triple {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,856 INFO L290 TraceCheckUtils]: 56: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,856 INFO L290 TraceCheckUtils]: 57: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,856 INFO L290 TraceCheckUtils]: 58: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,857 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {3556#true} {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} #92#return; {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} is VALID [2022-04-27 10:48:30,863 INFO L290 TraceCheckUtils]: 60: Hoare triple {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} is VALID [2022-04-27 10:48:30,863 INFO L290 TraceCheckUtils]: 61: Hoare triple {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} is VALID [2022-04-27 10:48:30,864 INFO L290 TraceCheckUtils]: 62: Hoare triple {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} assume !(~buf~0 == ~buflim~0); {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} is VALID [2022-04-27 10:48:30,864 INFO L272 TraceCheckUtils]: 63: Hoare triple {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,864 INFO L290 TraceCheckUtils]: 64: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,864 INFO L290 TraceCheckUtils]: 65: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,864 INFO L290 TraceCheckUtils]: 66: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,864 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3556#true} {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} #86#return; {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} is VALID [2022-04-27 10:48:30,864 INFO L272 TraceCheckUtils]: 68: Hoare triple {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,864 INFO L290 TraceCheckUtils]: 69: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,864 INFO L290 TraceCheckUtils]: 70: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,865 INFO L290 TraceCheckUtils]: 71: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,865 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {3556#true} {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} #88#return; {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} is VALID [2022-04-27 10:48:30,865 INFO L290 TraceCheckUtils]: 73: Hoare triple {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} is VALID [2022-04-27 10:48:30,866 INFO L290 TraceCheckUtils]: 74: Hoare triple {3772#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {3848#(and (< 3 main_~inlen~0) (<= main_~in~0 3))} is VALID [2022-04-27 10:48:30,866 INFO L272 TraceCheckUtils]: 75: Hoare triple {3848#(and (< 3 main_~inlen~0) (<= main_~in~0 3))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:30,866 INFO L290 TraceCheckUtils]: 76: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:30,866 INFO L290 TraceCheckUtils]: 77: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:30,866 INFO L290 TraceCheckUtils]: 78: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:30,866 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {3556#true} {3848#(and (< 3 main_~inlen~0) (<= main_~in~0 3))} #90#return; {3848#(and (< 3 main_~inlen~0) (<= main_~in~0 3))} is VALID [2022-04-27 10:48:30,867 INFO L272 TraceCheckUtils]: 80: Hoare triple {3848#(and (< 3 main_~inlen~0) (<= main_~in~0 3))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3867#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:48:30,867 INFO L290 TraceCheckUtils]: 81: Hoare triple {3867#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3871#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:48:30,867 INFO L290 TraceCheckUtils]: 82: Hoare triple {3871#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3557#false} is VALID [2022-04-27 10:48:30,867 INFO L290 TraceCheckUtils]: 83: Hoare triple {3557#false} assume !false; {3557#false} is VALID [2022-04-27 10:48:30,868 INFO L134 CoverageAnalysis]: Checked inductivity of 269 backedges. 22 proven. 27 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-27 10:48:30,868 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:48:31,253 INFO L290 TraceCheckUtils]: 83: Hoare triple {3557#false} assume !false; {3557#false} is VALID [2022-04-27 10:48:31,253 INFO L290 TraceCheckUtils]: 82: Hoare triple {3871#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3557#false} is VALID [2022-04-27 10:48:31,254 INFO L290 TraceCheckUtils]: 81: Hoare triple {3867#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3871#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:48:31,254 INFO L272 TraceCheckUtils]: 80: Hoare triple {3608#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3867#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:48:31,255 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {3556#true} {3608#(<= (+ main_~in~0 1) main_~inlen~0)} #90#return; {3608#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2022-04-27 10:48:31,255 INFO L290 TraceCheckUtils]: 78: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:31,255 INFO L290 TraceCheckUtils]: 77: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:31,255 INFO L290 TraceCheckUtils]: 76: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:31,255 INFO L272 TraceCheckUtils]: 75: Hoare triple {3608#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:31,255 INFO L290 TraceCheckUtils]: 74: Hoare triple {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {3608#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2022-04-27 10:48:31,256 INFO L290 TraceCheckUtils]: 73: Hoare triple {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:31,256 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {3556#true} {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} #88#return; {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:31,256 INFO L290 TraceCheckUtils]: 71: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:31,256 INFO L290 TraceCheckUtils]: 70: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:31,256 INFO L290 TraceCheckUtils]: 69: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:31,256 INFO L272 TraceCheckUtils]: 68: Hoare triple {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:31,257 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3556#true} {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} #86#return; {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:31,257 INFO L290 TraceCheckUtils]: 66: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:31,257 INFO L290 TraceCheckUtils]: 65: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:31,257 INFO L290 TraceCheckUtils]: 64: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:31,257 INFO L272 TraceCheckUtils]: 63: Hoare triple {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:31,257 INFO L290 TraceCheckUtils]: 62: Hoare triple {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} assume !(~buf~0 == ~buflim~0); {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:31,258 INFO L290 TraceCheckUtils]: 61: Hoare triple {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} assume !!(0 != #t~nondet3);havoc #t~nondet3; {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:31,258 INFO L290 TraceCheckUtils]: 60: Hoare triple {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:31,258 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {3556#true} {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} #92#return; {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:31,258 INFO L290 TraceCheckUtils]: 58: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:31,258 INFO L290 TraceCheckUtils]: 57: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:31,258 INFO L290 TraceCheckUtils]: 56: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:31,258 INFO L272 TraceCheckUtils]: 55: Hoare triple {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:31,259 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {3556#true} {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} #90#return; {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:31,259 INFO L290 TraceCheckUtils]: 53: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:31,259 INFO L290 TraceCheckUtils]: 52: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:31,259 INFO L290 TraceCheckUtils]: 51: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:31,259 INFO L272 TraceCheckUtils]: 50: Hoare triple {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:31,259 INFO L290 TraceCheckUtils]: 49: Hoare triple {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {3607#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:31,260 INFO L290 TraceCheckUtils]: 48: Hoare triple {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:31,260 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3556#true} {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} #88#return; {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:31,260 INFO L290 TraceCheckUtils]: 46: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:31,260 INFO L290 TraceCheckUtils]: 45: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:31,260 INFO L290 TraceCheckUtils]: 44: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:31,260 INFO L272 TraceCheckUtils]: 43: Hoare triple {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:31,261 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3556#true} {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} #86#return; {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:31,261 INFO L290 TraceCheckUtils]: 41: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:31,261 INFO L290 TraceCheckUtils]: 40: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:31,261 INFO L290 TraceCheckUtils]: 39: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:31,261 INFO L272 TraceCheckUtils]: 38: Hoare triple {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:31,261 INFO L290 TraceCheckUtils]: 37: Hoare triple {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} assume !(~buf~0 == ~buflim~0); {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:31,261 INFO L290 TraceCheckUtils]: 36: Hoare triple {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} assume !!(0 != #t~nondet3);havoc #t~nondet3; {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:31,262 INFO L290 TraceCheckUtils]: 35: Hoare triple {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:31,262 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3556#true} {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} #92#return; {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:31,262 INFO L290 TraceCheckUtils]: 33: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:31,262 INFO L290 TraceCheckUtils]: 32: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:31,262 INFO L290 TraceCheckUtils]: 31: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:31,262 INFO L272 TraceCheckUtils]: 30: Hoare triple {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:31,263 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3556#true} {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} #90#return; {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:31,263 INFO L290 TraceCheckUtils]: 28: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:31,263 INFO L290 TraceCheckUtils]: 27: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:31,263 INFO L290 TraceCheckUtils]: 26: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:31,263 INFO L272 TraceCheckUtils]: 25: Hoare triple {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:31,263 INFO L290 TraceCheckUtils]: 24: Hoare triple {4056#(<= (+ main_~in~0 4) main_~inlen~0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {3980#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-27 10:48:31,264 INFO L290 TraceCheckUtils]: 23: Hoare triple {4056#(<= (+ main_~in~0 4) main_~inlen~0)} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {4056#(<= (+ main_~in~0 4) main_~inlen~0)} is VALID [2022-04-27 10:48:31,264 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3556#true} {4056#(<= (+ main_~in~0 4) main_~inlen~0)} #88#return; {4056#(<= (+ main_~in~0 4) main_~inlen~0)} is VALID [2022-04-27 10:48:31,264 INFO L290 TraceCheckUtils]: 21: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:31,264 INFO L290 TraceCheckUtils]: 20: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:31,264 INFO L290 TraceCheckUtils]: 19: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:31,264 INFO L272 TraceCheckUtils]: 18: Hoare triple {4056#(<= (+ main_~in~0 4) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:31,265 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3556#true} {4056#(<= (+ main_~in~0 4) main_~inlen~0)} #86#return; {4056#(<= (+ main_~in~0 4) main_~inlen~0)} is VALID [2022-04-27 10:48:31,265 INFO L290 TraceCheckUtils]: 16: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:31,265 INFO L290 TraceCheckUtils]: 15: Hoare triple {3556#true} assume !(0 == ~cond); {3556#true} is VALID [2022-04-27 10:48:31,265 INFO L290 TraceCheckUtils]: 14: Hoare triple {3556#true} ~cond := #in~cond; {3556#true} is VALID [2022-04-27 10:48:31,265 INFO L272 TraceCheckUtils]: 13: Hoare triple {4056#(<= (+ main_~in~0 4) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3556#true} is VALID [2022-04-27 10:48:31,265 INFO L290 TraceCheckUtils]: 12: Hoare triple {4093#(or (= main_~buf~0 main_~buflim~0) (<= (+ main_~in~0 4) main_~inlen~0))} assume !(~buf~0 == ~buflim~0); {4056#(<= (+ main_~in~0 4) main_~inlen~0)} is VALID [2022-04-27 10:48:31,265 INFO L290 TraceCheckUtils]: 11: Hoare triple {4093#(or (= main_~buf~0 main_~buflim~0) (<= (+ main_~in~0 4) main_~inlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {4093#(or (= main_~buf~0 main_~buflim~0) (<= (+ main_~in~0 4) main_~inlen~0))} is VALID [2022-04-27 10:48:31,266 INFO L290 TraceCheckUtils]: 10: Hoare triple {4093#(or (= main_~buf~0 main_~buflim~0) (<= (+ main_~in~0 4) main_~inlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4093#(or (= main_~buf~0 main_~buflim~0) (<= (+ main_~in~0 4) main_~inlen~0))} is VALID [2022-04-27 10:48:31,266 INFO L290 TraceCheckUtils]: 9: Hoare triple {4103#(or (<= 4 main_~inlen~0) (= (+ (- 2) main_~bufferlen~0) 0))} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {4093#(or (= main_~buf~0 main_~buflim~0) (<= (+ main_~in~0 4) main_~inlen~0))} is VALID [2022-04-27 10:48:31,266 INFO L290 TraceCheckUtils]: 8: Hoare triple {3638#(< 1 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {4103#(or (<= 4 main_~inlen~0) (= (+ (- 2) main_~bufferlen~0) 0))} is VALID [2022-04-27 10:48:31,267 INFO L290 TraceCheckUtils]: 7: Hoare triple {3638#(< 1 main_~bufferlen~0)} assume ~inlen~0 > 0; {3638#(< 1 main_~bufferlen~0)} is VALID [2022-04-27 10:48:31,267 INFO L290 TraceCheckUtils]: 6: Hoare triple {3556#true} assume ~bufferlen~0 > 1; {3638#(< 1 main_~bufferlen~0)} is VALID [2022-04-27 10:48:31,267 INFO L290 TraceCheckUtils]: 5: Hoare triple {3556#true} havoc ~in~0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~inlen~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~bufferlen~0 := #t~nondet2;havoc #t~nondet2;havoc ~buf~0;havoc ~buflim~0; {3556#true} is VALID [2022-04-27 10:48:31,267 INFO L272 TraceCheckUtils]: 4: Hoare triple {3556#true} call #t~ret8 := main(); {3556#true} is VALID [2022-04-27 10:48:31,267 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3556#true} {3556#true} #102#return; {3556#true} is VALID [2022-04-27 10:48:31,267 INFO L290 TraceCheckUtils]: 2: Hoare triple {3556#true} assume true; {3556#true} is VALID [2022-04-27 10:48:31,267 INFO L290 TraceCheckUtils]: 1: Hoare triple {3556#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); {3556#true} is VALID [2022-04-27 10:48:31,267 INFO L272 TraceCheckUtils]: 0: Hoare triple {3556#true} call ULTIMATE.init(); {3556#true} is VALID [2022-04-27 10:48:31,268 INFO L134 CoverageAnalysis]: Checked inductivity of 269 backedges. 22 proven. 27 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-27 10:48:31,268 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [432983728] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:48:31,268 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:48:31,268 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11, 11] total 27 [2022-04-27 10:48:31,268 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1232115474] [2022-04-27 10:48:31,268 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:48:31,270 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 25 states have (on average 2.72) internal successors, (68), 25 states have internal predecessors, (68), 12 states have call successors, (38), 4 states have call predecessors, (38), 2 states have return successors, (33), 12 states have call predecessors, (33), 12 states have call successors, (33) Word has length 84 [2022-04-27 10:48:31,271 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:48:31,271 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 27 states, 25 states have (on average 2.72) internal successors, (68), 25 states have internal predecessors, (68), 12 states have call successors, (38), 4 states have call predecessors, (38), 2 states have return successors, (33), 12 states have call predecessors, (33), 12 states have call successors, (33) [2022-04-27 10:48:31,379 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 139 edges. 139 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:48:31,379 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-27 10:48:31,379 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:48:31,380 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-27 10:48:31,380 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=606, Unknown=0, NotChecked=0, Total=702 [2022-04-27 10:48:31,380 INFO L87 Difference]: Start difference. First operand 96 states and 114 transitions. Second operand has 27 states, 25 states have (on average 2.72) internal successors, (68), 25 states have internal predecessors, (68), 12 states have call successors, (38), 4 states have call predecessors, (38), 2 states have return successors, (33), 12 states have call predecessors, (33), 12 states have call successors, (33) [2022-04-27 10:48:33,992 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:33,992 INFO L93 Difference]: Finished difference Result 113 states and 135 transitions. [2022-04-27 10:48:33,993 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-27 10:48:33,993 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 25 states have (on average 2.72) internal successors, (68), 25 states have internal predecessors, (68), 12 states have call successors, (38), 4 states have call predecessors, (38), 2 states have return successors, (33), 12 states have call predecessors, (33), 12 states have call successors, (33) Word has length 84 [2022-04-27 10:48:33,993 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:48:33,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 25 states have (on average 2.72) internal successors, (68), 25 states have internal predecessors, (68), 12 states have call successors, (38), 4 states have call predecessors, (38), 2 states have return successors, (33), 12 states have call predecessors, (33), 12 states have call successors, (33) [2022-04-27 10:48:33,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 111 transitions. [2022-04-27 10:48:33,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 25 states have (on average 2.72) internal successors, (68), 25 states have internal predecessors, (68), 12 states have call successors, (38), 4 states have call predecessors, (38), 2 states have return successors, (33), 12 states have call predecessors, (33), 12 states have call successors, (33) [2022-04-27 10:48:33,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 111 transitions. [2022-04-27 10:48:33,997 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 111 transitions. [2022-04-27 10:48:34,112 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:48:34,113 INFO L225 Difference]: With dead ends: 113 [2022-04-27 10:48:34,113 INFO L226 Difference]: Without dead ends: 111 [2022-04-27 10:48:34,114 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 228 GetRequests, 177 SyntacticMatches, 3 SemanticMatches, 48 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 555 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=479, Invalid=1971, Unknown=0, NotChecked=0, Total=2450 [2022-04-27 10:48:34,116 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 162 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 637 mSolverCounterSat, 338 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 162 SdHoareTripleChecker+Valid, 91 SdHoareTripleChecker+Invalid, 975 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 338 IncrementalHoareTripleChecker+Valid, 637 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-27 10:48:34,116 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [162 Valid, 91 Invalid, 975 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [338 Valid, 637 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-27 10:48:34,117 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2022-04-27 10:48:34,250 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 100. [2022-04-27 10:48:34,250 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:48:34,250 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand has 100 states, 62 states have (on average 1.0806451612903225) internal successors, (67), 65 states have internal predecessors, (67), 26 states have call successors, (26), 12 states have call predecessors, (26), 11 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 10:48:34,250 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand has 100 states, 62 states have (on average 1.0806451612903225) internal successors, (67), 65 states have internal predecessors, (67), 26 states have call successors, (26), 12 states have call predecessors, (26), 11 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 10:48:34,251 INFO L87 Difference]: Start difference. First operand 111 states. Second operand has 100 states, 62 states have (on average 1.0806451612903225) internal successors, (67), 65 states have internal predecessors, (67), 26 states have call successors, (26), 12 states have call predecessors, (26), 11 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 10:48:34,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:34,262 INFO L93 Difference]: Finished difference Result 111 states and 133 transitions. [2022-04-27 10:48:34,262 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 133 transitions. [2022-04-27 10:48:34,262 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:34,262 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:48:34,262 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 62 states have (on average 1.0806451612903225) internal successors, (67), 65 states have internal predecessors, (67), 26 states have call successors, (26), 12 states have call predecessors, (26), 11 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 111 states. [2022-04-27 10:48:34,262 INFO L87 Difference]: Start difference. First operand has 100 states, 62 states have (on average 1.0806451612903225) internal successors, (67), 65 states have internal predecessors, (67), 26 states have call successors, (26), 12 states have call predecessors, (26), 11 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 111 states. [2022-04-27 10:48:34,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:34,266 INFO L93 Difference]: Finished difference Result 111 states and 133 transitions. [2022-04-27 10:48:34,266 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 133 transitions. [2022-04-27 10:48:34,267 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:34,267 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:48:34,267 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:48:34,267 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:48:34,267 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 62 states have (on average 1.0806451612903225) internal successors, (67), 65 states have internal predecessors, (67), 26 states have call successors, (26), 12 states have call predecessors, (26), 11 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 10:48:34,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 117 transitions. [2022-04-27 10:48:34,269 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 117 transitions. Word has length 84 [2022-04-27 10:48:34,269 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:48:34,270 INFO L495 AbstractCegarLoop]: Abstraction has 100 states and 117 transitions. [2022-04-27 10:48:34,270 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 25 states have (on average 2.72) internal successors, (68), 25 states have internal predecessors, (68), 12 states have call successors, (38), 4 states have call predecessors, (38), 2 states have return successors, (33), 12 states have call predecessors, (33), 12 states have call successors, (33) [2022-04-27 10:48:34,270 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2022-04-27 10:48:34,272 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 108 [2022-04-27 10:48:34,272 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:48:34,272 INFO L195 NwaCegarLoop]: 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, 1, 1, 1, 1] [2022-04-27 10:48:34,291 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-04-27 10:48:34,479 WARN L477 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-04-27 10:48:34,481 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:48:34,482 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:48:34,482 INFO L85 PathProgramCache]: Analyzing trace with hash 1810763596, now seen corresponding path program 2 times [2022-04-27 10:48:34,482 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:48:34,482 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1122106638] [2022-04-27 10:48:34,482 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:48:34,482 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:48:34,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:34,635 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:48:34,637 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:34,645 INFO L290 TraceCheckUtils]: 0: Hoare triple {4780#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {4707#true} is VALID [2022-04-27 10:48:34,645 INFO L290 TraceCheckUtils]: 1: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,645 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4707#true} {4707#true} #102#return; {4707#true} is VALID [2022-04-27 10:48:34,645 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-27 10:48:34,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:34,648 INFO L290 TraceCheckUtils]: 0: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,648 INFO L290 TraceCheckUtils]: 1: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,648 INFO L290 TraceCheckUtils]: 2: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,648 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #86#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,648 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-27 10:48:34,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:34,651 INFO L290 TraceCheckUtils]: 0: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,651 INFO L290 TraceCheckUtils]: 1: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,651 INFO L290 TraceCheckUtils]: 2: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,651 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #88#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,651 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-27 10:48:34,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:34,653 INFO L290 TraceCheckUtils]: 0: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,653 INFO L290 TraceCheckUtils]: 1: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,653 INFO L290 TraceCheckUtils]: 2: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,654 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #90#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,654 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-27 10:48:34,655 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:34,667 INFO L290 TraceCheckUtils]: 0: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,667 INFO L290 TraceCheckUtils]: 1: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,667 INFO L290 TraceCheckUtils]: 2: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,667 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #92#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,668 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-27 10:48:34,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:34,671 INFO L290 TraceCheckUtils]: 0: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,671 INFO L290 TraceCheckUtils]: 1: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,671 INFO L290 TraceCheckUtils]: 2: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,671 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #86#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,671 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 43 [2022-04-27 10:48:34,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:34,673 INFO L290 TraceCheckUtils]: 0: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,673 INFO L290 TraceCheckUtils]: 1: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,673 INFO L290 TraceCheckUtils]: 2: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,674 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #88#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,674 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-27 10:48:34,675 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:34,678 INFO L290 TraceCheckUtils]: 0: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,678 INFO L290 TraceCheckUtils]: 1: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,678 INFO L290 TraceCheckUtils]: 2: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,679 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4707#true} {4737#(and (or (<= main_~buflim~0 main_~buf~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (not (<= (+ main_~buflim~0 1) main_~buf~0)) (<= main_~bufferlen~0 (+ 2 main_~buflim~0))))} #90#return; {4737#(and (or (<= main_~buflim~0 main_~buf~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (not (<= (+ main_~buflim~0 1) main_~buf~0)) (<= main_~bufferlen~0 (+ 2 main_~buflim~0))))} is VALID [2022-04-27 10:48:34,679 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 55 [2022-04-27 10:48:34,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:34,682 INFO L290 TraceCheckUtils]: 0: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,682 INFO L290 TraceCheckUtils]: 1: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,682 INFO L290 TraceCheckUtils]: 2: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,683 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4707#true} {4737#(and (or (<= main_~buflim~0 main_~buf~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (not (<= (+ main_~buflim~0 1) main_~buf~0)) (<= main_~bufferlen~0 (+ 2 main_~buflim~0))))} #92#return; {4737#(and (or (<= main_~buflim~0 main_~buf~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (not (<= (+ main_~buflim~0 1) main_~buf~0)) (<= main_~bufferlen~0 (+ 2 main_~buflim~0))))} is VALID [2022-04-27 10:48:34,683 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-27 10:48:34,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:34,686 INFO L290 TraceCheckUtils]: 0: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,686 INFO L290 TraceCheckUtils]: 1: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,686 INFO L290 TraceCheckUtils]: 2: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,687 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4707#true} {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} #86#return; {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2022-04-27 10:48:34,687 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 68 [2022-04-27 10:48:34,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:34,692 INFO L290 TraceCheckUtils]: 0: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,692 INFO L290 TraceCheckUtils]: 1: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,692 INFO L290 TraceCheckUtils]: 2: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,693 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4707#true} {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} #88#return; {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2022-04-27 10:48:34,693 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-27 10:48:34,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:34,695 INFO L290 TraceCheckUtils]: 0: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,695 INFO L290 TraceCheckUtils]: 1: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,695 INFO L290 TraceCheckUtils]: 2: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,701 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4707#true} {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #90#return; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:34,701 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 80 [2022-04-27 10:48:34,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:34,704 INFO L290 TraceCheckUtils]: 0: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,704 INFO L290 TraceCheckUtils]: 1: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,704 INFO L290 TraceCheckUtils]: 2: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,704 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4707#true} {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #92#return; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:34,705 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 87 [2022-04-27 10:48:34,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:34,707 INFO L290 TraceCheckUtils]: 0: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,707 INFO L290 TraceCheckUtils]: 1: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,707 INFO L290 TraceCheckUtils]: 2: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,707 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4707#true} {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #94#return; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:34,707 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 92 [2022-04-27 10:48:34,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:34,717 INFO L290 TraceCheckUtils]: 0: Hoare triple {4707#true} ~cond := #in~cond; {4781#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:48:34,717 INFO L290 TraceCheckUtils]: 1: Hoare triple {4781#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4778#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:34,718 INFO L290 TraceCheckUtils]: 2: Hoare triple {4778#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4778#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:34,718 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4778#(not (= |__VERIFIER_assert_#in~cond| 0))} {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #96#return; {4772#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:34,718 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-27 10:48:34,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:34,747 INFO L290 TraceCheckUtils]: 0: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,748 INFO L290 TraceCheckUtils]: 1: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,748 INFO L290 TraceCheckUtils]: 2: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,748 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4707#true} {4773#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #98#return; {4773#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-27 10:48:34,748 INFO L272 TraceCheckUtils]: 0: Hoare triple {4707#true} call ULTIMATE.init(); {4780#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:48:34,748 INFO L290 TraceCheckUtils]: 1: Hoare triple {4780#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {4707#true} is VALID [2022-04-27 10:48:34,748 INFO L290 TraceCheckUtils]: 2: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,749 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4707#true} {4707#true} #102#return; {4707#true} is VALID [2022-04-27 10:48:34,749 INFO L272 TraceCheckUtils]: 4: Hoare triple {4707#true} call #t~ret8 := main(); {4707#true} is VALID [2022-04-27 10:48:34,749 INFO L290 TraceCheckUtils]: 5: Hoare triple {4707#true} havoc ~in~0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~inlen~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~bufferlen~0 := #t~nondet2;havoc #t~nondet2;havoc ~buf~0;havoc ~buflim~0; {4707#true} is VALID [2022-04-27 10:48:34,749 INFO L290 TraceCheckUtils]: 6: Hoare triple {4707#true} assume ~bufferlen~0 > 1; {4707#true} is VALID [2022-04-27 10:48:34,749 INFO L290 TraceCheckUtils]: 7: Hoare triple {4707#true} assume ~inlen~0 > 0; {4707#true} is VALID [2022-04-27 10:48:34,749 INFO L290 TraceCheckUtils]: 8: Hoare triple {4707#true} assume ~bufferlen~0 < ~inlen~0; {4707#true} is VALID [2022-04-27 10:48:34,749 INFO L290 TraceCheckUtils]: 9: Hoare triple {4707#true} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,750 INFO L290 TraceCheckUtils]: 10: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,750 INFO L290 TraceCheckUtils]: 11: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,750 INFO L290 TraceCheckUtils]: 12: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume !(~buf~0 == ~buflim~0); {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,750 INFO L272 TraceCheckUtils]: 13: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:34,750 INFO L290 TraceCheckUtils]: 14: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,750 INFO L290 TraceCheckUtils]: 15: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,750 INFO L290 TraceCheckUtils]: 16: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,751 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #86#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,751 INFO L272 TraceCheckUtils]: 18: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:34,751 INFO L290 TraceCheckUtils]: 19: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,751 INFO L290 TraceCheckUtils]: 20: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,751 INFO L290 TraceCheckUtils]: 21: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,751 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #88#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,752 INFO L290 TraceCheckUtils]: 23: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,752 INFO L290 TraceCheckUtils]: 24: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,752 INFO L272 TraceCheckUtils]: 25: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:34,752 INFO L290 TraceCheckUtils]: 26: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,752 INFO L290 TraceCheckUtils]: 27: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,752 INFO L290 TraceCheckUtils]: 28: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,752 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #90#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,752 INFO L272 TraceCheckUtils]: 30: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:34,752 INFO L290 TraceCheckUtils]: 31: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,753 INFO L290 TraceCheckUtils]: 32: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,753 INFO L290 TraceCheckUtils]: 33: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,753 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #92#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,753 INFO L290 TraceCheckUtils]: 35: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,754 INFO L290 TraceCheckUtils]: 36: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,754 INFO L290 TraceCheckUtils]: 37: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume !(~buf~0 == ~buflim~0); {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,754 INFO L272 TraceCheckUtils]: 38: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:34,754 INFO L290 TraceCheckUtils]: 39: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,754 INFO L290 TraceCheckUtils]: 40: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,754 INFO L290 TraceCheckUtils]: 41: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,754 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #86#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,755 INFO L272 TraceCheckUtils]: 43: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:34,755 INFO L290 TraceCheckUtils]: 44: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,755 INFO L290 TraceCheckUtils]: 45: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,755 INFO L290 TraceCheckUtils]: 46: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,755 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #88#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:34,755 INFO L290 TraceCheckUtils]: 48: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {4737#(and (or (<= main_~buflim~0 main_~buf~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (not (<= (+ main_~buflim~0 1) main_~buf~0)) (<= main_~bufferlen~0 (+ 2 main_~buflim~0))))} is VALID [2022-04-27 10:48:34,757 INFO L290 TraceCheckUtils]: 49: Hoare triple {4737#(and (or (<= main_~buflim~0 main_~buf~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (not (<= (+ main_~buflim~0 1) main_~buf~0)) (<= main_~bufferlen~0 (+ 2 main_~buflim~0))))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {4737#(and (or (<= main_~buflim~0 main_~buf~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (not (<= (+ main_~buflim~0 1) main_~buf~0)) (<= main_~bufferlen~0 (+ 2 main_~buflim~0))))} is VALID [2022-04-27 10:48:34,757 INFO L272 TraceCheckUtils]: 50: Hoare triple {4737#(and (or (<= main_~buflim~0 main_~buf~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (not (<= (+ main_~buflim~0 1) main_~buf~0)) (<= main_~bufferlen~0 (+ 2 main_~buflim~0))))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:34,757 INFO L290 TraceCheckUtils]: 51: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,757 INFO L290 TraceCheckUtils]: 52: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,757 INFO L290 TraceCheckUtils]: 53: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,775 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {4707#true} {4737#(and (or (<= main_~buflim~0 main_~buf~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (not (<= (+ main_~buflim~0 1) main_~buf~0)) (<= main_~bufferlen~0 (+ 2 main_~buflim~0))))} #90#return; {4737#(and (or (<= main_~buflim~0 main_~buf~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (not (<= (+ main_~buflim~0 1) main_~buf~0)) (<= main_~bufferlen~0 (+ 2 main_~buflim~0))))} is VALID [2022-04-27 10:48:34,775 INFO L272 TraceCheckUtils]: 55: Hoare triple {4737#(and (or (<= main_~buflim~0 main_~buf~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (not (<= (+ main_~buflim~0 1) main_~buf~0)) (<= main_~bufferlen~0 (+ 2 main_~buflim~0))))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:34,775 INFO L290 TraceCheckUtils]: 56: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,776 INFO L290 TraceCheckUtils]: 57: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,776 INFO L290 TraceCheckUtils]: 58: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,776 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {4707#true} {4737#(and (or (<= main_~buflim~0 main_~buf~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (not (<= (+ main_~buflim~0 1) main_~buf~0)) (<= main_~bufferlen~0 (+ 2 main_~buflim~0))))} #92#return; {4737#(and (or (<= main_~buflim~0 main_~buf~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (not (<= (+ main_~buflim~0 1) main_~buf~0)) (<= main_~bufferlen~0 (+ 2 main_~buflim~0))))} is VALID [2022-04-27 10:48:34,776 INFO L290 TraceCheckUtils]: 60: Hoare triple {4737#(and (or (<= main_~buflim~0 main_~buf~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (not (<= (+ main_~buflim~0 1) main_~buf~0)) (<= main_~bufferlen~0 (+ 2 main_~buflim~0))))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4737#(and (or (<= main_~buflim~0 main_~buf~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (not (<= (+ main_~buflim~0 1) main_~buf~0)) (<= main_~bufferlen~0 (+ 2 main_~buflim~0))))} is VALID [2022-04-27 10:48:34,777 INFO L290 TraceCheckUtils]: 61: Hoare triple {4737#(and (or (<= main_~buflim~0 main_~buf~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (not (<= (+ main_~buflim~0 1) main_~buf~0)) (<= main_~bufferlen~0 (+ 2 main_~buflim~0))))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {4737#(and (or (<= main_~buflim~0 main_~buf~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (not (<= (+ main_~buflim~0 1) main_~buf~0)) (<= main_~bufferlen~0 (+ 2 main_~buflim~0))))} is VALID [2022-04-27 10:48:34,777 INFO L290 TraceCheckUtils]: 62: Hoare triple {4737#(and (or (<= main_~buflim~0 main_~buf~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (not (<= (+ main_~buflim~0 1) main_~buf~0)) (<= main_~bufferlen~0 (+ 2 main_~buflim~0))))} assume !(~buf~0 == ~buflim~0); {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2022-04-27 10:48:34,777 INFO L272 TraceCheckUtils]: 63: Hoare triple {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:34,777 INFO L290 TraceCheckUtils]: 64: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,777 INFO L290 TraceCheckUtils]: 65: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,777 INFO L290 TraceCheckUtils]: 66: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,778 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4707#true} {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} #86#return; {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2022-04-27 10:48:34,778 INFO L272 TraceCheckUtils]: 68: Hoare triple {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:34,778 INFO L290 TraceCheckUtils]: 69: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,778 INFO L290 TraceCheckUtils]: 70: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,778 INFO L290 TraceCheckUtils]: 71: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,778 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {4707#true} {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} #88#return; {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2022-04-27 10:48:34,779 INFO L290 TraceCheckUtils]: 73: Hoare triple {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:34,779 INFO L290 TraceCheckUtils]: 74: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:34,779 INFO L272 TraceCheckUtils]: 75: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:34,779 INFO L290 TraceCheckUtils]: 76: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,779 INFO L290 TraceCheckUtils]: 77: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,779 INFO L290 TraceCheckUtils]: 78: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,779 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {4707#true} {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #90#return; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:34,779 INFO L272 TraceCheckUtils]: 80: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:34,779 INFO L290 TraceCheckUtils]: 81: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,779 INFO L290 TraceCheckUtils]: 82: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,780 INFO L290 TraceCheckUtils]: 83: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,792 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {4707#true} {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #92#return; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:34,792 INFO L290 TraceCheckUtils]: 85: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:34,792 INFO L290 TraceCheckUtils]: 86: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} assume !(0 != #t~nondet3);havoc #t~nondet3; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:34,792 INFO L272 TraceCheckUtils]: 87: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:34,792 INFO L290 TraceCheckUtils]: 88: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,793 INFO L290 TraceCheckUtils]: 89: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,793 INFO L290 TraceCheckUtils]: 90: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,793 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {4707#true} {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #94#return; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:34,793 INFO L272 TraceCheckUtils]: 92: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:34,793 INFO L290 TraceCheckUtils]: 93: Hoare triple {4707#true} ~cond := #in~cond; {4781#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:48:34,794 INFO L290 TraceCheckUtils]: 94: Hoare triple {4781#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4778#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:34,794 INFO L290 TraceCheckUtils]: 95: Hoare triple {4778#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4778#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:34,794 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {4778#(not (= |__VERIFIER_assert_#in~cond| 0))} {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #96#return; {4772#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:34,795 INFO L290 TraceCheckUtils]: 97: Hoare triple {4772#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #t~post6 := ~buf~0;~buf~0 := 1 + #t~post6;havoc #t~post6; {4773#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-27 10:48:34,795 INFO L272 TraceCheckUtils]: 98: Hoare triple {4773#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:34,795 INFO L290 TraceCheckUtils]: 99: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:34,795 INFO L290 TraceCheckUtils]: 100: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:34,795 INFO L290 TraceCheckUtils]: 101: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:34,796 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {4707#true} {4773#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #98#return; {4773#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-27 10:48:34,796 INFO L272 TraceCheckUtils]: 103: Hoare triple {4773#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4778#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:34,796 INFO L290 TraceCheckUtils]: 104: Hoare triple {4778#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {4779#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 10:48:34,797 INFO L290 TraceCheckUtils]: 105: Hoare triple {4779#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {4708#false} is VALID [2022-04-27 10:48:34,797 INFO L290 TraceCheckUtils]: 106: Hoare triple {4708#false} assume !false; {4708#false} is VALID [2022-04-27 10:48:34,797 INFO L134 CoverageAnalysis]: Checked inductivity of 483 backedges. 68 proven. 31 refuted. 0 times theorem prover too weak. 384 trivial. 0 not checked. [2022-04-27 10:48:34,797 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:48:34,797 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1122106638] [2022-04-27 10:48:34,797 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1122106638] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:48:34,797 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1785962010] [2022-04-27 10:48:34,797 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 10:48:34,797 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:48:34,797 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:48:34,798 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-04-27 10:48:34,799 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-04-27 10:48:34,844 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 10:48:34,844 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 10:48:34,845 INFO L263 TraceCheckSpWp]: Trace formula consists of 226 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 10:48:34,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:48:34,862 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:48:35,480 INFO L272 TraceCheckUtils]: 0: Hoare triple {4707#true} call ULTIMATE.init(); {4707#true} is VALID [2022-04-27 10:48:35,480 INFO L290 TraceCheckUtils]: 1: Hoare triple {4707#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); {4707#true} is VALID [2022-04-27 10:48:35,480 INFO L290 TraceCheckUtils]: 2: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:35,480 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4707#true} {4707#true} #102#return; {4707#true} is VALID [2022-04-27 10:48:35,480 INFO L272 TraceCheckUtils]: 4: Hoare triple {4707#true} call #t~ret8 := main(); {4707#true} is VALID [2022-04-27 10:48:35,480 INFO L290 TraceCheckUtils]: 5: Hoare triple {4707#true} havoc ~in~0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~inlen~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~bufferlen~0 := #t~nondet2;havoc #t~nondet2;havoc ~buf~0;havoc ~buflim~0; {4707#true} is VALID [2022-04-27 10:48:35,480 INFO L290 TraceCheckUtils]: 6: Hoare triple {4707#true} assume ~bufferlen~0 > 1; {4707#true} is VALID [2022-04-27 10:48:35,480 INFO L290 TraceCheckUtils]: 7: Hoare triple {4707#true} assume ~inlen~0 > 0; {4707#true} is VALID [2022-04-27 10:48:35,480 INFO L290 TraceCheckUtils]: 8: Hoare triple {4707#true} assume ~bufferlen~0 < ~inlen~0; {4707#true} is VALID [2022-04-27 10:48:35,481 INFO L290 TraceCheckUtils]: 9: Hoare triple {4707#true} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,481 INFO L290 TraceCheckUtils]: 10: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,481 INFO L290 TraceCheckUtils]: 11: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,482 INFO L290 TraceCheckUtils]: 12: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume !(~buf~0 == ~buflim~0); {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,482 INFO L272 TraceCheckUtils]: 13: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:35,482 INFO L290 TraceCheckUtils]: 14: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:35,482 INFO L290 TraceCheckUtils]: 15: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:35,482 INFO L290 TraceCheckUtils]: 16: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:35,482 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #86#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,482 INFO L272 TraceCheckUtils]: 18: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:35,482 INFO L290 TraceCheckUtils]: 19: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:35,482 INFO L290 TraceCheckUtils]: 20: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:35,482 INFO L290 TraceCheckUtils]: 21: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:35,483 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #88#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,483 INFO L290 TraceCheckUtils]: 23: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,483 INFO L290 TraceCheckUtils]: 24: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,484 INFO L272 TraceCheckUtils]: 25: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:35,484 INFO L290 TraceCheckUtils]: 26: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:35,484 INFO L290 TraceCheckUtils]: 27: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:35,484 INFO L290 TraceCheckUtils]: 28: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:35,484 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #90#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,484 INFO L272 TraceCheckUtils]: 30: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:35,484 INFO L290 TraceCheckUtils]: 31: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:35,484 INFO L290 TraceCheckUtils]: 32: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:35,484 INFO L290 TraceCheckUtils]: 33: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:35,485 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #92#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,485 INFO L290 TraceCheckUtils]: 35: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,485 INFO L290 TraceCheckUtils]: 36: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,486 INFO L290 TraceCheckUtils]: 37: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume !(~buf~0 == ~buflim~0); {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,486 INFO L272 TraceCheckUtils]: 38: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:35,486 INFO L290 TraceCheckUtils]: 39: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:35,486 INFO L290 TraceCheckUtils]: 40: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:35,486 INFO L290 TraceCheckUtils]: 41: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:35,486 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #86#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,486 INFO L272 TraceCheckUtils]: 43: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:35,486 INFO L290 TraceCheckUtils]: 44: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:35,486 INFO L290 TraceCheckUtils]: 45: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:35,486 INFO L290 TraceCheckUtils]: 46: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:35,487 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #88#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,487 INFO L290 TraceCheckUtils]: 48: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,487 INFO L290 TraceCheckUtils]: 49: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,487 INFO L272 TraceCheckUtils]: 50: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:35,488 INFO L290 TraceCheckUtils]: 51: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:35,488 INFO L290 TraceCheckUtils]: 52: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:35,488 INFO L290 TraceCheckUtils]: 53: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:35,488 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #90#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,488 INFO L272 TraceCheckUtils]: 55: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:35,488 INFO L290 TraceCheckUtils]: 56: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:35,488 INFO L290 TraceCheckUtils]: 57: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:35,488 INFO L290 TraceCheckUtils]: 58: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:35,489 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #92#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,489 INFO L290 TraceCheckUtils]: 60: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,489 INFO L290 TraceCheckUtils]: 61: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:35,490 INFO L290 TraceCheckUtils]: 62: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume !(~buf~0 == ~buflim~0); {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2022-04-27 10:48:35,490 INFO L272 TraceCheckUtils]: 63: Hoare triple {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:35,490 INFO L290 TraceCheckUtils]: 64: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:35,490 INFO L290 TraceCheckUtils]: 65: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:35,490 INFO L290 TraceCheckUtils]: 66: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:35,490 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4707#true} {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} #86#return; {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2022-04-27 10:48:35,490 INFO L272 TraceCheckUtils]: 68: Hoare triple {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:35,490 INFO L290 TraceCheckUtils]: 69: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:35,490 INFO L290 TraceCheckUtils]: 70: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:35,490 INFO L290 TraceCheckUtils]: 71: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:35,491 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {4707#true} {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} #88#return; {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2022-04-27 10:48:35,491 INFO L290 TraceCheckUtils]: 73: Hoare triple {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:35,491 INFO L290 TraceCheckUtils]: 74: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:35,491 INFO L272 TraceCheckUtils]: 75: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:35,491 INFO L290 TraceCheckUtils]: 76: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:35,492 INFO L290 TraceCheckUtils]: 77: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:35,492 INFO L290 TraceCheckUtils]: 78: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:35,492 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {4707#true} {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #90#return; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:35,492 INFO L272 TraceCheckUtils]: 80: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:35,492 INFO L290 TraceCheckUtils]: 81: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:35,492 INFO L290 TraceCheckUtils]: 82: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:35,492 INFO L290 TraceCheckUtils]: 83: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:35,493 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {4707#true} {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #92#return; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:35,493 INFO L290 TraceCheckUtils]: 85: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:35,493 INFO L290 TraceCheckUtils]: 86: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} assume !(0 != #t~nondet3);havoc #t~nondet3; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:35,493 INFO L272 TraceCheckUtils]: 87: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:35,493 INFO L290 TraceCheckUtils]: 88: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:35,493 INFO L290 TraceCheckUtils]: 89: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:35,493 INFO L290 TraceCheckUtils]: 90: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:35,495 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {4707#true} {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #94#return; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:35,495 INFO L272 TraceCheckUtils]: 92: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:35,495 INFO L290 TraceCheckUtils]: 93: Hoare triple {4707#true} ~cond := #in~cond; {4781#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:48:35,496 INFO L290 TraceCheckUtils]: 94: Hoare triple {4781#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4778#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:35,496 INFO L290 TraceCheckUtils]: 95: Hoare triple {4778#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4778#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:35,500 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {4778#(not (= |__VERIFIER_assert_#in~cond| 0))} {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #96#return; {4772#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:35,500 INFO L290 TraceCheckUtils]: 97: Hoare triple {4772#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #t~post6 := ~buf~0;~buf~0 := 1 + #t~post6;havoc #t~post6; {4773#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-27 10:48:35,500 INFO L272 TraceCheckUtils]: 98: Hoare triple {4773#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:35,500 INFO L290 TraceCheckUtils]: 99: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:35,500 INFO L290 TraceCheckUtils]: 100: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:35,500 INFO L290 TraceCheckUtils]: 101: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:35,501 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {4707#true} {4773#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #98#return; {4773#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-27 10:48:35,501 INFO L272 TraceCheckUtils]: 103: Hoare triple {4773#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {5094#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:48:35,501 INFO L290 TraceCheckUtils]: 104: Hoare triple {5094#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5098#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:48:35,502 INFO L290 TraceCheckUtils]: 105: Hoare triple {5098#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4708#false} is VALID [2022-04-27 10:48:35,502 INFO L290 TraceCheckUtils]: 106: Hoare triple {4708#false} assume !false; {4708#false} is VALID [2022-04-27 10:48:35,502 INFO L134 CoverageAnalysis]: Checked inductivity of 483 backedges. 68 proven. 22 refuted. 0 times theorem prover too weak. 393 trivial. 0 not checked. [2022-04-27 10:48:35,502 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:48:36,075 INFO L290 TraceCheckUtils]: 106: Hoare triple {4708#false} assume !false; {4708#false} is VALID [2022-04-27 10:48:36,076 INFO L290 TraceCheckUtils]: 105: Hoare triple {5098#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4708#false} is VALID [2022-04-27 10:48:36,076 INFO L290 TraceCheckUtils]: 104: Hoare triple {5094#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5098#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:48:36,077 INFO L272 TraceCheckUtils]: 103: Hoare triple {4773#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {5094#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:48:36,077 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {4707#true} {4773#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #98#return; {4773#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-27 10:48:36,077 INFO L290 TraceCheckUtils]: 101: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:36,077 INFO L290 TraceCheckUtils]: 100: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:36,077 INFO L290 TraceCheckUtils]: 99: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:36,077 INFO L272 TraceCheckUtils]: 98: Hoare triple {4773#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:36,078 INFO L290 TraceCheckUtils]: 97: Hoare triple {4772#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #t~post6 := ~buf~0;~buf~0 := 1 + #t~post6;havoc #t~post6; {4773#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-27 10:48:36,080 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {4778#(not (= |__VERIFIER_assert_#in~cond| 0))} {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #96#return; {4772#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-27 10:48:36,080 INFO L290 TraceCheckUtils]: 95: Hoare triple {4778#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4778#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:36,080 INFO L290 TraceCheckUtils]: 94: Hoare triple {5144#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4778#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:48:36,080 INFO L290 TraceCheckUtils]: 93: Hoare triple {4707#true} ~cond := #in~cond; {5144#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 10:48:36,080 INFO L272 TraceCheckUtils]: 92: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:36,085 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {4707#true} {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #94#return; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:36,085 INFO L290 TraceCheckUtils]: 90: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:36,085 INFO L290 TraceCheckUtils]: 89: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:36,085 INFO L290 TraceCheckUtils]: 88: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:36,085 INFO L272 TraceCheckUtils]: 87: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:36,085 INFO L290 TraceCheckUtils]: 86: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} assume !(0 != #t~nondet3);havoc #t~nondet3; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:36,086 INFO L290 TraceCheckUtils]: 85: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:36,086 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {4707#true} {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #92#return; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:36,086 INFO L290 TraceCheckUtils]: 83: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:36,086 INFO L290 TraceCheckUtils]: 82: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:36,086 INFO L290 TraceCheckUtils]: 81: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:36,086 INFO L272 TraceCheckUtils]: 80: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:36,087 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {4707#true} {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #90#return; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:36,087 INFO L290 TraceCheckUtils]: 78: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:36,087 INFO L290 TraceCheckUtils]: 77: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:36,087 INFO L290 TraceCheckUtils]: 76: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:36,087 INFO L272 TraceCheckUtils]: 75: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:36,087 INFO L290 TraceCheckUtils]: 74: Hoare triple {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:36,088 INFO L290 TraceCheckUtils]: 73: Hoare triple {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {4755#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-27 10:48:36,088 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {4707#true} {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} #88#return; {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2022-04-27 10:48:36,088 INFO L290 TraceCheckUtils]: 71: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:36,088 INFO L290 TraceCheckUtils]: 70: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:36,088 INFO L290 TraceCheckUtils]: 69: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:36,088 INFO L272 TraceCheckUtils]: 68: Hoare triple {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:36,090 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4707#true} {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} #86#return; {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2022-04-27 10:48:36,090 INFO L290 TraceCheckUtils]: 66: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:36,090 INFO L290 TraceCheckUtils]: 65: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:36,090 INFO L290 TraceCheckUtils]: 64: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:36,090 INFO L272 TraceCheckUtils]: 63: Hoare triple {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:36,091 INFO L290 TraceCheckUtils]: 62: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume !(~buf~0 == ~buflim~0); {4746#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2022-04-27 10:48:36,091 INFO L290 TraceCheckUtils]: 61: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,091 INFO L290 TraceCheckUtils]: 60: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,092 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #92#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,092 INFO L290 TraceCheckUtils]: 58: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:36,092 INFO L290 TraceCheckUtils]: 57: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:36,092 INFO L290 TraceCheckUtils]: 56: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:36,092 INFO L272 TraceCheckUtils]: 55: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:36,093 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #90#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,093 INFO L290 TraceCheckUtils]: 53: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:36,093 INFO L290 TraceCheckUtils]: 52: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:36,093 INFO L290 TraceCheckUtils]: 51: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:36,093 INFO L272 TraceCheckUtils]: 50: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:36,093 INFO L290 TraceCheckUtils]: 49: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,093 INFO L290 TraceCheckUtils]: 48: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,094 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #88#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,094 INFO L290 TraceCheckUtils]: 46: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:36,094 INFO L290 TraceCheckUtils]: 45: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:36,094 INFO L290 TraceCheckUtils]: 44: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:36,094 INFO L272 TraceCheckUtils]: 43: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:36,094 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #86#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,095 INFO L290 TraceCheckUtils]: 41: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:36,095 INFO L290 TraceCheckUtils]: 40: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:36,095 INFO L290 TraceCheckUtils]: 39: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:36,095 INFO L272 TraceCheckUtils]: 38: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:36,095 INFO L290 TraceCheckUtils]: 37: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume !(~buf~0 == ~buflim~0); {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,095 INFO L290 TraceCheckUtils]: 36: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,096 INFO L290 TraceCheckUtils]: 35: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,096 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #92#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,096 INFO L290 TraceCheckUtils]: 33: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:36,096 INFO L290 TraceCheckUtils]: 32: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:36,096 INFO L290 TraceCheckUtils]: 31: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:36,096 INFO L272 TraceCheckUtils]: 30: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:36,097 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #90#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,097 INFO L290 TraceCheckUtils]: 28: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:36,097 INFO L290 TraceCheckUtils]: 27: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:36,097 INFO L290 TraceCheckUtils]: 26: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:36,097 INFO L272 TraceCheckUtils]: 25: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:36,097 INFO L290 TraceCheckUtils]: 24: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,097 INFO L290 TraceCheckUtils]: 23: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,098 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #88#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,098 INFO L290 TraceCheckUtils]: 21: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:36,098 INFO L290 TraceCheckUtils]: 20: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:36,098 INFO L290 TraceCheckUtils]: 19: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:36,098 INFO L272 TraceCheckUtils]: 18: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:36,098 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4707#true} {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #86#return; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,098 INFO L290 TraceCheckUtils]: 16: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:36,099 INFO L290 TraceCheckUtils]: 15: Hoare triple {4707#true} assume !(0 == ~cond); {4707#true} is VALID [2022-04-27 10:48:36,099 INFO L290 TraceCheckUtils]: 14: Hoare triple {4707#true} ~cond := #in~cond; {4707#true} is VALID [2022-04-27 10:48:36,099 INFO L272 TraceCheckUtils]: 13: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4707#true} is VALID [2022-04-27 10:48:36,099 INFO L290 TraceCheckUtils]: 12: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume !(~buf~0 == ~buflim~0); {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,099 INFO L290 TraceCheckUtils]: 11: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,100 INFO L290 TraceCheckUtils]: 10: Hoare triple {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,100 INFO L290 TraceCheckUtils]: 9: Hoare triple {4707#true} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {4712#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-27 10:48:36,100 INFO L290 TraceCheckUtils]: 8: Hoare triple {4707#true} assume ~bufferlen~0 < ~inlen~0; {4707#true} is VALID [2022-04-27 10:48:36,100 INFO L290 TraceCheckUtils]: 7: Hoare triple {4707#true} assume ~inlen~0 > 0; {4707#true} is VALID [2022-04-27 10:48:36,100 INFO L290 TraceCheckUtils]: 6: Hoare triple {4707#true} assume ~bufferlen~0 > 1; {4707#true} is VALID [2022-04-27 10:48:36,100 INFO L290 TraceCheckUtils]: 5: Hoare triple {4707#true} havoc ~in~0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~inlen~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~bufferlen~0 := #t~nondet2;havoc #t~nondet2;havoc ~buf~0;havoc ~buflim~0; {4707#true} is VALID [2022-04-27 10:48:36,100 INFO L272 TraceCheckUtils]: 4: Hoare triple {4707#true} call #t~ret8 := main(); {4707#true} is VALID [2022-04-27 10:48:36,100 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4707#true} {4707#true} #102#return; {4707#true} is VALID [2022-04-27 10:48:36,100 INFO L290 TraceCheckUtils]: 2: Hoare triple {4707#true} assume true; {4707#true} is VALID [2022-04-27 10:48:36,100 INFO L290 TraceCheckUtils]: 1: Hoare triple {4707#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); {4707#true} is VALID [2022-04-27 10:48:36,100 INFO L272 TraceCheckUtils]: 0: Hoare triple {4707#true} call ULTIMATE.init(); {4707#true} is VALID [2022-04-27 10:48:36,101 INFO L134 CoverageAnalysis]: Checked inductivity of 483 backedges. 68 proven. 22 refuted. 0 times theorem prover too weak. 393 trivial. 0 not checked. [2022-04-27 10:48:36,101 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1785962010] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:48:36,101 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:48:36,101 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11, 11] total 15 [2022-04-27 10:48:36,101 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [185202134] [2022-04-27 10:48:36,101 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:48:36,102 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 12 states have internal predecessors, (37), 6 states have call successors, (18), 4 states have call predecessors, (18), 2 states have return successors, (14), 7 states have call predecessors, (14), 6 states have call successors, (14) Word has length 107 [2022-04-27 10:48:36,102 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:48:36,102 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 12 states have internal predecessors, (37), 6 states have call successors, (18), 4 states have call predecessors, (18), 2 states have return successors, (14), 7 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-27 10:48:36,145 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:48:36,145 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-27 10:48:36,146 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:48:36,146 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-27 10:48:36,146 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=175, Unknown=0, NotChecked=0, Total=210 [2022-04-27 10:48:36,146 INFO L87 Difference]: Start difference. First operand 100 states and 117 transitions. Second operand has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 12 states have internal predecessors, (37), 6 states have call successors, (18), 4 states have call predecessors, (18), 2 states have return successors, (14), 7 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-27 10:48:37,160 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:37,160 INFO L93 Difference]: Finished difference Result 100 states and 117 transitions. [2022-04-27 10:48:37,160 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-27 10:48:37,160 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 12 states have internal predecessors, (37), 6 states have call successors, (18), 4 states have call predecessors, (18), 2 states have return successors, (14), 7 states have call predecessors, (14), 6 states have call successors, (14) Word has length 107 [2022-04-27 10:48:37,160 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:48:37,161 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 12 states have internal predecessors, (37), 6 states have call successors, (18), 4 states have call predecessors, (18), 2 states have return successors, (14), 7 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-27 10:48:37,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 61 transitions. [2022-04-27 10:48:37,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 12 states have internal predecessors, (37), 6 states have call successors, (18), 4 states have call predecessors, (18), 2 states have return successors, (14), 7 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-27 10:48:37,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 61 transitions. [2022-04-27 10:48:37,163 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 61 transitions. [2022-04-27 10:48:37,224 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:48:37,224 INFO L225 Difference]: With dead ends: 100 [2022-04-27 10:48:37,224 INFO L226 Difference]: Without dead ends: 0 [2022-04-27 10:48:37,225 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 269 GetRequests, 240 SyntacticMatches, 4 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 113 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=139, Invalid=563, Unknown=0, NotChecked=0, Total=702 [2022-04-27 10:48:37,225 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 41 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 378 mSolverCounterSat, 62 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 440 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 62 IncrementalHoareTripleChecker+Valid, 378 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 10:48:37,225 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 83 Invalid, 440 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [62 Valid, 378 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 10:48:37,226 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-27 10:48:37,226 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-27 10:48:37,226 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:48:37,226 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-04-27 10:48:37,226 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-04-27 10:48:37,226 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-04-27 10:48:37,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:37,226 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 10:48:37,226 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 10:48:37,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:37,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:48:37,226 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-04-27 10:48:37,226 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-04-27 10:48:37,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:48:37,226 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 10:48:37,226 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 10:48:37,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:37,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:48:37,226 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:48:37,227 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:48:37,227 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-04-27 10:48:37,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-27 10:48:37,227 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 107 [2022-04-27 10:48:37,227 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:48:37,227 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-27 10:48:37,227 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 12 states have internal predecessors, (37), 6 states have call successors, (18), 4 states have call predecessors, (18), 2 states have return successors, (14), 7 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-27 10:48:37,227 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 10:48:37,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:48:37,229 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 10:48:37,245 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-27 10:48:37,445 WARN L477 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-04-27 10:48:37,447 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-27 10:48:38,194 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 12) no Hoare annotation was computed. [2022-04-27 10:48:38,194 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 12) no Hoare annotation was computed. [2022-04-27 10:48:38,194 INFO L899 garLoopResultBuilder]: For program point L12-1(line 12) no Hoare annotation was computed. [2022-04-27 10:48:38,195 INFO L899 garLoopResultBuilder]: For program point L15(line 15) no Hoare annotation was computed. [2022-04-27 10:48:38,195 INFO L899 garLoopResultBuilder]: For program point assume_abort_if_notENTRY(lines 14 16) no Hoare annotation was computed. [2022-04-27 10:48:38,195 INFO L899 garLoopResultBuilder]: For program point L15-2(lines 14 16) no Hoare annotation was computed. [2022-04-27 10:48:38,195 INFO L899 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 14 16) no Hoare annotation was computed. [2022-04-27 10:48:38,195 INFO L899 garLoopResultBuilder]: For program point L31(line 31) no Hoare annotation was computed. [2022-04-27 10:48:38,195 INFO L899 garLoopResultBuilder]: For program point L31-1(lines 25 56) no Hoare annotation was computed. [2022-04-27 10:48:38,195 INFO L899 garLoopResultBuilder]: For program point mainEXIT(lines 24 56) no Hoare annotation was computed. [2022-04-27 10:48:38,195 INFO L895 garLoopResultBuilder]: At program point L52(line 52) the Hoare annotation is: (and (<= (+ main_~buf~0 1) main_~bufferlen~0) (let ((.cse0 (<= 2 main_~bufferlen~0)) (.cse1 (<= 0 main_~buf~0))) (or (and .cse0 (<= 1 main_~in~0) .cse1) (and (= main_~in~0 0) .cse0 .cse1)))) [2022-04-27 10:48:38,195 INFO L895 garLoopResultBuilder]: At program point L52-1(line 52) the Hoare annotation is: (and (<= (+ main_~buf~0 1) main_~bufferlen~0) (let ((.cse0 (<= 2 main_~bufferlen~0)) (.cse1 (<= 0 main_~buf~0))) (or (and .cse0 (<= 1 main_~in~0) .cse1) (and (= main_~in~0 0) .cse0 .cse1)))) [2022-04-27 10:48:38,195 INFO L899 garLoopResultBuilder]: For program point L44(lines 44 45) no Hoare annotation was computed. [2022-04-27 10:48:38,195 INFO L899 garLoopResultBuilder]: For program point L32(lines 25 56) no Hoare annotation was computed. [2022-04-27 10:48:38,195 INFO L899 garLoopResultBuilder]: For program point L53(line 53) no Hoare annotation was computed. [2022-04-27 10:48:38,195 INFO L895 garLoopResultBuilder]: At program point L49(line 49) the Hoare annotation is: (let ((.cse0 (<= (+ main_~buf~0 2) main_~bufferlen~0)) (.cse1 (<= 1 main_~in~0)) (.cse2 (<= 0 main_~buf~0))) (or (and (= main_~in~0 0) (<= 2 main_~bufferlen~0) (= main_~buf~0 0)) (and .cse0 .cse1 .cse2 (<= main_~buf~0 2) (<= 3 main_~inlen~0)) (let ((.cse3 (+ 2 main_~buflim~0))) (and (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) .cse0 .cse1 .cse2 (<= main_~bufferlen~0 .cse3) (< main_~bufferlen~0 main_~inlen~0) (<= .cse3 main_~bufferlen~0))))) [2022-04-27 10:48:38,195 INFO L895 garLoopResultBuilder]: At program point L41(line 41) the Hoare annotation is: (let ((.cse0 (+ 2 main_~buflim~0)) (.cse1 (< main_~bufferlen~0 main_~inlen~0))) (or (and (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= 1 main_~in~0) (<= 0 main_~buf~0) (<= main_~bufferlen~0 .cse0) .cse1 (<= .cse0 main_~bufferlen~0)) (and (= .cse0 main_~bufferlen~0) (= main_~in~0 0) (<= 3 main_~bufferlen~0) (= main_~buf~0 0) .cse1))) [2022-04-27 10:48:38,195 INFO L895 garLoopResultBuilder]: At program point L41-1(line 41) the Hoare annotation is: (let ((.cse0 (+ 2 main_~buflim~0)) (.cse1 (< main_~bufferlen~0 main_~inlen~0))) (or (and (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= 1 main_~in~0) (<= 0 main_~buf~0) (<= main_~bufferlen~0 .cse0) .cse1 (<= .cse0 main_~bufferlen~0)) (and (= .cse0 main_~bufferlen~0) (= main_~in~0 0) (<= 3 main_~bufferlen~0) (= main_~buf~0 0) .cse1))) [2022-04-27 10:48:38,195 INFO L899 garLoopResultBuilder]: For program point L37-1(lines 37 48) no Hoare annotation was computed. [2022-04-27 10:48:38,195 INFO L895 garLoopResultBuilder]: At program point L37-3(lines 37 48) the Hoare annotation is: (let ((.cse0 (<= (+ main_~buf~0 2) main_~bufferlen~0)) (.cse1 (<= 1 main_~in~0)) (.cse2 (<= 0 main_~buf~0))) (or (and (= main_~in~0 0) (<= 2 main_~bufferlen~0) (= main_~buf~0 0)) (and .cse0 .cse1 .cse2 (<= main_~buf~0 2) (<= 3 main_~inlen~0)) (let ((.cse3 (+ 2 main_~buflim~0))) (and (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) .cse0 .cse1 .cse2 (<= main_~bufferlen~0 .cse3) (< main_~bufferlen~0 main_~inlen~0) (<= .cse3 main_~bufferlen~0))))) [2022-04-27 10:48:38,195 INFO L899 garLoopResultBuilder]: For program point L33(line 33) no Hoare annotation was computed. [2022-04-27 10:48:38,196 INFO L899 garLoopResultBuilder]: For program point L50(line 50) no Hoare annotation was computed. [2022-04-27 10:48:38,196 INFO L895 garLoopResultBuilder]: At program point L46(line 46) the Hoare annotation is: (let ((.cse0 (+ 2 main_~buflim~0))) (and (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= 1 main_~in~0) (<= 0 main_~buf~0) (<= main_~bufferlen~0 .cse0) (< main_~bufferlen~0 main_~inlen~0) (<= .cse0 main_~bufferlen~0))) [2022-04-27 10:48:38,196 INFO L895 garLoopResultBuilder]: At program point L46-1(line 46) the Hoare annotation is: (let ((.cse0 (+ 2 main_~buflim~0))) (and (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= 1 main_~in~0) (<= 0 main_~buf~0) (<= main_~bufferlen~0 .cse0) (< main_~bufferlen~0 main_~inlen~0) (<= .cse0 main_~bufferlen~0))) [2022-04-27 10:48:38,196 INFO L899 garLoopResultBuilder]: For program point mainFINAL(lines 24 56) no Hoare annotation was computed. [2022-04-27 10:48:38,196 INFO L899 garLoopResultBuilder]: For program point L42(line 42) no Hoare annotation was computed. [2022-04-27 10:48:38,196 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 24 56) the Hoare annotation is: true [2022-04-27 10:48:38,196 INFO L902 garLoopResultBuilder]: At program point L55(lines 25 56) the Hoare annotation is: true [2022-04-27 10:48:38,196 INFO L895 garLoopResultBuilder]: At program point L47(lines 37 48) the Hoare annotation is: (let ((.cse1 (< main_~bufferlen~0 main_~inlen~0)) (.cse0 (+ 2 main_~buflim~0))) (or (and (= .cse0 main_~bufferlen~0) (= main_~in~0 0) (<= 2 main_~bufferlen~0) (= main_~buf~0 0) .cse1) (and (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= 1 main_~in~0) (<= 0 main_~buf~0) (<= main_~bufferlen~0 .cse0) .cse1 (<= .cse0 main_~bufferlen~0)))) [2022-04-27 10:48:38,196 INFO L899 garLoopResultBuilder]: For program point L39(lines 39 40) no Hoare annotation was computed. [2022-04-27 10:48:38,196 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-27 10:48:38,196 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-27 10:48:38,196 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-27 10:48:38,196 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-27 10:48:38,196 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-27 10:48:38,196 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-27 10:48:38,196 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-27 10:48:38,196 INFO L899 garLoopResultBuilder]: For program point L18-2(lines 17 22) no Hoare annotation was computed. [2022-04-27 10:48:38,196 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 17 22) the Hoare annotation is: true [2022-04-27 10:48:38,196 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 17 22) no Hoare annotation was computed. [2022-04-27 10:48:38,196 INFO L899 garLoopResultBuilder]: For program point L19(line 19) no Hoare annotation was computed. [2022-04-27 10:48:38,196 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 19) no Hoare annotation was computed. [2022-04-27 10:48:38,196 INFO L899 garLoopResultBuilder]: For program point L18(lines 18 20) no Hoare annotation was computed. [2022-04-27 10:48:38,198 INFO L356 BasicCegarLoop]: Path program histogram: [2, 2, 1, 1, 1, 1, 1, 1] [2022-04-27 10:48:38,199 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 10:48:38,201 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-27 10:48:38,201 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-27 10:48:38,201 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: assume_abort_if_notENTRY has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: L31 has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: L18 has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: L12-1 has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: L31 has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: L31 has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: L18 has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: L18 has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: L15-2 has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: L31-1 has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: L31-1 has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: L19 has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: L19 has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: L18-2 has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: L32 has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: L32 has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 10:48:38,207 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 10:48:38,208 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 10:48:38,208 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 10:48:38,208 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 10:48:38,208 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 10:48:38,208 WARN L170 areAnnotationChecker]: L33 has no Hoare annotation [2022-04-27 10:48:38,208 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-27 10:48:38,208 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2022-04-27 10:48:38,208 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2022-04-27 10:48:38,210 WARN L170 areAnnotationChecker]: L37-1 has no Hoare annotation [2022-04-27 10:48:38,210 WARN L170 areAnnotationChecker]: L50 has no Hoare annotation [2022-04-27 10:48:38,210 WARN L170 areAnnotationChecker]: L50 has no Hoare annotation [2022-04-27 10:48:38,210 WARN L170 areAnnotationChecker]: L53 has no Hoare annotation [2022-04-27 10:48:38,210 WARN L170 areAnnotationChecker]: L53 has no Hoare annotation [2022-04-27 10:48:38,210 WARN L170 areAnnotationChecker]: L44 has no Hoare annotation [2022-04-27 10:48:38,210 WARN L170 areAnnotationChecker]: L37-1 has no Hoare annotation [2022-04-27 10:48:38,210 WARN L170 areAnnotationChecker]: L37-1 has no Hoare annotation [2022-04-27 10:48:38,210 WARN L170 areAnnotationChecker]: L39 has no Hoare annotation [2022-04-27 10:48:38,210 WARN L170 areAnnotationChecker]: L39 has no Hoare annotation [2022-04-27 10:48:38,210 INFO L163 areAnnotationChecker]: CFG has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-27 10:48:38,216 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 10:48:38 BoogieIcfgContainer [2022-04-27 10:48:38,216 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 10:48:38,217 INFO L158 Benchmark]: Toolchain (without parser) took 19043.50ms. Allocated memory was 197.1MB in the beginning and 346.0MB in the end (delta: 148.9MB). Free memory was 149.1MB in the beginning and 299.1MB in the end (delta: -150.0MB). Peak memory consumption was 172.2MB. Max. memory is 8.0GB. [2022-04-27 10:48:38,217 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 197.1MB. Free memory is still 165.6MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 10:48:38,217 INFO L158 Benchmark]: CACSL2BoogieTranslator took 169.19ms. Allocated memory is still 197.1MB. Free memory was 148.9MB in the beginning and 175.3MB in the end (delta: -26.4MB). Peak memory consumption was 12.8MB. Max. memory is 8.0GB. [2022-04-27 10:48:38,217 INFO L158 Benchmark]: Boogie Preprocessor took 41.53ms. Allocated memory is still 197.1MB. Free memory was 175.3MB in the beginning and 173.8MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-27 10:48:38,217 INFO L158 Benchmark]: RCFGBuilder took 283.50ms. Allocated memory is still 197.1MB. Free memory was 173.8MB in the beginning and 160.7MB in the end (delta: 13.1MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. [2022-04-27 10:48:38,217 INFO L158 Benchmark]: TraceAbstraction took 18545.89ms. Allocated memory was 197.1MB in the beginning and 346.0MB in the end (delta: 148.9MB). Free memory was 160.1MB in the beginning and 299.1MB in the end (delta: -138.9MB). Peak memory consumption was 183.5MB. Max. memory is 8.0GB. [2022-04-27 10:48:38,218 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.09ms. Allocated memory is still 197.1MB. Free memory is still 165.6MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 169.19ms. Allocated memory is still 197.1MB. Free memory was 148.9MB in the beginning and 175.3MB in the end (delta: -26.4MB). Peak memory consumption was 12.8MB. Max. memory is 8.0GB. * Boogie Preprocessor took 41.53ms. Allocated memory is still 197.1MB. Free memory was 175.3MB in the beginning and 173.8MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 283.50ms. Allocated memory is still 197.1MB. Free memory was 173.8MB in the beginning and 160.7MB in the end (delta: 13.1MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. * TraceAbstraction took 18545.89ms. Allocated memory was 197.1MB in the beginning and 346.0MB in the end (delta: 148.9MB). Free memory was 160.1MB in the beginning and 299.1MB in the end (delta: -138.9MB). Peak memory consumption was 183.5MB. Max. memory is 8.0GB. * 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 6 procedures, 43 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 18.5s, OverallIterations: 10, TraceHistogramMax: 16, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 9.9s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.7s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 719 SdHoareTripleChecker+Valid, 3.6s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 711 mSDsluCounter, 609 SdHoareTripleChecker+Invalid, 3.5s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 311 mSDsCounter, 989 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2675 IncrementalHoareTripleChecker+Invalid, 3664 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 989 mSolverCounterUnsat, 298 mSDtfsCounter, 2675 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 893 GetRequests, 699 SyntacticMatches, 14 SemanticMatches, 180 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1095 ImplicationChecksByTransitivity, 1.7s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=100occurred in iteration=9, InterpolantAutomatonStates: 114, 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, 15 LocationsWithAnnotation, 60 PreInvPairs, 104 NumberOfFragments, 412 HoareAnnotationTreeSize, 60 FomulaSimplifications, 382 FormulaSimplificationTreeSizeReduction, 0.2s HoareSimplificationTime, 15 FomulaSimplificationsInter, 2197 FormulaSimplificationTreeSizeReductionInter, 0.5s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 5.4s InterpolantComputationTime, 761 NumberOfCodeBlocks, 761 NumberOfCodeBlocksAsserted, 16 NumberOfCheckSat, 1050 ConstructedInterpolants, 0 QuantifiedInterpolants, 3625 SizeOfPredicates, 16 NumberOfNonLiveVariables, 688 ConjunctsInSsa, 46 ConjunctsInUnsatCore, 18 InterpolantComputations, 6 PerfectInterpolantSequences, 2730/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: 25]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 37]: Loop Invariant Derived loop invariant: ((((2 + buflim == bufferlen && in == 0) && 2 <= bufferlen) && buf == 0) && bufferlen < inlen) || ((((((bufferlen + in + 1 <= buf + inlen && buf + 2 <= bufferlen) && 1 <= in) && 0 <= buf) && bufferlen <= 2 + buflim) && bufferlen < inlen) && 2 + buflim <= bufferlen) RESULT: Ultimate proved your program to be correct! [2022-04-27 10:48:38,250 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...