/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/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/loop-invgen/sendmail-close-angle.i -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 09:31:14,037 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 09:31:14,038 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 09:31:14,108 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 09:31:14,108 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 09:31:14,109 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 09:31:14,112 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 09:31:14,115 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 09:31:14,116 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 09:31:14,121 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 09:31:14,121 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 09:31:14,122 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 09:31:14,122 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 09:31:14,124 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 09:31:14,124 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 09:31:14,126 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 09:31:14,127 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 09:31:14,128 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 09:31:14,129 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 09:31:14,133 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 09:31:14,134 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 09:31:14,135 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 09:31:14,135 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 09:31:14,136 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 09:31:14,136 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 09:31:14,140 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 09:31:14,140 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 09:31:14,140 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 09:31:14,140 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 09:31:14,141 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 09:31:14,141 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 09:31:14,141 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 09:31:14,142 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 09:31:14,142 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 09:31:14,142 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 09:31:14,143 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 09:31:14,143 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 09:31:14,143 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 09:31:14,144 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 09:31:14,144 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 09:31:14,144 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 09:31:14,145 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 09:31:14,145 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 09:31:14,151 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 09:31:14,151 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 09:31:14,152 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 09:31:14,152 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 09:31:14,152 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 09:31:14,152 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 09:31:14,152 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 09:31:14,152 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 09:31:14,153 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 09:31:14,153 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 09:31:14,153 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 09:31:14,153 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 09:31:14,153 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 09:31:14,153 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 09:31:14,153 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 09:31:14,153 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 09:31:14,154 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 09:31:14,154 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 09:31:14,154 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 09:31:14,154 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 09:31:14,154 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 09:31:14,154 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 09:31:14,154 INFO L138 SettingsManager]: * Use separate solver for trace checks=false 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-28 09:31:14,337 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 09:31:14,355 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 09:31:14,356 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 09:31:14,357 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 09:31:14,358 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 09:31:14,359 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-28 09:31:14,407 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/051261d07/97c5e384d06d41198d7349f31551d78d/FLAG89739d19d [2022-04-28 09:31:14,728 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 09:31:14,728 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loop-invgen/sendmail-close-angle.i [2022-04-28 09:31:14,734 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/051261d07/97c5e384d06d41198d7349f31551d78d/FLAG89739d19d [2022-04-28 09:31:15,160 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/051261d07/97c5e384d06d41198d7349f31551d78d [2022-04-28 09:31:15,162 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 09:31:15,163 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 09:31:15,166 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 09:31:15,166 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 09:31:15,168 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 09:31:15,169 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 09:31:15" (1/1) ... [2022-04-28 09:31:15,171 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@27497245 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:31:15, skipping insertion in model container [2022-04-28 09:31:15,171 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 09:31:15" (1/1) ... [2022-04-28 09:31:15,175 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 09:31:15,187 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 09:31:15,311 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-28 09:31:15,337 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 09:31:15,342 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 09:31:15,350 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-28 09:31:15,354 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 09:31:15,364 INFO L208 MainTranslator]: Completed translation [2022-04-28 09:31:15,364 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:31:15 WrapperNode [2022-04-28 09:31:15,364 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 09:31:15,365 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 09:31:15,365 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 09:31:15,365 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 09:31:15,373 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:31:15" (1/1) ... [2022-04-28 09:31:15,373 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:31:15" (1/1) ... [2022-04-28 09:31:15,378 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:31:15" (1/1) ... [2022-04-28 09:31:15,378 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:31:15" (1/1) ... [2022-04-28 09:31:15,390 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:31:15" (1/1) ... [2022-04-28 09:31:15,395 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:31:15" (1/1) ... [2022-04-28 09:31:15,399 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:31:15" (1/1) ... [2022-04-28 09:31:15,403 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 09:31:15,404 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 09:31:15,404 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 09:31:15,404 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 09:31:15,405 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:31:15" (1/1) ... [2022-04-28 09:31:15,417 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 09:31:15,423 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:31:15,432 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-28 09:31:15,450 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-28 09:31:15,466 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 09:31:15,466 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 09:31:15,466 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 09:31:15,466 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 09:31:15,466 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 09:31:15,466 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 09:31:15,466 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 09:31:15,467 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 09:31:15,467 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_perror_fail [2022-04-28 09:31:15,467 INFO L130 BoogieDeclarations]: Found specification of procedure __assert [2022-04-28 09:31:15,467 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 09:31:15,467 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 09:31:15,467 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 09:31:15,467 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 09:31:15,468 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 09:31:15,468 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 09:31:15,468 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 09:31:15,468 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 09:31:15,468 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 09:31:15,469 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 09:31:15,469 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 09:31:15,469 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 09:31:15,522 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 09:31:15,524 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 09:31:15,756 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 09:31:15,761 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 09:31:15,761 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 09:31:15,762 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 09:31:15 BoogieIcfgContainer [2022-04-28 09:31:15,762 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 09:31:15,763 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 09:31:15,763 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 09:31:15,772 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 09:31:15,772 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 09:31:15" (1/3) ... [2022-04-28 09:31:15,772 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3ff8bcf8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 09:31:15, skipping insertion in model container [2022-04-28 09:31:15,772 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:31:15" (2/3) ... [2022-04-28 09:31:15,773 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3ff8bcf8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 09:31:15, skipping insertion in model container [2022-04-28 09:31:15,773 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 09:31:15" (3/3) ... [2022-04-28 09:31:15,774 INFO L111 eAbstractionObserver]: Analyzing ICFG sendmail-close-angle.i [2022-04-28 09:31:15,784 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 09:31:15,784 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 09:31:15,826 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 09:31:15,832 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, 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@7b4ea841, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@164c6b96 [2022-04-28 09:31:15,832 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 09:31:15,845 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-28 09:31:15,849 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-04-28 09:31:15,849 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:31:15,850 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:31:15,850 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:31:15,854 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:31:15,854 INFO L85 PathProgramCache]: Analyzing trace with hash 1361038294, now seen corresponding path program 1 times [2022-04-28 09:31:15,860 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:31:15,861 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [663214096] [2022-04-28 09:31:15,868 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 09:31:15,868 INFO L85 PathProgramCache]: Analyzing trace with hash 1361038294, now seen corresponding path program 2 times [2022-04-28 09:31:15,870 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:31:15,871 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1139967628] [2022-04-28 09:31:15,871 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:31:15,872 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:31:15,941 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:15,987 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:31:15,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:16,011 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-28 09:31:16,012 INFO L290 TraceCheckUtils]: 1: Hoare triple {39#true} assume true; {39#true} is VALID [2022-04-28 09:31:16,012 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {39#true} {39#true} #102#return; {39#true} is VALID [2022-04-28 09:31:16,015 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-28 09:31:16,015 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-28 09:31:16,015 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#true} assume true; {39#true} is VALID [2022-04-28 09:31:16,015 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#true} {39#true} #102#return; {39#true} is VALID [2022-04-28 09:31:16,016 INFO L272 TraceCheckUtils]: 4: Hoare triple {39#true} call #t~ret8 := main(); {39#true} is VALID [2022-04-28 09:31:16,016 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-28 09:31:16,016 INFO L290 TraceCheckUtils]: 6: Hoare triple {39#true} assume ~bufferlen~0 > 1; {39#true} is VALID [2022-04-28 09:31:16,016 INFO L290 TraceCheckUtils]: 7: Hoare triple {39#true} assume ~inlen~0 > 0; {39#true} is VALID [2022-04-28 09:31:16,016 INFO L290 TraceCheckUtils]: 8: Hoare triple {39#true} assume ~bufferlen~0 < ~inlen~0; {39#true} is VALID [2022-04-28 09:31:16,016 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-28 09:31:16,017 INFO L290 TraceCheckUtils]: 10: Hoare triple {39#true} assume !true; {40#false} is VALID [2022-04-28 09:31:16,018 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-28 09:31:16,018 INFO L290 TraceCheckUtils]: 12: Hoare triple {40#false} ~cond := #in~cond; {40#false} is VALID [2022-04-28 09:31:16,018 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#false} assume 0 == ~cond; {40#false} is VALID [2022-04-28 09:31:16,018 INFO L290 TraceCheckUtils]: 14: Hoare triple {40#false} assume !false; {40#false} is VALID [2022-04-28 09:31:16,018 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-28 09:31:16,019 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:31:16,019 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1139967628] [2022-04-28 09:31:16,019 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1139967628] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:31:16,020 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:31:16,020 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 09:31:16,023 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:31:16,023 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [663214096] [2022-04-28 09:31:16,023 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [663214096] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:31:16,023 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:31:16,023 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 09:31:16,024 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [99215335] [2022-04-28 09:31:16,024 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:31:16,028 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-28 09:31:16,029 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:31:16,031 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-28 09:31:16,052 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-28 09:31:16,052 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 09:31:16,052 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:31:16,068 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 09:31:16,069 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 09:31:16,072 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-28 09:31:16,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:16,233 INFO L93 Difference]: Finished difference Result 62 states and 93 transitions. [2022-04-28 09:31:16,233 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 09:31:16,234 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-28 09:31:16,234 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:31:16,235 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-28 09:31:16,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 93 transitions. [2022-04-28 09:31:16,246 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-28 09:31:16,249 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 93 transitions. [2022-04-28 09:31:16,249 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 93 transitions. [2022-04-28 09:31:16,347 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-28 09:31:16,353 INFO L225 Difference]: With dead ends: 62 [2022-04-28 09:31:16,353 INFO L226 Difference]: Without dead ends: 30 [2022-04-28 09:31:16,356 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-28 09:31:16,358 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-28 09:31:16,358 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-28 09:31:16,386 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-04-28 09:31:16,406 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-04-28 09:31:16,407 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:31:16,407 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-28 09:31:16,408 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-28 09:31:16,408 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-28 09:31:16,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:16,426 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-28 09:31:16,426 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-28 09:31:16,426 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:16,427 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:31:16,427 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-28 09:31:16,427 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-28 09:31:16,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:16,431 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-28 09:31:16,431 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-28 09:31:16,432 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:16,432 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:31:16,432 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:31:16,432 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:31:16,433 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-28 09:31:16,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 38 transitions. [2022-04-28 09:31:16,436 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 38 transitions. Word has length 15 [2022-04-28 09:31:16,436 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:31:16,436 INFO L495 AbstractCegarLoop]: Abstraction has 30 states and 38 transitions. [2022-04-28 09:31:16,437 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-28 09:31:16,437 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 38 transitions. [2022-04-28 09:31:16,470 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:31:16,470 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-28 09:31:16,471 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-04-28 09:31:16,471 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:31:16,471 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:31:16,471 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 09:31:16,471 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:31:16,472 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:31:16,472 INFO L85 PathProgramCache]: Analyzing trace with hash -1347976123, now seen corresponding path program 1 times [2022-04-28 09:31:16,472 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:31:16,472 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [429750474] [2022-04-28 09:31:16,473 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 09:31:16,473 INFO L85 PathProgramCache]: Analyzing trace with hash -1347976123, now seen corresponding path program 2 times [2022-04-28 09:31:16,473 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:31:16,473 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2074593121] [2022-04-28 09:31:16,473 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:31:16,473 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:31:16,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:16,579 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:31:16,586 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:16,602 INFO L290 TraceCheckUtils]: 0: Hoare triple {299#(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); {291#true} is VALID [2022-04-28 09:31:16,602 INFO L290 TraceCheckUtils]: 1: Hoare triple {291#true} assume true; {291#true} is VALID [2022-04-28 09:31:16,603 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {291#true} {291#true} #102#return; {291#true} is VALID [2022-04-28 09:31:16,604 INFO L272 TraceCheckUtils]: 0: Hoare triple {291#true} call ULTIMATE.init(); {299#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:31:16,604 INFO L290 TraceCheckUtils]: 1: Hoare triple {299#(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); {291#true} is VALID [2022-04-28 09:31:16,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {291#true} assume true; {291#true} is VALID [2022-04-28 09:31:16,605 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {291#true} {291#true} #102#return; {291#true} is VALID [2022-04-28 09:31:16,605 INFO L272 TraceCheckUtils]: 4: Hoare triple {291#true} call #t~ret8 := main(); {291#true} is VALID [2022-04-28 09:31:16,606 INFO L290 TraceCheckUtils]: 5: Hoare triple {291#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; {291#true} is VALID [2022-04-28 09:31:16,606 INFO L290 TraceCheckUtils]: 6: Hoare triple {291#true} assume ~bufferlen~0 > 1; {291#true} is VALID [2022-04-28 09:31:16,606 INFO L290 TraceCheckUtils]: 7: Hoare triple {291#true} assume ~inlen~0 > 0; {291#true} is VALID [2022-04-28 09:31:16,606 INFO L290 TraceCheckUtils]: 8: Hoare triple {291#true} assume ~bufferlen~0 < ~inlen~0; {291#true} is VALID [2022-04-28 09:31:16,606 INFO L290 TraceCheckUtils]: 9: Hoare triple {291#true} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {296#(<= 0 main_~buf~0)} is VALID [2022-04-28 09:31:16,607 INFO L290 TraceCheckUtils]: 10: Hoare triple {296#(<= 0 main_~buf~0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {296#(<= 0 main_~buf~0)} is VALID [2022-04-28 09:31:16,607 INFO L290 TraceCheckUtils]: 11: Hoare triple {296#(<= 0 main_~buf~0)} assume !(0 != #t~nondet3);havoc #t~nondet3; {296#(<= 0 main_~buf~0)} is VALID [2022-04-28 09:31:16,608 INFO L272 TraceCheckUtils]: 12: Hoare triple {296#(<= 0 main_~buf~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {297#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:31:16,609 INFO L290 TraceCheckUtils]: 13: Hoare triple {297#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {298#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 09:31:16,609 INFO L290 TraceCheckUtils]: 14: Hoare triple {298#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {292#false} is VALID [2022-04-28 09:31:16,609 INFO L290 TraceCheckUtils]: 15: Hoare triple {292#false} assume !false; {292#false} is VALID [2022-04-28 09:31:16,610 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-28 09:31:16,610 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:31:16,610 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2074593121] [2022-04-28 09:31:16,610 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2074593121] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:31:16,610 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:31:16,610 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 09:31:16,611 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:31:16,611 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [429750474] [2022-04-28 09:31:16,611 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [429750474] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:31:16,611 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:31:16,611 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 09:31:16,611 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1973639811] [2022-04-28 09:31:16,611 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:31:16,612 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-28 09:31:16,612 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:31:16,612 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-28 09:31:16,625 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-28 09:31:16,625 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 09:31:16,625 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:31:16,626 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 09:31:16,626 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 09:31:16,627 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-28 09:31:16,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:16,934 INFO L93 Difference]: Finished difference Result 36 states and 43 transitions. [2022-04-28 09:31:16,934 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 09:31:16,934 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-28 09:31:16,935 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:31:16,935 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-28 09:31:16,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 43 transitions. [2022-04-28 09:31:16,940 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-28 09:31:16,948 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 43 transitions. [2022-04-28 09:31:16,948 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 43 transitions. [2022-04-28 09:31:16,988 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-28 09:31:16,990 INFO L225 Difference]: With dead ends: 36 [2022-04-28 09:31:16,990 INFO L226 Difference]: Without dead ends: 34 [2022-04-28 09:31:16,990 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-28 09:31:16,991 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-28 09:31:16,992 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-28 09:31:16,993 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-04-28 09:31:17,011 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2022-04-28 09:31:17,012 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:31:17,012 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-28 09:31:17,012 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-28 09:31:17,013 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-28 09:31:17,016 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:17,016 INFO L93 Difference]: Finished difference Result 34 states and 41 transitions. [2022-04-28 09:31:17,016 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-04-28 09:31:17,019 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:17,020 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:31:17,020 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-28 09:31:17,020 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-28 09:31:17,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:17,022 INFO L93 Difference]: Finished difference Result 34 states and 41 transitions. [2022-04-28 09:31:17,022 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-04-28 09:31:17,023 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:17,023 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:31:17,023 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:31:17,023 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:31:17,023 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-28 09:31:17,025 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 41 transitions. [2022-04-28 09:31:17,025 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 41 transitions. Word has length 16 [2022-04-28 09:31:17,025 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:31:17,025 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 41 transitions. [2022-04-28 09:31:17,025 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-28 09:31:17,025 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 41 transitions. [2022-04-28 09:31:17,071 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:31:17,071 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-04-28 09:31:17,072 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2022-04-28 09:31:17,072 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:31:17,073 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-28 09:31:17,073 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 09:31:17,075 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:31:17,076 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:31:17,076 INFO L85 PathProgramCache]: Analyzing trace with hash -863391162, now seen corresponding path program 1 times [2022-04-28 09:31:17,076 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:31:17,076 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [81872555] [2022-04-28 09:31:17,079 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 09:31:17,079 INFO L85 PathProgramCache]: Analyzing trace with hash -863391162, now seen corresponding path program 2 times [2022-04-28 09:31:17,079 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:31:17,088 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1533372160] [2022-04-28 09:31:17,088 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:31:17,089 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:31:17,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:17,174 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:31:17,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:17,189 INFO L290 TraceCheckUtils]: 0: Hoare triple {531#(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); {518#true} is VALID [2022-04-28 09:31:17,191 INFO L290 TraceCheckUtils]: 1: Hoare triple {518#true} assume true; {518#true} is VALID [2022-04-28 09:31:17,191 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {518#true} {518#true} #102#return; {518#true} is VALID [2022-04-28 09:31:17,193 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 09:31:17,195 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:17,202 INFO L290 TraceCheckUtils]: 0: Hoare triple {518#true} ~cond := #in~cond; {518#true} is VALID [2022-04-28 09:31:17,202 INFO L290 TraceCheckUtils]: 1: Hoare triple {518#true} assume !(0 == ~cond); {518#true} is VALID [2022-04-28 09:31:17,202 INFO L290 TraceCheckUtils]: 2: Hoare triple {518#true} assume true; {518#true} is VALID [2022-04-28 09:31:17,203 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {518#true} {524#(< main_~buf~0 main_~bufferlen~0)} #94#return; {524#(< main_~buf~0 main_~bufferlen~0)} is VALID [2022-04-28 09:31:17,203 INFO L272 TraceCheckUtils]: 0: Hoare triple {518#true} call ULTIMATE.init(); {531#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:31:17,204 INFO L290 TraceCheckUtils]: 1: Hoare triple {531#(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); {518#true} is VALID [2022-04-28 09:31:17,204 INFO L290 TraceCheckUtils]: 2: Hoare triple {518#true} assume true; {518#true} is VALID [2022-04-28 09:31:17,205 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {518#true} {518#true} #102#return; {518#true} is VALID [2022-04-28 09:31:17,205 INFO L272 TraceCheckUtils]: 4: Hoare triple {518#true} call #t~ret8 := main(); {518#true} is VALID [2022-04-28 09:31:17,207 INFO L290 TraceCheckUtils]: 5: Hoare triple {518#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; {518#true} is VALID [2022-04-28 09:31:17,207 INFO L290 TraceCheckUtils]: 6: Hoare triple {518#true} assume ~bufferlen~0 > 1; {523#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:17,208 INFO L290 TraceCheckUtils]: 7: Hoare triple {523#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {523#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:17,208 INFO L290 TraceCheckUtils]: 8: Hoare triple {523#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {523#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:17,209 INFO L290 TraceCheckUtils]: 9: Hoare triple {523#(<= 2 main_~bufferlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {524#(< main_~buf~0 main_~bufferlen~0)} is VALID [2022-04-28 09:31:17,210 INFO L290 TraceCheckUtils]: 10: Hoare triple {524#(< main_~buf~0 main_~bufferlen~0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {524#(< main_~buf~0 main_~bufferlen~0)} is VALID [2022-04-28 09:31:17,210 INFO L290 TraceCheckUtils]: 11: Hoare triple {524#(< main_~buf~0 main_~bufferlen~0)} assume !(0 != #t~nondet3);havoc #t~nondet3; {524#(< main_~buf~0 main_~bufferlen~0)} is VALID [2022-04-28 09:31:17,210 INFO L272 TraceCheckUtils]: 12: Hoare triple {524#(< main_~buf~0 main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {518#true} is VALID [2022-04-28 09:31:17,210 INFO L290 TraceCheckUtils]: 13: Hoare triple {518#true} ~cond := #in~cond; {518#true} is VALID [2022-04-28 09:31:17,212 INFO L290 TraceCheckUtils]: 14: Hoare triple {518#true} assume !(0 == ~cond); {518#true} is VALID [2022-04-28 09:31:17,212 INFO L290 TraceCheckUtils]: 15: Hoare triple {518#true} assume true; {518#true} is VALID [2022-04-28 09:31:17,213 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {518#true} {524#(< main_~buf~0 main_~bufferlen~0)} #94#return; {524#(< main_~buf~0 main_~bufferlen~0)} is VALID [2022-04-28 09:31:17,213 INFO L272 TraceCheckUtils]: 17: Hoare triple {524#(< main_~buf~0 main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {529#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:31:17,214 INFO L290 TraceCheckUtils]: 18: Hoare triple {529#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {530#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 09:31:17,215 INFO L290 TraceCheckUtils]: 19: Hoare triple {530#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {519#false} is VALID [2022-04-28 09:31:17,215 INFO L290 TraceCheckUtils]: 20: Hoare triple {519#false} assume !false; {519#false} is VALID [2022-04-28 09:31:17,216 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-28 09:31:17,216 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:31:17,216 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1533372160] [2022-04-28 09:31:17,216 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1533372160] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:31:17,216 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:31:17,216 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 09:31:17,217 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:31:17,217 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [81872555] [2022-04-28 09:31:17,217 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [81872555] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:31:17,217 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:31:17,217 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 09:31:17,217 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [853454975] [2022-04-28 09:31:17,217 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:31:17,218 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-28 09:31:17,218 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:31:17,218 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-28 09:31:17,234 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-28 09:31:17,234 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 09:31:17,234 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:31:17,234 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 09:31:17,235 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-04-28 09:31:17,236 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-28 09:31:17,673 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:17,673 INFO L93 Difference]: Finished difference Result 49 states and 61 transitions. [2022-04-28 09:31:17,673 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 09:31:17,673 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-28 09:31:17,674 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:31:17,674 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-28 09:31:17,675 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2022-04-28 09:31:17,676 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-28 09:31:17,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2022-04-28 09:31:17,677 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 58 transitions. [2022-04-28 09:31:17,723 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-28 09:31:17,724 INFO L225 Difference]: With dead ends: 49 [2022-04-28 09:31:17,724 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 09:31:17,725 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-28 09:31:17,725 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-28 09:31:17,726 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-28 09:31:17,726 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 09:31:17,752 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 45. [2022-04-28 09:31:17,752 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:31:17,752 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-28 09:31:17,753 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-28 09:31:17,753 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-28 09:31:17,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:17,755 INFO L93 Difference]: Finished difference Result 47 states and 59 transitions. [2022-04-28 09:31:17,755 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 59 transitions. [2022-04-28 09:31:17,755 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:17,755 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:31:17,756 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-28 09:31:17,756 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-28 09:31:17,758 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:17,758 INFO L93 Difference]: Finished difference Result 47 states and 59 transitions. [2022-04-28 09:31:17,758 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 59 transitions. [2022-04-28 09:31:17,758 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:17,758 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:31:17,758 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:31:17,758 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:31:17,759 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-28 09:31:17,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 57 transitions. [2022-04-28 09:31:17,760 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 57 transitions. Word has length 21 [2022-04-28 09:31:17,761 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:31:17,761 INFO L495 AbstractCegarLoop]: Abstraction has 45 states and 57 transitions. [2022-04-28 09:31:17,761 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-28 09:31:17,761 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 57 transitions. [2022-04-28 09:31:17,803 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:31:17,803 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 57 transitions. [2022-04-28 09:31:17,804 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-28 09:31:17,804 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:31:17,804 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-28 09:31:17,804 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-28 09:31:17,804 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:31:17,805 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:31:17,805 INFO L85 PathProgramCache]: Analyzing trace with hash -1742477006, now seen corresponding path program 1 times [2022-04-28 09:31:17,805 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:31:17,805 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1127717490] [2022-04-28 09:31:17,805 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 09:31:17,805 INFO L85 PathProgramCache]: Analyzing trace with hash -1742477006, now seen corresponding path program 2 times [2022-04-28 09:31:17,805 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:31:17,806 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [242435477] [2022-04-28 09:31:17,806 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:31:17,806 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:31:17,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:17,851 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:31:17,853 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:17,856 INFO L290 TraceCheckUtils]: 0: Hoare triple {843#(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); {826#true} is VALID [2022-04-28 09:31:17,856 INFO L290 TraceCheckUtils]: 1: Hoare triple {826#true} assume true; {826#true} is VALID [2022-04-28 09:31:17,856 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {826#true} {826#true} #102#return; {826#true} is VALID [2022-04-28 09:31:17,856 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 09:31:17,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:17,861 INFO L290 TraceCheckUtils]: 0: Hoare triple {826#true} ~cond := #in~cond; {826#true} is VALID [2022-04-28 09:31:17,861 INFO L290 TraceCheckUtils]: 1: Hoare triple {826#true} assume !(0 == ~cond); {826#true} is VALID [2022-04-28 09:31:17,861 INFO L290 TraceCheckUtils]: 2: Hoare triple {826#true} assume true; {826#true} is VALID [2022-04-28 09:31:17,861 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {826#true} {831#(= main_~in~0 0)} #86#return; {831#(= main_~in~0 0)} is VALID [2022-04-28 09:31:17,862 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-28 09:31:17,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:17,866 INFO L290 TraceCheckUtils]: 0: Hoare triple {826#true} ~cond := #in~cond; {826#true} is VALID [2022-04-28 09:31:17,866 INFO L290 TraceCheckUtils]: 1: Hoare triple {826#true} assume !(0 == ~cond); {826#true} is VALID [2022-04-28 09:31:17,866 INFO L290 TraceCheckUtils]: 2: Hoare triple {826#true} assume true; {826#true} is VALID [2022-04-28 09:31:17,867 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {826#true} {831#(= main_~in~0 0)} #88#return; {831#(= main_~in~0 0)} is VALID [2022-04-28 09:31:17,867 INFO L272 TraceCheckUtils]: 0: Hoare triple {826#true} call ULTIMATE.init(); {843#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:31:17,867 INFO L290 TraceCheckUtils]: 1: Hoare triple {843#(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); {826#true} is VALID [2022-04-28 09:31:17,868 INFO L290 TraceCheckUtils]: 2: Hoare triple {826#true} assume true; {826#true} is VALID [2022-04-28 09:31:17,868 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {826#true} {826#true} #102#return; {826#true} is VALID [2022-04-28 09:31:17,868 INFO L272 TraceCheckUtils]: 4: Hoare triple {826#true} call #t~ret8 := main(); {826#true} is VALID [2022-04-28 09:31:17,868 INFO L290 TraceCheckUtils]: 5: Hoare triple {826#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; {826#true} is VALID [2022-04-28 09:31:17,868 INFO L290 TraceCheckUtils]: 6: Hoare triple {826#true} assume ~bufferlen~0 > 1; {826#true} is VALID [2022-04-28 09:31:17,868 INFO L290 TraceCheckUtils]: 7: Hoare triple {826#true} assume ~inlen~0 > 0; {826#true} is VALID [2022-04-28 09:31:17,868 INFO L290 TraceCheckUtils]: 8: Hoare triple {826#true} assume ~bufferlen~0 < ~inlen~0; {826#true} is VALID [2022-04-28 09:31:17,869 INFO L290 TraceCheckUtils]: 9: Hoare triple {826#true} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {831#(= main_~in~0 0)} is VALID [2022-04-28 09:31:17,869 INFO L290 TraceCheckUtils]: 10: Hoare triple {831#(= main_~in~0 0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {831#(= main_~in~0 0)} is VALID [2022-04-28 09:31:17,869 INFO L290 TraceCheckUtils]: 11: Hoare triple {831#(= main_~in~0 0)} assume !!(0 != #t~nondet3);havoc #t~nondet3; {831#(= main_~in~0 0)} is VALID [2022-04-28 09:31:17,870 INFO L290 TraceCheckUtils]: 12: Hoare triple {831#(= main_~in~0 0)} assume !(~buf~0 == ~buflim~0); {831#(= main_~in~0 0)} is VALID [2022-04-28 09:31:17,870 INFO L272 TraceCheckUtils]: 13: Hoare triple {831#(= main_~in~0 0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {826#true} is VALID [2022-04-28 09:31:17,870 INFO L290 TraceCheckUtils]: 14: Hoare triple {826#true} ~cond := #in~cond; {826#true} is VALID [2022-04-28 09:31:17,870 INFO L290 TraceCheckUtils]: 15: Hoare triple {826#true} assume !(0 == ~cond); {826#true} is VALID [2022-04-28 09:31:17,870 INFO L290 TraceCheckUtils]: 16: Hoare triple {826#true} assume true; {826#true} is VALID [2022-04-28 09:31:17,871 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {826#true} {831#(= main_~in~0 0)} #86#return; {831#(= main_~in~0 0)} is VALID [2022-04-28 09:31:17,871 INFO L272 TraceCheckUtils]: 18: Hoare triple {831#(= main_~in~0 0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {826#true} is VALID [2022-04-28 09:31:17,871 INFO L290 TraceCheckUtils]: 19: Hoare triple {826#true} ~cond := #in~cond; {826#true} is VALID [2022-04-28 09:31:17,871 INFO L290 TraceCheckUtils]: 20: Hoare triple {826#true} assume !(0 == ~cond); {826#true} is VALID [2022-04-28 09:31:17,871 INFO L290 TraceCheckUtils]: 21: Hoare triple {826#true} assume true; {826#true} is VALID [2022-04-28 09:31:17,872 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {826#true} {831#(= main_~in~0 0)} #88#return; {831#(= main_~in~0 0)} is VALID [2022-04-28 09:31:17,872 INFO L290 TraceCheckUtils]: 23: Hoare triple {831#(= main_~in~0 0)} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {831#(= main_~in~0 0)} is VALID [2022-04-28 09:31:17,872 INFO L290 TraceCheckUtils]: 24: Hoare triple {831#(= main_~in~0 0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {840#(<= 1 main_~in~0)} is VALID [2022-04-28 09:31:17,873 INFO L272 TraceCheckUtils]: 25: Hoare triple {840#(<= 1 main_~in~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {841#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:31:17,873 INFO L290 TraceCheckUtils]: 26: Hoare triple {841#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {842#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 09:31:17,873 INFO L290 TraceCheckUtils]: 27: Hoare triple {842#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {827#false} is VALID [2022-04-28 09:31:17,874 INFO L290 TraceCheckUtils]: 28: Hoare triple {827#false} assume !false; {827#false} is VALID [2022-04-28 09:31:17,874 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-28 09:31:17,874 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:31:17,874 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [242435477] [2022-04-28 09:31:17,874 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [242435477] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:31:17,874 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:31:17,874 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 09:31:17,875 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:31:17,875 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1127717490] [2022-04-28 09:31:17,875 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1127717490] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:31:17,875 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:31:17,875 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 09:31:17,875 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [766191558] [2022-04-28 09:31:17,875 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:31:17,875 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-28 09:31:17,876 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:31:17,876 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-28 09:31:17,890 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-28 09:31:17,890 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 09:31:17,890 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:31:17,891 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 09:31:17,891 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-04-28 09:31:17,891 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-28 09:31:18,344 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:18,344 INFO L93 Difference]: Finished difference Result 56 states and 68 transitions. [2022-04-28 09:31:18,344 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 09:31:18,344 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-28 09:31:18,344 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:31:18,345 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-28 09:31:18,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 09:31:18,346 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-28 09:31:18,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 09:31:18,347 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-28 09:31:18,394 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-28 09:31:18,398 INFO L225 Difference]: With dead ends: 56 [2022-04-28 09:31:18,398 INFO L226 Difference]: Without dead ends: 54 [2022-04-28 09:31:18,398 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-28 09:31:18,399 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-28 09:31:18,399 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-28 09:31:18,402 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-28 09:31:18,461 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 49. [2022-04-28 09:31:18,461 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:31:18,462 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-28 09:31:18,463 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-28 09:31:18,464 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-28 09:31:18,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:18,472 INFO L93 Difference]: Finished difference Result 54 states and 66 transitions. [2022-04-28 09:31:18,472 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 66 transitions. [2022-04-28 09:31:18,474 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:18,474 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:31:18,475 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-28 09:31:18,476 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-28 09:31:18,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:18,481 INFO L93 Difference]: Finished difference Result 54 states and 66 transitions. [2022-04-28 09:31:18,481 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 66 transitions. [2022-04-28 09:31:18,481 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:18,481 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:31:18,482 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:31:18,482 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:31:18,482 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-28 09:31:18,485 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 60 transitions. [2022-04-28 09:31:18,485 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 60 transitions. Word has length 29 [2022-04-28 09:31:18,485 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:31:18,485 INFO L495 AbstractCegarLoop]: Abstraction has 49 states and 60 transitions. [2022-04-28 09:31:18,486 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-28 09:31:18,486 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 49 states and 60 transitions. [2022-04-28 09:31:18,547 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:31:18,548 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 60 transitions. [2022-04-28 09:31:18,548 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 09:31:18,548 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:31:18,548 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-28 09:31:18,548 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-28 09:31:18,549 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:31:18,549 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:31:18,549 INFO L85 PathProgramCache]: Analyzing trace with hash 1571308956, now seen corresponding path program 1 times [2022-04-28 09:31:18,549 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:31:18,549 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [775086254] [2022-04-28 09:31:18,549 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 09:31:18,550 INFO L85 PathProgramCache]: Analyzing trace with hash 1571308956, now seen corresponding path program 2 times [2022-04-28 09:31:18,550 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:31:18,550 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [740703682] [2022-04-28 09:31:18,550 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:31:18,550 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:31:18,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:18,606 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:31:18,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:18,619 INFO L290 TraceCheckUtils]: 0: Hoare triple {1196#(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); {1174#true} is VALID [2022-04-28 09:31:18,620 INFO L290 TraceCheckUtils]: 1: Hoare triple {1174#true} assume true; {1174#true} is VALID [2022-04-28 09:31:18,620 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1174#true} {1174#true} #102#return; {1174#true} is VALID [2022-04-28 09:31:18,620 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 09:31:18,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:18,627 INFO L290 TraceCheckUtils]: 0: Hoare triple {1174#true} ~cond := #in~cond; {1174#true} is VALID [2022-04-28 09:31:18,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {1174#true} assume !(0 == ~cond); {1174#true} is VALID [2022-04-28 09:31:18,627 INFO L290 TraceCheckUtils]: 2: Hoare triple {1174#true} assume true; {1174#true} is VALID [2022-04-28 09:31:18,628 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1174#true} {1180#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} #94#return; {1180#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-28 09:31:18,628 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 09:31:18,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:18,634 INFO L290 TraceCheckUtils]: 0: Hoare triple {1174#true} ~cond := #in~cond; {1174#true} is VALID [2022-04-28 09:31:18,634 INFO L290 TraceCheckUtils]: 1: Hoare triple {1174#true} assume !(0 == ~cond); {1174#true} is VALID [2022-04-28 09:31:18,634 INFO L290 TraceCheckUtils]: 2: Hoare triple {1174#true} assume true; {1174#true} is VALID [2022-04-28 09:31:18,634 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1174#true} {1180#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} #96#return; {1180#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-28 09:31:18,635 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 09:31:18,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:18,638 INFO L290 TraceCheckUtils]: 0: Hoare triple {1174#true} ~cond := #in~cond; {1174#true} is VALID [2022-04-28 09:31:18,639 INFO L290 TraceCheckUtils]: 1: Hoare triple {1174#true} assume !(0 == ~cond); {1174#true} is VALID [2022-04-28 09:31:18,639 INFO L290 TraceCheckUtils]: 2: Hoare triple {1174#true} assume true; {1174#true} is VALID [2022-04-28 09:31:18,639 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1174#true} {1189#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #98#return; {1189#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-28 09:31:18,640 INFO L272 TraceCheckUtils]: 0: Hoare triple {1174#true} call ULTIMATE.init(); {1196#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:31:18,640 INFO L290 TraceCheckUtils]: 1: Hoare triple {1196#(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); {1174#true} is VALID [2022-04-28 09:31:18,640 INFO L290 TraceCheckUtils]: 2: Hoare triple {1174#true} assume true; {1174#true} is VALID [2022-04-28 09:31:18,640 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1174#true} {1174#true} #102#return; {1174#true} is VALID [2022-04-28 09:31:18,640 INFO L272 TraceCheckUtils]: 4: Hoare triple {1174#true} call #t~ret8 := main(); {1174#true} is VALID [2022-04-28 09:31:18,640 INFO L290 TraceCheckUtils]: 5: Hoare triple {1174#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; {1174#true} is VALID [2022-04-28 09:31:18,641 INFO L290 TraceCheckUtils]: 6: Hoare triple {1174#true} assume ~bufferlen~0 > 1; {1179#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:18,641 INFO L290 TraceCheckUtils]: 7: Hoare triple {1179#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {1179#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:18,642 INFO L290 TraceCheckUtils]: 8: Hoare triple {1179#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {1179#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:18,642 INFO L290 TraceCheckUtils]: 9: Hoare triple {1179#(<= 2 main_~bufferlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {1180#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-28 09:31:18,642 INFO L290 TraceCheckUtils]: 10: Hoare triple {1180#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {1180#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-28 09:31:18,643 INFO L290 TraceCheckUtils]: 11: Hoare triple {1180#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} assume !(0 != #t~nondet3);havoc #t~nondet3; {1180#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-28 09:31:18,643 INFO L272 TraceCheckUtils]: 12: Hoare triple {1180#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {1174#true} is VALID [2022-04-28 09:31:18,643 INFO L290 TraceCheckUtils]: 13: Hoare triple {1174#true} ~cond := #in~cond; {1174#true} is VALID [2022-04-28 09:31:18,643 INFO L290 TraceCheckUtils]: 14: Hoare triple {1174#true} assume !(0 == ~cond); {1174#true} is VALID [2022-04-28 09:31:18,643 INFO L290 TraceCheckUtils]: 15: Hoare triple {1174#true} assume true; {1174#true} is VALID [2022-04-28 09:31:18,644 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1174#true} {1180#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} #94#return; {1180#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-28 09:31:18,644 INFO L272 TraceCheckUtils]: 17: Hoare triple {1180#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {1174#true} is VALID [2022-04-28 09:31:18,644 INFO L290 TraceCheckUtils]: 18: Hoare triple {1174#true} ~cond := #in~cond; {1174#true} is VALID [2022-04-28 09:31:18,644 INFO L290 TraceCheckUtils]: 19: Hoare triple {1174#true} assume !(0 == ~cond); {1174#true} is VALID [2022-04-28 09:31:18,644 INFO L290 TraceCheckUtils]: 20: Hoare triple {1174#true} assume true; {1174#true} is VALID [2022-04-28 09:31:18,645 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1174#true} {1180#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} #96#return; {1180#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-28 09:31:18,645 INFO L290 TraceCheckUtils]: 22: Hoare triple {1180#(and (<= 2 main_~bufferlen~0) (= main_~buf~0 0))} #t~post6 := ~buf~0;~buf~0 := 1 + #t~post6;havoc #t~post6; {1189#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-28 09:31:18,645 INFO L272 TraceCheckUtils]: 23: Hoare triple {1189#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {1174#true} is VALID [2022-04-28 09:31:18,646 INFO L290 TraceCheckUtils]: 24: Hoare triple {1174#true} ~cond := #in~cond; {1174#true} is VALID [2022-04-28 09:31:18,646 INFO L290 TraceCheckUtils]: 25: Hoare triple {1174#true} assume !(0 == ~cond); {1174#true} is VALID [2022-04-28 09:31:18,646 INFO L290 TraceCheckUtils]: 26: Hoare triple {1174#true} assume true; {1174#true} is VALID [2022-04-28 09:31:18,646 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1174#true} {1189#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #98#return; {1189#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-28 09:31:18,647 INFO L272 TraceCheckUtils]: 28: Hoare triple {1189#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {1194#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:31:18,647 INFO L290 TraceCheckUtils]: 29: Hoare triple {1194#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1195#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 09:31:18,647 INFO L290 TraceCheckUtils]: 30: Hoare triple {1195#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1175#false} is VALID [2022-04-28 09:31:18,648 INFO L290 TraceCheckUtils]: 31: Hoare triple {1175#false} assume !false; {1175#false} is VALID [2022-04-28 09:31:18,648 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-28 09:31:18,648 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:31:18,648 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [740703682] [2022-04-28 09:31:18,648 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [740703682] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:31:18,648 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:31:18,648 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 09:31:18,649 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:31:18,649 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [775086254] [2022-04-28 09:31:18,649 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [775086254] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:31:18,649 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:31:18,649 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 09:31:18,649 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [778332128] [2022-04-28 09:31:18,649 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:31:18,649 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-28 09:31:18,650 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:31:18,650 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-28 09:31:18,665 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-28 09:31:18,665 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 09:31:18,665 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:31:18,666 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 09:31:18,666 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-04-28 09:31:18,666 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-28 09:31:19,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:19,287 INFO L93 Difference]: Finished difference Result 75 states and 93 transitions. [2022-04-28 09:31:19,287 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 09:31:19,287 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-28 09:31:19,288 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:31:19,288 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-28 09:31:19,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-28 09:31:19,289 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-28 09:31:19,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-28 09:31:19,291 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 81 transitions. [2022-04-28 09:31:19,366 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-28 09:31:19,368 INFO L225 Difference]: With dead ends: 75 [2022-04-28 09:31:19,368 INFO L226 Difference]: Without dead ends: 68 [2022-04-28 09:31:19,368 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-28 09:31:19,369 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 72 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 86 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 72 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 260 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 86 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 09:31:19,369 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [72 Valid, 45 Invalid, 260 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [86 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 09:31:19,370 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2022-04-28 09:31:19,416 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 66. [2022-04-28 09:31:19,416 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:31:19,417 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-28 09:31:19,417 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-28 09:31:19,417 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-28 09:31:19,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:19,419 INFO L93 Difference]: Finished difference Result 68 states and 81 transitions. [2022-04-28 09:31:19,419 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 81 transitions. [2022-04-28 09:31:19,419 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:19,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:31:19,420 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-28 09:31:19,420 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-28 09:31:19,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:19,422 INFO L93 Difference]: Finished difference Result 68 states and 81 transitions. [2022-04-28 09:31:19,422 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 81 transitions. [2022-04-28 09:31:19,422 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:19,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:31:19,422 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:31:19,422 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:31:19,423 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-28 09:31:19,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 79 transitions. [2022-04-28 09:31:19,424 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 79 transitions. Word has length 32 [2022-04-28 09:31:19,424 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:31:19,425 INFO L495 AbstractCegarLoop]: Abstraction has 66 states and 79 transitions. [2022-04-28 09:31:19,425 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-28 09:31:19,425 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 66 states and 79 transitions. [2022-04-28 09:31:19,498 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:31:19,498 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 79 transitions. [2022-04-28 09:31:19,499 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 09:31:19,499 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:31:19,499 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-28 09:31:19,499 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-04-28 09:31:19,499 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:31:19,500 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:31:19,500 INFO L85 PathProgramCache]: Analyzing trace with hash 173943289, now seen corresponding path program 1 times [2022-04-28 09:31:19,500 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:31:19,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [95321669] [2022-04-28 09:31:19,501 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 09:31:19,501 INFO L85 PathProgramCache]: Analyzing trace with hash 173943289, now seen corresponding path program 2 times [2022-04-28 09:31:19,501 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:31:19,501 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [113420483] [2022-04-28 09:31:19,501 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:31:19,501 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:31:19,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:19,598 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:31:19,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:19,618 INFO L290 TraceCheckUtils]: 0: Hoare triple {1653#(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); {1630#true} is VALID [2022-04-28 09:31:19,618 INFO L290 TraceCheckUtils]: 1: Hoare triple {1630#true} assume true; {1630#true} is VALID [2022-04-28 09:31:19,618 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1630#true} {1630#true} #102#return; {1630#true} is VALID [2022-04-28 09:31:19,619 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 09:31:19,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:19,628 INFO L290 TraceCheckUtils]: 0: Hoare triple {1630#true} ~cond := #in~cond; {1630#true} is VALID [2022-04-28 09:31:19,628 INFO L290 TraceCheckUtils]: 1: Hoare triple {1630#true} assume !(0 == ~cond); {1630#true} is VALID [2022-04-28 09:31:19,628 INFO L290 TraceCheckUtils]: 2: Hoare triple {1630#true} assume true; {1630#true} is VALID [2022-04-28 09:31:19,628 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1630#true} {1637#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #86#return; {1637#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-28 09:31:19,629 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-28 09:31:19,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:19,635 INFO L290 TraceCheckUtils]: 0: Hoare triple {1630#true} ~cond := #in~cond; {1630#true} is VALID [2022-04-28 09:31:19,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {1630#true} assume !(0 == ~cond); {1630#true} is VALID [2022-04-28 09:31:19,635 INFO L290 TraceCheckUtils]: 2: Hoare triple {1630#true} assume true; {1630#true} is VALID [2022-04-28 09:31:19,636 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1630#true} {1637#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #88#return; {1637#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-28 09:31:19,636 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-28 09:31:19,637 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:19,644 INFO L290 TraceCheckUtils]: 0: Hoare triple {1630#true} ~cond := #in~cond; {1630#true} is VALID [2022-04-28 09:31:19,644 INFO L290 TraceCheckUtils]: 1: Hoare triple {1630#true} assume !(0 == ~cond); {1630#true} is VALID [2022-04-28 09:31:19,644 INFO L290 TraceCheckUtils]: 2: Hoare triple {1630#true} assume true; {1630#true} is VALID [2022-04-28 09:31:19,645 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1630#true} {1646#(<= (+ 2 main_~in~0) main_~inlen~0)} #90#return; {1646#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:19,646 INFO L272 TraceCheckUtils]: 0: Hoare triple {1630#true} call ULTIMATE.init(); {1653#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:31:19,646 INFO L290 TraceCheckUtils]: 1: Hoare triple {1653#(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); {1630#true} is VALID [2022-04-28 09:31:19,646 INFO L290 TraceCheckUtils]: 2: Hoare triple {1630#true} assume true; {1630#true} is VALID [2022-04-28 09:31:19,646 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1630#true} {1630#true} #102#return; {1630#true} is VALID [2022-04-28 09:31:19,646 INFO L272 TraceCheckUtils]: 4: Hoare triple {1630#true} call #t~ret8 := main(); {1630#true} is VALID [2022-04-28 09:31:19,646 INFO L290 TraceCheckUtils]: 5: Hoare triple {1630#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; {1630#true} is VALID [2022-04-28 09:31:19,647 INFO L290 TraceCheckUtils]: 6: Hoare triple {1630#true} assume ~bufferlen~0 > 1; {1635#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:19,659 INFO L290 TraceCheckUtils]: 7: Hoare triple {1635#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {1635#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:19,660 INFO L290 TraceCheckUtils]: 8: Hoare triple {1635#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {1636#(<= 3 main_~inlen~0)} is VALID [2022-04-28 09:31:19,660 INFO L290 TraceCheckUtils]: 9: Hoare triple {1636#(<= 3 main_~inlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {1637#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-28 09:31:19,661 INFO L290 TraceCheckUtils]: 10: Hoare triple {1637#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {1637#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-28 09:31:19,661 INFO L290 TraceCheckUtils]: 11: Hoare triple {1637#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {1637#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-28 09:31:19,662 INFO L290 TraceCheckUtils]: 12: Hoare triple {1637#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} assume !(~buf~0 == ~buflim~0); {1637#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-28 09:31:19,662 INFO L272 TraceCheckUtils]: 13: Hoare triple {1637#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {1630#true} is VALID [2022-04-28 09:31:19,662 INFO L290 TraceCheckUtils]: 14: Hoare triple {1630#true} ~cond := #in~cond; {1630#true} is VALID [2022-04-28 09:31:19,662 INFO L290 TraceCheckUtils]: 15: Hoare triple {1630#true} assume !(0 == ~cond); {1630#true} is VALID [2022-04-28 09:31:19,662 INFO L290 TraceCheckUtils]: 16: Hoare triple {1630#true} assume true; {1630#true} is VALID [2022-04-28 09:31:19,663 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1630#true} {1637#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #86#return; {1637#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-28 09:31:19,663 INFO L272 TraceCheckUtils]: 18: Hoare triple {1637#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {1630#true} is VALID [2022-04-28 09:31:19,663 INFO L290 TraceCheckUtils]: 19: Hoare triple {1630#true} ~cond := #in~cond; {1630#true} is VALID [2022-04-28 09:31:19,663 INFO L290 TraceCheckUtils]: 20: Hoare triple {1630#true} assume !(0 == ~cond); {1630#true} is VALID [2022-04-28 09:31:19,663 INFO L290 TraceCheckUtils]: 21: Hoare triple {1630#true} assume true; {1630#true} is VALID [2022-04-28 09:31:19,663 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1630#true} {1637#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #88#return; {1637#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-28 09:31:19,664 INFO L290 TraceCheckUtils]: 23: Hoare triple {1637#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {1637#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-28 09:31:19,664 INFO L290 TraceCheckUtils]: 24: Hoare triple {1637#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {1646#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:19,664 INFO L272 TraceCheckUtils]: 25: Hoare triple {1646#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {1630#true} is VALID [2022-04-28 09:31:19,664 INFO L290 TraceCheckUtils]: 26: Hoare triple {1630#true} ~cond := #in~cond; {1630#true} is VALID [2022-04-28 09:31:19,664 INFO L290 TraceCheckUtils]: 27: Hoare triple {1630#true} assume !(0 == ~cond); {1630#true} is VALID [2022-04-28 09:31:19,665 INFO L290 TraceCheckUtils]: 28: Hoare triple {1630#true} assume true; {1630#true} is VALID [2022-04-28 09:31:19,665 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1630#true} {1646#(<= (+ 2 main_~in~0) main_~inlen~0)} #90#return; {1646#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:19,666 INFO L272 TraceCheckUtils]: 30: Hoare triple {1646#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {1651#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:31:19,666 INFO L290 TraceCheckUtils]: 31: Hoare triple {1651#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1652#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 09:31:19,666 INFO L290 TraceCheckUtils]: 32: Hoare triple {1652#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1631#false} is VALID [2022-04-28 09:31:19,666 INFO L290 TraceCheckUtils]: 33: Hoare triple {1631#false} assume !false; {1631#false} is VALID [2022-04-28 09:31:19,667 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-28 09:31:19,667 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:31:19,667 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [113420483] [2022-04-28 09:31:19,667 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [113420483] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:31:19,667 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:31:19,667 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 09:31:19,667 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:31:19,667 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [95321669] [2022-04-28 09:31:19,667 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [95321669] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:31:19,667 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:31:19,667 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 09:31:19,667 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1224436505] [2022-04-28 09:31:19,668 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:31:19,668 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-28 09:31:19,668 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:31:19,668 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-28 09:31:19,690 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-28 09:31:19,690 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 09:31:19,690 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:31:19,691 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 09:31:19,691 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 09:31:19,691 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-28 09:31:20,369 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:20,369 INFO L93 Difference]: Finished difference Result 77 states and 90 transitions. [2022-04-28 09:31:20,369 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 09:31:20,369 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-28 09:31:20,370 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:31:20,370 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-28 09:31:20,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 75 transitions. [2022-04-28 09:31:20,371 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-28 09:31:20,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 75 transitions. [2022-04-28 09:31:20,372 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 75 transitions. [2022-04-28 09:31:20,449 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-28 09:31:20,450 INFO L225 Difference]: With dead ends: 77 [2022-04-28 09:31:20,450 INFO L226 Difference]: Without dead ends: 75 [2022-04-28 09:31:20,450 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-28 09:31:20,451 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 85 mSDsluCounter, 27 mSDsCounter, 0 mSdLazyCounter, 190 mSolverCounterSat, 83 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 85 SdHoareTripleChecker+Valid, 56 SdHoareTripleChecker+Invalid, 273 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 83 IncrementalHoareTripleChecker+Valid, 190 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 09:31:20,451 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [85 Valid, 56 Invalid, 273 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [83 Valid, 190 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 09:31:20,451 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-28 09:31:20,549 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 70. [2022-04-28 09:31:20,550 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:31:20,550 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-28 09:31:20,550 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-28 09:31:20,550 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-28 09:31:20,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:20,552 INFO L93 Difference]: Finished difference Result 75 states and 88 transitions. [2022-04-28 09:31:20,553 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 88 transitions. [2022-04-28 09:31:20,553 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:20,553 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:31:20,553 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-28 09:31:20,553 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-28 09:31:20,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:20,555 INFO L93 Difference]: Finished difference Result 75 states and 88 transitions. [2022-04-28 09:31:20,555 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 88 transitions. [2022-04-28 09:31:20,555 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:20,556 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:31:20,556 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:31:20,556 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:31:20,556 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-28 09:31:20,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 82 transitions. [2022-04-28 09:31:20,558 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 82 transitions. Word has length 34 [2022-04-28 09:31:20,558 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:31:20,558 INFO L495 AbstractCegarLoop]: Abstraction has 70 states and 82 transitions. [2022-04-28 09:31:20,558 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-28 09:31:20,558 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 82 transitions. [2022-04-28 09:31:20,628 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-28 09:31:20,628 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 82 transitions. [2022-04-28 09:31:20,629 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 09:31:20,629 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:31:20,629 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-28 09:31:20,629 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-04-28 09:31:20,629 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:31:20,629 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:31:20,630 INFO L85 PathProgramCache]: Analyzing trace with hash 1755534668, now seen corresponding path program 1 times [2022-04-28 09:31:20,630 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:31:20,630 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [422017392] [2022-04-28 09:31:20,818 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 09:31:20,819 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:31:20,819 INFO L85 PathProgramCache]: Analyzing trace with hash 1755534668, now seen corresponding path program 2 times [2022-04-28 09:31:20,819 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:31:20,819 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1577549881] [2022-04-28 09:31:20,819 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:31:20,819 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:31:20,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:20,923 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:31:20,925 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:20,931 INFO L290 TraceCheckUtils]: 0: Hoare triple {2154#(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); {2114#true} is VALID [2022-04-28 09:31:20,931 INFO L290 TraceCheckUtils]: 1: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:20,931 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2114#true} {2114#true} #102#return; {2114#true} is VALID [2022-04-28 09:31:20,931 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 09:31:20,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:20,935 INFO L290 TraceCheckUtils]: 0: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:20,935 INFO L290 TraceCheckUtils]: 1: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:20,935 INFO L290 TraceCheckUtils]: 2: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:20,936 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2114#true} {2121#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} #86#return; {2121#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-28 09:31:20,936 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-28 09:31:20,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:20,939 INFO L290 TraceCheckUtils]: 0: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:20,940 INFO L290 TraceCheckUtils]: 1: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:20,940 INFO L290 TraceCheckUtils]: 2: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:20,940 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2114#true} {2121#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} #88#return; {2121#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-28 09:31:20,941 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-28 09:31:20,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:20,944 INFO L290 TraceCheckUtils]: 0: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:20,945 INFO L290 TraceCheckUtils]: 1: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:20,945 INFO L290 TraceCheckUtils]: 2: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:20,945 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2114#true} {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #90#return; {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:20,945 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-28 09:31:20,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:20,949 INFO L290 TraceCheckUtils]: 0: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:20,949 INFO L290 TraceCheckUtils]: 1: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:20,949 INFO L290 TraceCheckUtils]: 2: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:20,950 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2114#true} {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #92#return; {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:20,950 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 37 [2022-04-28 09:31:20,951 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:20,953 INFO L290 TraceCheckUtils]: 0: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:20,953 INFO L290 TraceCheckUtils]: 1: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:20,953 INFO L290 TraceCheckUtils]: 2: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:20,954 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2114#true} {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #94#return; {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:20,954 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 42 [2022-04-28 09:31:20,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:20,957 INFO L290 TraceCheckUtils]: 0: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:20,957 INFO L290 TraceCheckUtils]: 1: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:20,957 INFO L290 TraceCheckUtils]: 2: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:20,958 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2114#true} {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #96#return; {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:20,958 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 48 [2022-04-28 09:31:20,960 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:20,963 INFO L290 TraceCheckUtils]: 0: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:20,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:20,963 INFO L290 TraceCheckUtils]: 2: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:20,964 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2114#true} {2147#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #98#return; {2147#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-28 09:31:20,964 INFO L272 TraceCheckUtils]: 0: Hoare triple {2114#true} call ULTIMATE.init(); {2154#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:31:20,965 INFO L290 TraceCheckUtils]: 1: Hoare triple {2154#(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); {2114#true} is VALID [2022-04-28 09:31:20,965 INFO L290 TraceCheckUtils]: 2: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:20,965 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2114#true} {2114#true} #102#return; {2114#true} is VALID [2022-04-28 09:31:20,965 INFO L272 TraceCheckUtils]: 4: Hoare triple {2114#true} call #t~ret8 := main(); {2114#true} is VALID [2022-04-28 09:31:20,965 INFO L290 TraceCheckUtils]: 5: Hoare triple {2114#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; {2114#true} is VALID [2022-04-28 09:31:20,965 INFO L290 TraceCheckUtils]: 6: Hoare triple {2114#true} assume ~bufferlen~0 > 1; {2119#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:20,966 INFO L290 TraceCheckUtils]: 7: Hoare triple {2119#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {2119#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:20,966 INFO L290 TraceCheckUtils]: 8: Hoare triple {2119#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {2119#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:20,966 INFO L290 TraceCheckUtils]: 9: Hoare triple {2119#(<= 2 main_~bufferlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {2120#(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-28 09:31:20,967 INFO L290 TraceCheckUtils]: 10: Hoare triple {2120#(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; {2120#(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-28 09:31:20,968 INFO L290 TraceCheckUtils]: 11: Hoare triple {2120#(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; {2120#(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-28 09:31:20,968 INFO L290 TraceCheckUtils]: 12: Hoare triple {2120#(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); {2121#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-28 09:31:20,968 INFO L272 TraceCheckUtils]: 13: Hoare triple {2121#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {2114#true} is VALID [2022-04-28 09:31:20,968 INFO L290 TraceCheckUtils]: 14: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:20,968 INFO L290 TraceCheckUtils]: 15: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:20,968 INFO L290 TraceCheckUtils]: 16: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:20,969 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2114#true} {2121#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} #86#return; {2121#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-28 09:31:20,969 INFO L272 TraceCheckUtils]: 18: Hoare triple {2121#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {2114#true} is VALID [2022-04-28 09:31:20,969 INFO L290 TraceCheckUtils]: 19: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:20,969 INFO L290 TraceCheckUtils]: 20: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:20,970 INFO L290 TraceCheckUtils]: 21: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:20,971 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2114#true} {2121#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} #88#return; {2121#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} is VALID [2022-04-28 09:31:20,975 INFO L290 TraceCheckUtils]: 23: Hoare triple {2121#(and (<= 3 main_~bufferlen~0) (= main_~buf~0 0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:20,984 INFO L290 TraceCheckUtils]: 24: Hoare triple {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:20,984 INFO L272 TraceCheckUtils]: 25: Hoare triple {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {2114#true} is VALID [2022-04-28 09:31:20,984 INFO L290 TraceCheckUtils]: 26: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:20,984 INFO L290 TraceCheckUtils]: 27: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:20,984 INFO L290 TraceCheckUtils]: 28: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:20,985 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2114#true} {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #90#return; {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:20,985 INFO L272 TraceCheckUtils]: 30: Hoare triple {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {2114#true} is VALID [2022-04-28 09:31:20,985 INFO L290 TraceCheckUtils]: 31: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:20,985 INFO L290 TraceCheckUtils]: 32: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:20,985 INFO L290 TraceCheckUtils]: 33: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:20,986 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2114#true} {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #92#return; {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:20,986 INFO L290 TraceCheckUtils]: 35: Hoare triple {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:20,986 INFO L290 TraceCheckUtils]: 36: Hoare triple {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} assume !(0 != #t~nondet3);havoc #t~nondet3; {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:20,986 INFO L272 TraceCheckUtils]: 37: Hoare triple {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {2114#true} is VALID [2022-04-28 09:31:20,986 INFO L290 TraceCheckUtils]: 38: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:20,986 INFO L290 TraceCheckUtils]: 39: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:20,987 INFO L290 TraceCheckUtils]: 40: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:20,987 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2114#true} {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #94#return; {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:20,987 INFO L272 TraceCheckUtils]: 42: Hoare triple {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {2114#true} is VALID [2022-04-28 09:31:20,987 INFO L290 TraceCheckUtils]: 43: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:20,987 INFO L290 TraceCheckUtils]: 44: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:20,987 INFO L290 TraceCheckUtils]: 45: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:20,988 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2114#true} {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #96#return; {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:20,989 INFO L290 TraceCheckUtils]: 47: Hoare triple {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #t~post6 := ~buf~0;~buf~0 := 1 + #t~post6;havoc #t~post6; {2147#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-28 09:31:20,989 INFO L272 TraceCheckUtils]: 48: Hoare triple {2147#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {2114#true} is VALID [2022-04-28 09:31:20,989 INFO L290 TraceCheckUtils]: 49: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:20,989 INFO L290 TraceCheckUtils]: 50: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:20,989 INFO L290 TraceCheckUtils]: 51: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:20,990 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {2114#true} {2147#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #98#return; {2147#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-28 09:31:20,990 INFO L272 TraceCheckUtils]: 53: Hoare triple {2147#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {2152#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:31:20,991 INFO L290 TraceCheckUtils]: 54: Hoare triple {2152#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {2153#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 09:31:20,991 INFO L290 TraceCheckUtils]: 55: Hoare triple {2153#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {2115#false} is VALID [2022-04-28 09:31:20,991 INFO L290 TraceCheckUtils]: 56: Hoare triple {2115#false} assume !false; {2115#false} is VALID [2022-04-28 09:31:20,992 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-28 09:31:20,992 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:31:20,993 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1577549881] [2022-04-28 09:31:20,993 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1577549881] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:31:20,993 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [748324376] [2022-04-28 09:31:20,993 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 09:31:20,993 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:31:20,993 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:31:20,994 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-28 09:31:20,995 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-28 09:31:21,046 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 09:31:21,046 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:31:21,047 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 09:31:21,074 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:21,078 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:31:21,657 INFO L272 TraceCheckUtils]: 0: Hoare triple {2114#true} call ULTIMATE.init(); {2114#true} is VALID [2022-04-28 09:31:21,657 INFO L290 TraceCheckUtils]: 1: Hoare triple {2114#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); {2114#true} is VALID [2022-04-28 09:31:21,657 INFO L290 TraceCheckUtils]: 2: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:21,657 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2114#true} {2114#true} #102#return; {2114#true} is VALID [2022-04-28 09:31:21,657 INFO L272 TraceCheckUtils]: 4: Hoare triple {2114#true} call #t~ret8 := main(); {2114#true} is VALID [2022-04-28 09:31:21,658 INFO L290 TraceCheckUtils]: 5: Hoare triple {2114#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; {2114#true} is VALID [2022-04-28 09:31:21,658 INFO L290 TraceCheckUtils]: 6: Hoare triple {2114#true} assume ~bufferlen~0 > 1; {2119#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:21,658 INFO L290 TraceCheckUtils]: 7: Hoare triple {2119#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {2119#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:21,659 INFO L290 TraceCheckUtils]: 8: Hoare triple {2119#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {2119#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:21,659 INFO L290 TraceCheckUtils]: 9: Hoare triple {2119#(<= 2 main_~bufferlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {2185#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)))} is VALID [2022-04-28 09:31:21,659 INFO L290 TraceCheckUtils]: 10: Hoare triple {2185#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {2185#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)))} is VALID [2022-04-28 09:31:21,660 INFO L290 TraceCheckUtils]: 11: Hoare triple {2185#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {2185#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)))} is VALID [2022-04-28 09:31:21,660 INFO L290 TraceCheckUtils]: 12: Hoare triple {2185#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)))} assume !(~buf~0 == ~buflim~0); {2195#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))))} is VALID [2022-04-28 09:31:21,660 INFO L272 TraceCheckUtils]: 13: Hoare triple {2195#(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)); {2114#true} is VALID [2022-04-28 09:31:21,660 INFO L290 TraceCheckUtils]: 14: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:21,661 INFO L290 TraceCheckUtils]: 15: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:21,661 INFO L290 TraceCheckUtils]: 16: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:21,661 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2114#true} {2195#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))))} #86#return; {2195#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))))} is VALID [2022-04-28 09:31:21,661 INFO L272 TraceCheckUtils]: 18: Hoare triple {2195#(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)); {2114#true} is VALID [2022-04-28 09:31:21,661 INFO L290 TraceCheckUtils]: 19: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:21,662 INFO L290 TraceCheckUtils]: 20: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:21,662 INFO L290 TraceCheckUtils]: 21: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:21,662 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2114#true} {2195#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))))} #88#return; {2195#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))))} is VALID [2022-04-28 09:31:21,663 INFO L290 TraceCheckUtils]: 23: Hoare triple {2195#(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; {2229#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} is VALID [2022-04-28 09:31:21,663 INFO L290 TraceCheckUtils]: 24: Hoare triple {2229#(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; {2229#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} is VALID [2022-04-28 09:31:21,663 INFO L272 TraceCheckUtils]: 25: Hoare triple {2229#(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)); {2114#true} is VALID [2022-04-28 09:31:21,663 INFO L290 TraceCheckUtils]: 26: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:21,663 INFO L290 TraceCheckUtils]: 27: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:21,663 INFO L290 TraceCheckUtils]: 28: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:21,664 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2114#true} {2229#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} #90#return; {2229#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} is VALID [2022-04-28 09:31:21,664 INFO L272 TraceCheckUtils]: 30: Hoare triple {2229#(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)); {2114#true} is VALID [2022-04-28 09:31:21,664 INFO L290 TraceCheckUtils]: 31: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:21,664 INFO L290 TraceCheckUtils]: 32: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:21,664 INFO L290 TraceCheckUtils]: 33: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:21,665 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2114#true} {2229#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} #92#return; {2229#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} is VALID [2022-04-28 09:31:21,665 INFO L290 TraceCheckUtils]: 35: Hoare triple {2229#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {2229#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} is VALID [2022-04-28 09:31:21,665 INFO L290 TraceCheckUtils]: 36: Hoare triple {2229#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} assume !(0 != #t~nondet3);havoc #t~nondet3; {2229#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} is VALID [2022-04-28 09:31:21,666 INFO L272 TraceCheckUtils]: 37: Hoare triple {2229#(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)); {2114#true} is VALID [2022-04-28 09:31:21,666 INFO L290 TraceCheckUtils]: 38: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:21,666 INFO L290 TraceCheckUtils]: 39: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:21,666 INFO L290 TraceCheckUtils]: 40: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:21,666 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2114#true} {2229#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} #94#return; {2229#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} is VALID [2022-04-28 09:31:21,666 INFO L272 TraceCheckUtils]: 42: Hoare triple {2229#(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)); {2114#true} is VALID [2022-04-28 09:31:21,666 INFO L290 TraceCheckUtils]: 43: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:21,667 INFO L290 TraceCheckUtils]: 44: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:21,667 INFO L290 TraceCheckUtils]: 45: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:21,667 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2114#true} {2229#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} #96#return; {2229#(and (<= main_~buf~0 1) (<= 2 main_~bufferlen~0) (< (+ main_~buf~0 1) main_~bufferlen~0))} is VALID [2022-04-28 09:31:21,667 INFO L290 TraceCheckUtils]: 47: Hoare triple {2229#(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; {2302#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 2) (< main_~buf~0 main_~bufferlen~0))} is VALID [2022-04-28 09:31:21,668 INFO L272 TraceCheckUtils]: 48: Hoare triple {2302#(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)); {2114#true} is VALID [2022-04-28 09:31:21,668 INFO L290 TraceCheckUtils]: 49: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:21,668 INFO L290 TraceCheckUtils]: 50: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:21,668 INFO L290 TraceCheckUtils]: 51: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:21,668 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {2114#true} {2302#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 2) (< main_~buf~0 main_~bufferlen~0))} #98#return; {2302#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 2) (< main_~buf~0 main_~bufferlen~0))} is VALID [2022-04-28 09:31:21,669 INFO L272 TraceCheckUtils]: 53: Hoare triple {2302#(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)); {2321#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:31:21,669 INFO L290 TraceCheckUtils]: 54: Hoare triple {2321#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2325#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:31:21,669 INFO L290 TraceCheckUtils]: 55: Hoare triple {2325#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2115#false} is VALID [2022-04-28 09:31:21,670 INFO L290 TraceCheckUtils]: 56: Hoare triple {2115#false} assume !false; {2115#false} is VALID [2022-04-28 09:31:21,670 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-28 09:31:21,670 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:31:21,988 INFO L290 TraceCheckUtils]: 56: Hoare triple {2115#false} assume !false; {2115#false} is VALID [2022-04-28 09:31:21,988 INFO L290 TraceCheckUtils]: 55: Hoare triple {2325#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2115#false} is VALID [2022-04-28 09:31:21,988 INFO L290 TraceCheckUtils]: 54: Hoare triple {2321#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2325#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:31:21,989 INFO L272 TraceCheckUtils]: 53: Hoare triple {2147#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {2321#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:31:21,990 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {2114#true} {2147#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #98#return; {2147#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-28 09:31:21,990 INFO L290 TraceCheckUtils]: 51: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:21,990 INFO L290 TraceCheckUtils]: 50: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:21,990 INFO L290 TraceCheckUtils]: 49: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:21,990 INFO L272 TraceCheckUtils]: 48: Hoare triple {2147#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {2114#true} is VALID [2022-04-28 09:31:21,990 INFO L290 TraceCheckUtils]: 47: Hoare triple {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #t~post6 := ~buf~0;~buf~0 := 1 + #t~post6;havoc #t~post6; {2147#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-28 09:31:21,991 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2114#true} {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #96#return; {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:21,991 INFO L290 TraceCheckUtils]: 45: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:21,991 INFO L290 TraceCheckUtils]: 44: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:21,991 INFO L290 TraceCheckUtils]: 43: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:21,991 INFO L272 TraceCheckUtils]: 42: Hoare triple {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {2114#true} is VALID [2022-04-28 09:31:21,992 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2114#true} {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #94#return; {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:21,992 INFO L290 TraceCheckUtils]: 40: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:21,992 INFO L290 TraceCheckUtils]: 39: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:21,992 INFO L290 TraceCheckUtils]: 38: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:21,992 INFO L272 TraceCheckUtils]: 37: Hoare triple {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {2114#true} is VALID [2022-04-28 09:31:21,993 INFO L290 TraceCheckUtils]: 36: Hoare triple {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} assume !(0 != #t~nondet3);havoc #t~nondet3; {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:21,993 INFO L290 TraceCheckUtils]: 35: Hoare triple {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:21,993 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2114#true} {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #92#return; {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:21,993 INFO L290 TraceCheckUtils]: 33: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:21,994 INFO L290 TraceCheckUtils]: 32: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:21,994 INFO L290 TraceCheckUtils]: 31: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:21,994 INFO L272 TraceCheckUtils]: 30: Hoare triple {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {2114#true} is VALID [2022-04-28 09:31:21,994 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2114#true} {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #90#return; {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:21,994 INFO L290 TraceCheckUtils]: 28: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:21,994 INFO L290 TraceCheckUtils]: 27: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:21,994 INFO L290 TraceCheckUtils]: 26: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:21,994 INFO L272 TraceCheckUtils]: 25: Hoare triple {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {2114#true} is VALID [2022-04-28 09:31:21,995 INFO L290 TraceCheckUtils]: 24: Hoare triple {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:21,996 INFO L290 TraceCheckUtils]: 23: Hoare triple {2431#(<= (+ main_~buf~0 3) main_~bufferlen~0)} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {2130#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:21,996 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2114#true} {2431#(<= (+ main_~buf~0 3) main_~bufferlen~0)} #88#return; {2431#(<= (+ main_~buf~0 3) main_~bufferlen~0)} is VALID [2022-04-28 09:31:21,996 INFO L290 TraceCheckUtils]: 21: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:21,996 INFO L290 TraceCheckUtils]: 20: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:21,996 INFO L290 TraceCheckUtils]: 19: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:21,996 INFO L272 TraceCheckUtils]: 18: Hoare triple {2431#(<= (+ main_~buf~0 3) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {2114#true} is VALID [2022-04-28 09:31:21,997 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2114#true} {2431#(<= (+ main_~buf~0 3) main_~bufferlen~0)} #86#return; {2431#(<= (+ main_~buf~0 3) main_~bufferlen~0)} is VALID [2022-04-28 09:31:21,997 INFO L290 TraceCheckUtils]: 16: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:21,997 INFO L290 TraceCheckUtils]: 15: Hoare triple {2114#true} assume !(0 == ~cond); {2114#true} is VALID [2022-04-28 09:31:21,997 INFO L290 TraceCheckUtils]: 14: Hoare triple {2114#true} ~cond := #in~cond; {2114#true} is VALID [2022-04-28 09:31:21,997 INFO L272 TraceCheckUtils]: 13: Hoare triple {2431#(<= (+ main_~buf~0 3) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {2114#true} is VALID [2022-04-28 09:31:21,998 INFO L290 TraceCheckUtils]: 12: Hoare triple {2465#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} assume !(~buf~0 == ~buflim~0); {2431#(<= (+ main_~buf~0 3) main_~bufferlen~0)} is VALID [2022-04-28 09:31:21,998 INFO L290 TraceCheckUtils]: 11: Hoare triple {2465#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {2465#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} is VALID [2022-04-28 09:31:21,998 INFO L290 TraceCheckUtils]: 10: Hoare triple {2465#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {2465#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} is VALID [2022-04-28 09:31:21,999 INFO L290 TraceCheckUtils]: 9: Hoare triple {2119#(<= 2 main_~bufferlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {2465#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} is VALID [2022-04-28 09:31:21,999 INFO L290 TraceCheckUtils]: 8: Hoare triple {2119#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {2119#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:21,999 INFO L290 TraceCheckUtils]: 7: Hoare triple {2119#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {2119#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:22,000 INFO L290 TraceCheckUtils]: 6: Hoare triple {2114#true} assume ~bufferlen~0 > 1; {2119#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:22,000 INFO L290 TraceCheckUtils]: 5: Hoare triple {2114#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; {2114#true} is VALID [2022-04-28 09:31:22,000 INFO L272 TraceCheckUtils]: 4: Hoare triple {2114#true} call #t~ret8 := main(); {2114#true} is VALID [2022-04-28 09:31:22,000 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2114#true} {2114#true} #102#return; {2114#true} is VALID [2022-04-28 09:31:22,000 INFO L290 TraceCheckUtils]: 2: Hoare triple {2114#true} assume true; {2114#true} is VALID [2022-04-28 09:31:22,000 INFO L290 TraceCheckUtils]: 1: Hoare triple {2114#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); {2114#true} is VALID [2022-04-28 09:31:22,000 INFO L272 TraceCheckUtils]: 0: Hoare triple {2114#true} call ULTIMATE.init(); {2114#true} is VALID [2022-04-28 09:31:22,001 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-28 09:31:22,001 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [748324376] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:31:22,001 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:31:22,001 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9, 9] total 18 [2022-04-28 09:31:22,001 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:31:22,001 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [422017392] [2022-04-28 09:31:22,002 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [422017392] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:31:22,002 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:31:22,002 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 09:31:22,002 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1556531609] [2022-04-28 09:31:22,002 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:31:22,002 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 57 [2022-04-28 09:31:22,002 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:31:22,002 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 09:31:22,028 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:31:22,028 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 09:31:22,029 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:31:22,029 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 09:31:22,029 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=239, Unknown=0, NotChecked=0, Total=306 [2022-04-28 09:31:22,029 INFO L87 Difference]: Start difference. First operand 70 states and 82 transitions. Second operand has 10 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 09:31:23,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:23,012 INFO L93 Difference]: Finished difference Result 92 states and 112 transitions. [2022-04-28 09:31:23,013 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 09:31:23,013 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 57 [2022-04-28 09:31:23,013 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:31:23,013 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 09:31:23,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 94 transitions. [2022-04-28 09:31:23,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 09:31:23,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 94 transitions. [2022-04-28 09:31:23,017 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 94 transitions. [2022-04-28 09:31:23,096 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:31:23,098 INFO L225 Difference]: With dead ends: 92 [2022-04-28 09:31:23,098 INFO L226 Difference]: Without dead ends: 85 [2022-04-28 09:31:23,098 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 147 GetRequests, 120 SyntacticMatches, 3 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 149 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=130, Invalid=520, Unknown=0, NotChecked=0, Total=650 [2022-04-28 09:31:23,099 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 82 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 269 mSolverCounterSat, 105 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 82 SdHoareTripleChecker+Valid, 55 SdHoareTripleChecker+Invalid, 374 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 105 IncrementalHoareTripleChecker+Valid, 269 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 09:31:23,099 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [82 Valid, 55 Invalid, 374 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [105 Valid, 269 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 09:31:23,099 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-04-28 09:31:23,205 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 83. [2022-04-28 09:31:23,206 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:31:23,206 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand has 83 states, 51 states have (on average 1.0980392156862746) internal successors, (56), 54 states have internal predecessors, (56), 22 states have call successors, (22), 10 states have call predecessors, (22), 9 states have return successors, (20), 18 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 09:31:23,206 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand has 83 states, 51 states have (on average 1.0980392156862746) internal successors, (56), 54 states have internal predecessors, (56), 22 states have call successors, (22), 10 states have call predecessors, (22), 9 states have return successors, (20), 18 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 09:31:23,206 INFO L87 Difference]: Start difference. First operand 85 states. Second operand has 83 states, 51 states have (on average 1.0980392156862746) internal successors, (56), 54 states have internal predecessors, (56), 22 states have call successors, (22), 10 states have call predecessors, (22), 9 states have return successors, (20), 18 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 09:31:23,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:23,209 INFO L93 Difference]: Finished difference Result 85 states and 100 transitions. [2022-04-28 09:31:23,209 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 100 transitions. [2022-04-28 09:31:23,209 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:23,209 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:31:23,209 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 51 states have (on average 1.0980392156862746) internal successors, (56), 54 states have internal predecessors, (56), 22 states have call successors, (22), 10 states have call predecessors, (22), 9 states have return successors, (20), 18 states have call predecessors, (20), 20 states have call successors, (20) Second operand 85 states. [2022-04-28 09:31:23,210 INFO L87 Difference]: Start difference. First operand has 83 states, 51 states have (on average 1.0980392156862746) internal successors, (56), 54 states have internal predecessors, (56), 22 states have call successors, (22), 10 states have call predecessors, (22), 9 states have return successors, (20), 18 states have call predecessors, (20), 20 states have call successors, (20) Second operand 85 states. [2022-04-28 09:31:23,212 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:23,212 INFO L93 Difference]: Finished difference Result 85 states and 100 transitions. [2022-04-28 09:31:23,212 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 100 transitions. [2022-04-28 09:31:23,212 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:23,212 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:31:23,212 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:31:23,212 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:31:23,213 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 51 states have (on average 1.0980392156862746) internal successors, (56), 54 states have internal predecessors, (56), 22 states have call successors, (22), 10 states have call predecessors, (22), 9 states have return successors, (20), 18 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 09:31:23,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 98 transitions. [2022-04-28 09:31:23,215 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 98 transitions. Word has length 57 [2022-04-28 09:31:23,215 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:31:23,215 INFO L495 AbstractCegarLoop]: Abstraction has 83 states and 98 transitions. [2022-04-28 09:31:23,215 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 09:31:23,215 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 83 states and 98 transitions. [2022-04-28 09:31:23,299 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:31:23,300 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 98 transitions. [2022-04-28 09:31:23,300 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 09:31:23,300 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:31:23,300 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-28 09:31:23,317 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-28 09:31:23,515 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-28 09:31:23,515 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:31:23,516 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:31:23,516 INFO L85 PathProgramCache]: Analyzing trace with hash 1121193385, now seen corresponding path program 1 times [2022-04-28 09:31:23,516 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:31:23,516 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [142763936] [2022-04-28 09:31:23,682 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 09:31:23,682 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:31:23,682 INFO L85 PathProgramCache]: Analyzing trace with hash 1121193385, now seen corresponding path program 2 times [2022-04-28 09:31:23,682 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:31:23,683 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [291811955] [2022-04-28 09:31:23,683 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:31:23,683 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:31:23,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:23,746 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:31:23,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:23,752 INFO L290 TraceCheckUtils]: 0: Hoare triple {3081#(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); {3041#true} is VALID [2022-04-28 09:31:23,752 INFO L290 TraceCheckUtils]: 1: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:23,752 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3041#true} {3041#true} #102#return; {3041#true} is VALID [2022-04-28 09:31:23,752 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 09:31:23,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:23,755 INFO L290 TraceCheckUtils]: 0: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:23,756 INFO L290 TraceCheckUtils]: 1: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:23,756 INFO L290 TraceCheckUtils]: 2: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:23,756 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3041#true} {3048#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #86#return; {3048#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-28 09:31:23,756 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-28 09:31:23,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:23,759 INFO L290 TraceCheckUtils]: 0: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:23,759 INFO L290 TraceCheckUtils]: 1: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:23,759 INFO L290 TraceCheckUtils]: 2: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:23,760 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3041#true} {3048#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #88#return; {3048#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-28 09:31:23,760 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-28 09:31:23,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:23,772 INFO L290 TraceCheckUtils]: 0: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:23,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:23,772 INFO L290 TraceCheckUtils]: 2: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:23,773 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3041#true} {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} #90#return; {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:23,773 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-28 09:31:23,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:23,777 INFO L290 TraceCheckUtils]: 0: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:23,777 INFO L290 TraceCheckUtils]: 1: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:23,777 INFO L290 TraceCheckUtils]: 2: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:23,777 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3041#true} {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} #92#return; {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:23,778 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 09:31:23,779 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:23,783 INFO L290 TraceCheckUtils]: 0: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:23,784 INFO L290 TraceCheckUtils]: 1: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:23,784 INFO L290 TraceCheckUtils]: 2: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:23,784 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3041#true} {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} #86#return; {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:23,784 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 43 [2022-04-28 09:31:23,786 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:23,790 INFO L290 TraceCheckUtils]: 0: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:23,790 INFO L290 TraceCheckUtils]: 1: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:23,790 INFO L290 TraceCheckUtils]: 2: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:23,792 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3041#true} {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} #88#return; {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:23,792 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 09:31:23,793 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:23,797 INFO L290 TraceCheckUtils]: 0: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:23,797 INFO L290 TraceCheckUtils]: 1: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:23,797 INFO L290 TraceCheckUtils]: 2: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:23,798 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3041#true} {3074#(<= (+ main_~in~0 1) main_~inlen~0)} #90#return; {3074#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2022-04-28 09:31:23,798 INFO L272 TraceCheckUtils]: 0: Hoare triple {3041#true} call ULTIMATE.init(); {3081#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:31:23,799 INFO L290 TraceCheckUtils]: 1: Hoare triple {3081#(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); {3041#true} is VALID [2022-04-28 09:31:23,799 INFO L290 TraceCheckUtils]: 2: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:23,799 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3041#true} {3041#true} #102#return; {3041#true} is VALID [2022-04-28 09:31:23,799 INFO L272 TraceCheckUtils]: 4: Hoare triple {3041#true} call #t~ret8 := main(); {3041#true} is VALID [2022-04-28 09:31:23,799 INFO L290 TraceCheckUtils]: 5: Hoare triple {3041#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; {3041#true} is VALID [2022-04-28 09:31:23,799 INFO L290 TraceCheckUtils]: 6: Hoare triple {3041#true} assume ~bufferlen~0 > 1; {3046#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:23,799 INFO L290 TraceCheckUtils]: 7: Hoare triple {3046#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {3046#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:23,800 INFO L290 TraceCheckUtils]: 8: Hoare triple {3046#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {3047#(<= 3 main_~inlen~0)} is VALID [2022-04-28 09:31:23,800 INFO L290 TraceCheckUtils]: 9: Hoare triple {3047#(<= 3 main_~inlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {3048#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-28 09:31:23,801 INFO L290 TraceCheckUtils]: 10: Hoare triple {3048#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {3048#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-28 09:31:23,801 INFO L290 TraceCheckUtils]: 11: Hoare triple {3048#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {3048#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-28 09:31:23,801 INFO L290 TraceCheckUtils]: 12: Hoare triple {3048#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} assume !(~buf~0 == ~buflim~0); {3048#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-28 09:31:23,801 INFO L272 TraceCheckUtils]: 13: Hoare triple {3048#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:23,801 INFO L290 TraceCheckUtils]: 14: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:23,802 INFO L290 TraceCheckUtils]: 15: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:23,802 INFO L290 TraceCheckUtils]: 16: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:23,802 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3041#true} {3048#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #86#return; {3048#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-28 09:31:23,802 INFO L272 TraceCheckUtils]: 18: Hoare triple {3048#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:23,802 INFO L290 TraceCheckUtils]: 19: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:23,802 INFO L290 TraceCheckUtils]: 20: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:23,802 INFO L290 TraceCheckUtils]: 21: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:23,803 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3041#true} {3048#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #88#return; {3048#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-28 09:31:23,803 INFO L290 TraceCheckUtils]: 23: Hoare triple {3048#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {3048#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2022-04-28 09:31:23,804 INFO L290 TraceCheckUtils]: 24: Hoare triple {3048#(and (= main_~in~0 0) (<= 3 main_~inlen~0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:23,804 INFO L272 TraceCheckUtils]: 25: Hoare triple {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:23,804 INFO L290 TraceCheckUtils]: 26: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:23,804 INFO L290 TraceCheckUtils]: 27: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:23,804 INFO L290 TraceCheckUtils]: 28: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:23,804 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3041#true} {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} #90#return; {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:23,804 INFO L272 TraceCheckUtils]: 30: Hoare triple {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:23,804 INFO L290 TraceCheckUtils]: 31: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:23,805 INFO L290 TraceCheckUtils]: 32: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:23,805 INFO L290 TraceCheckUtils]: 33: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:23,805 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3041#true} {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} #92#return; {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:23,805 INFO L290 TraceCheckUtils]: 35: Hoare triple {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:23,806 INFO L290 TraceCheckUtils]: 36: Hoare triple {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} assume !!(0 != #t~nondet3);havoc #t~nondet3; {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:23,806 INFO L290 TraceCheckUtils]: 37: Hoare triple {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} assume !(~buf~0 == ~buflim~0); {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:23,806 INFO L272 TraceCheckUtils]: 38: Hoare triple {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:23,806 INFO L290 TraceCheckUtils]: 39: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:23,806 INFO L290 TraceCheckUtils]: 40: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:23,806 INFO L290 TraceCheckUtils]: 41: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:23,807 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3041#true} {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} #86#return; {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:23,807 INFO L272 TraceCheckUtils]: 43: Hoare triple {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:23,807 INFO L290 TraceCheckUtils]: 44: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:23,807 INFO L290 TraceCheckUtils]: 45: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:23,807 INFO L290 TraceCheckUtils]: 46: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:23,808 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3041#true} {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} #88#return; {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:23,808 INFO L290 TraceCheckUtils]: 48: Hoare triple {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:23,808 INFO L290 TraceCheckUtils]: 49: Hoare triple {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {3074#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2022-04-28 09:31:23,808 INFO L272 TraceCheckUtils]: 50: Hoare triple {3074#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:23,808 INFO L290 TraceCheckUtils]: 51: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:23,809 INFO L290 TraceCheckUtils]: 52: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:23,809 INFO L290 TraceCheckUtils]: 53: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:23,809 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {3041#true} {3074#(<= (+ main_~in~0 1) main_~inlen~0)} #90#return; {3074#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2022-04-28 09:31:23,810 INFO L272 TraceCheckUtils]: 55: Hoare triple {3074#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3079#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:31:23,810 INFO L290 TraceCheckUtils]: 56: Hoare triple {3079#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {3080#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 09:31:23,810 INFO L290 TraceCheckUtils]: 57: Hoare triple {3080#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {3042#false} is VALID [2022-04-28 09:31:23,810 INFO L290 TraceCheckUtils]: 58: Hoare triple {3042#false} assume !false; {3042#false} is VALID [2022-04-28 09:31:23,810 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-28 09:31:23,811 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:31:23,811 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [291811955] [2022-04-28 09:31:23,811 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [291811955] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:31:23,811 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [965170469] [2022-04-28 09:31:23,811 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 09:31:23,811 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:31:23,811 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:31:23,812 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-28 09:31:23,814 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-28 09:31:23,855 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 09:31:23,855 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:31:23,856 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 09:31:23,866 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:23,867 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:31:24,269 INFO L272 TraceCheckUtils]: 0: Hoare triple {3041#true} call ULTIMATE.init(); {3041#true} is VALID [2022-04-28 09:31:24,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {3041#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); {3041#true} is VALID [2022-04-28 09:31:24,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:24,269 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3041#true} {3041#true} #102#return; {3041#true} is VALID [2022-04-28 09:31:24,269 INFO L272 TraceCheckUtils]: 4: Hoare triple {3041#true} call #t~ret8 := main(); {3041#true} is VALID [2022-04-28 09:31:24,269 INFO L290 TraceCheckUtils]: 5: Hoare triple {3041#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; {3041#true} is VALID [2022-04-28 09:31:24,270 INFO L290 TraceCheckUtils]: 6: Hoare triple {3041#true} assume ~bufferlen~0 > 1; {3046#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:24,270 INFO L290 TraceCheckUtils]: 7: Hoare triple {3046#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {3046#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:24,271 INFO L290 TraceCheckUtils]: 8: Hoare triple {3046#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {3047#(<= 3 main_~inlen~0)} is VALID [2022-04-28 09:31:24,271 INFO L290 TraceCheckUtils]: 9: Hoare triple {3047#(<= 3 main_~inlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {3112#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-28 09:31:24,271 INFO L290 TraceCheckUtils]: 10: Hoare triple {3112#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {3112#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-28 09:31:24,272 INFO L290 TraceCheckUtils]: 11: Hoare triple {3112#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {3112#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-28 09:31:24,272 INFO L290 TraceCheckUtils]: 12: Hoare triple {3112#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} assume !(~buf~0 == ~buflim~0); {3112#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-28 09:31:24,272 INFO L272 TraceCheckUtils]: 13: Hoare triple {3112#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:24,272 INFO L290 TraceCheckUtils]: 14: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:24,272 INFO L290 TraceCheckUtils]: 15: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:24,272 INFO L290 TraceCheckUtils]: 16: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:24,275 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3041#true} {3112#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} #86#return; {3112#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-28 09:31:24,276 INFO L272 TraceCheckUtils]: 18: Hoare triple {3112#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:24,276 INFO L290 TraceCheckUtils]: 19: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:24,276 INFO L290 TraceCheckUtils]: 20: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:24,276 INFO L290 TraceCheckUtils]: 21: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:24,276 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3041#true} {3112#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} #88#return; {3112#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-28 09:31:24,277 INFO L290 TraceCheckUtils]: 23: Hoare triple {3112#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {3112#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-28 09:31:24,277 INFO L290 TraceCheckUtils]: 24: Hoare triple {3112#(and (<= 3 main_~inlen~0) (<= main_~in~0 0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-28 09:31:24,277 INFO L272 TraceCheckUtils]: 25: Hoare triple {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:24,277 INFO L290 TraceCheckUtils]: 26: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:24,278 INFO L290 TraceCheckUtils]: 27: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:24,278 INFO L290 TraceCheckUtils]: 28: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:24,282 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3041#true} {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} #90#return; {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-28 09:31:24,282 INFO L272 TraceCheckUtils]: 30: Hoare triple {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:24,282 INFO L290 TraceCheckUtils]: 31: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:24,282 INFO L290 TraceCheckUtils]: 32: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:24,282 INFO L290 TraceCheckUtils]: 33: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:24,283 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3041#true} {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} #92#return; {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-28 09:31:24,283 INFO L290 TraceCheckUtils]: 35: Hoare triple {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-28 09:31:24,284 INFO L290 TraceCheckUtils]: 36: Hoare triple {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-28 09:31:24,284 INFO L290 TraceCheckUtils]: 37: Hoare triple {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} assume !(~buf~0 == ~buflim~0); {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-28 09:31:24,284 INFO L272 TraceCheckUtils]: 38: Hoare triple {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:24,284 INFO L290 TraceCheckUtils]: 39: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:24,284 INFO L290 TraceCheckUtils]: 40: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:24,284 INFO L290 TraceCheckUtils]: 41: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:24,285 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3041#true} {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} #86#return; {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-28 09:31:24,285 INFO L272 TraceCheckUtils]: 43: Hoare triple {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:24,285 INFO L290 TraceCheckUtils]: 44: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:24,285 INFO L290 TraceCheckUtils]: 45: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:24,285 INFO L290 TraceCheckUtils]: 46: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:24,286 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3041#true} {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} #88#return; {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-28 09:31:24,286 INFO L290 TraceCheckUtils]: 48: Hoare triple {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-28 09:31:24,287 INFO L290 TraceCheckUtils]: 49: Hoare triple {3158#(and (<= 3 main_~inlen~0) (<= main_~in~0 1))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {3234#(and (<= main_~in~0 2) (<= 3 main_~inlen~0))} is VALID [2022-04-28 09:31:24,287 INFO L272 TraceCheckUtils]: 50: Hoare triple {3234#(and (<= main_~in~0 2) (<= 3 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:24,287 INFO L290 TraceCheckUtils]: 51: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:24,287 INFO L290 TraceCheckUtils]: 52: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:24,287 INFO L290 TraceCheckUtils]: 53: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:24,287 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {3041#true} {3234#(and (<= main_~in~0 2) (<= 3 main_~inlen~0))} #90#return; {3234#(and (<= main_~in~0 2) (<= 3 main_~inlen~0))} is VALID [2022-04-28 09:31:24,288 INFO L272 TraceCheckUtils]: 55: Hoare triple {3234#(and (<= main_~in~0 2) (<= 3 main_~inlen~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3253#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:31:24,289 INFO L290 TraceCheckUtils]: 56: Hoare triple {3253#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3257#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:31:24,289 INFO L290 TraceCheckUtils]: 57: Hoare triple {3257#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3042#false} is VALID [2022-04-28 09:31:24,289 INFO L290 TraceCheckUtils]: 58: Hoare triple {3042#false} assume !false; {3042#false} is VALID [2022-04-28 09:31:24,289 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-28 09:31:24,289 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:31:24,552 INFO L290 TraceCheckUtils]: 58: Hoare triple {3042#false} assume !false; {3042#false} is VALID [2022-04-28 09:31:24,553 INFO L290 TraceCheckUtils]: 57: Hoare triple {3257#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3042#false} is VALID [2022-04-28 09:31:24,553 INFO L290 TraceCheckUtils]: 56: Hoare triple {3253#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3257#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:31:24,554 INFO L272 TraceCheckUtils]: 55: Hoare triple {3074#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3253#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:31:24,554 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {3041#true} {3074#(<= (+ main_~in~0 1) main_~inlen~0)} #90#return; {3074#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2022-04-28 09:31:24,567 INFO L290 TraceCheckUtils]: 53: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:24,567 INFO L290 TraceCheckUtils]: 52: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:24,567 INFO L290 TraceCheckUtils]: 51: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:24,567 INFO L272 TraceCheckUtils]: 50: Hoare triple {3074#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:24,568 INFO L290 TraceCheckUtils]: 49: Hoare triple {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {3074#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2022-04-28 09:31:24,568 INFO L290 TraceCheckUtils]: 48: Hoare triple {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:24,569 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3041#true} {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} #88#return; {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:24,569 INFO L290 TraceCheckUtils]: 46: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:24,569 INFO L290 TraceCheckUtils]: 45: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:24,569 INFO L290 TraceCheckUtils]: 44: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:24,569 INFO L272 TraceCheckUtils]: 43: Hoare triple {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:24,569 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3041#true} {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} #86#return; {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:24,569 INFO L290 TraceCheckUtils]: 41: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:24,569 INFO L290 TraceCheckUtils]: 40: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:24,570 INFO L290 TraceCheckUtils]: 39: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:24,570 INFO L272 TraceCheckUtils]: 38: Hoare triple {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:24,570 INFO L290 TraceCheckUtils]: 37: Hoare triple {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} assume !(~buf~0 == ~buflim~0); {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:24,570 INFO L290 TraceCheckUtils]: 36: Hoare triple {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} assume !!(0 != #t~nondet3);havoc #t~nondet3; {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:24,570 INFO L290 TraceCheckUtils]: 35: Hoare triple {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:24,571 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3041#true} {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} #92#return; {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:24,571 INFO L290 TraceCheckUtils]: 33: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:24,571 INFO L290 TraceCheckUtils]: 32: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:24,571 INFO L290 TraceCheckUtils]: 31: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:24,571 INFO L272 TraceCheckUtils]: 30: Hoare triple {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:24,571 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3041#true} {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} #90#return; {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:24,572 INFO L290 TraceCheckUtils]: 28: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:24,572 INFO L290 TraceCheckUtils]: 27: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:24,572 INFO L290 TraceCheckUtils]: 26: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:24,572 INFO L272 TraceCheckUtils]: 25: Hoare triple {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:24,572 INFO L290 TraceCheckUtils]: 24: Hoare triple {3366#(<= (+ 3 main_~in~0) main_~inlen~0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {3057#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:24,572 INFO L290 TraceCheckUtils]: 23: Hoare triple {3366#(<= (+ 3 main_~in~0) main_~inlen~0)} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {3366#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:24,573 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3041#true} {3366#(<= (+ 3 main_~in~0) main_~inlen~0)} #88#return; {3366#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:24,573 INFO L290 TraceCheckUtils]: 21: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:24,573 INFO L290 TraceCheckUtils]: 20: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:24,573 INFO L290 TraceCheckUtils]: 19: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:24,573 INFO L272 TraceCheckUtils]: 18: Hoare triple {3366#(<= (+ 3 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:24,573 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3041#true} {3366#(<= (+ 3 main_~in~0) main_~inlen~0)} #86#return; {3366#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:24,574 INFO L290 TraceCheckUtils]: 16: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:24,574 INFO L290 TraceCheckUtils]: 15: Hoare triple {3041#true} assume !(0 == ~cond); {3041#true} is VALID [2022-04-28 09:31:24,574 INFO L290 TraceCheckUtils]: 14: Hoare triple {3041#true} ~cond := #in~cond; {3041#true} is VALID [2022-04-28 09:31:24,574 INFO L272 TraceCheckUtils]: 13: Hoare triple {3366#(<= (+ 3 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3041#true} is VALID [2022-04-28 09:31:24,583 INFO L290 TraceCheckUtils]: 12: Hoare triple {3366#(<= (+ 3 main_~in~0) main_~inlen~0)} assume !(~buf~0 == ~buflim~0); {3366#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:24,583 INFO L290 TraceCheckUtils]: 11: Hoare triple {3366#(<= (+ 3 main_~in~0) main_~inlen~0)} assume !!(0 != #t~nondet3);havoc #t~nondet3; {3366#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:24,583 INFO L290 TraceCheckUtils]: 10: Hoare triple {3366#(<= (+ 3 main_~in~0) main_~inlen~0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {3366#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:24,584 INFO L290 TraceCheckUtils]: 9: Hoare triple {3047#(<= 3 main_~inlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {3366#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:24,584 INFO L290 TraceCheckUtils]: 8: Hoare triple {3046#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {3047#(<= 3 main_~inlen~0)} is VALID [2022-04-28 09:31:24,584 INFO L290 TraceCheckUtils]: 7: Hoare triple {3046#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {3046#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:24,585 INFO L290 TraceCheckUtils]: 6: Hoare triple {3041#true} assume ~bufferlen~0 > 1; {3046#(<= 2 main_~bufferlen~0)} is VALID [2022-04-28 09:31:24,585 INFO L290 TraceCheckUtils]: 5: Hoare triple {3041#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; {3041#true} is VALID [2022-04-28 09:31:24,585 INFO L272 TraceCheckUtils]: 4: Hoare triple {3041#true} call #t~ret8 := main(); {3041#true} is VALID [2022-04-28 09:31:24,585 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3041#true} {3041#true} #102#return; {3041#true} is VALID [2022-04-28 09:31:24,586 INFO L290 TraceCheckUtils]: 2: Hoare triple {3041#true} assume true; {3041#true} is VALID [2022-04-28 09:31:24,586 INFO L290 TraceCheckUtils]: 1: Hoare triple {3041#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); {3041#true} is VALID [2022-04-28 09:31:24,586 INFO L272 TraceCheckUtils]: 0: Hoare triple {3041#true} call ULTIMATE.init(); {3041#true} is VALID [2022-04-28 09:31:24,586 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-28 09:31:24,586 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [965170469] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:31:24,586 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:31:24,586 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9, 9] total 16 [2022-04-28 09:31:24,586 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:31:24,587 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [142763936] [2022-04-28 09:31:24,587 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [142763936] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:31:24,587 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:31:24,587 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 09:31:24,587 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1602286712] [2022-04-28 09:31:24,587 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:31:24,588 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 59 [2022-04-28 09:31:24,589 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:31:24,590 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 09:31:24,617 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:31:24,617 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 09:31:24,617 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:31:24,618 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 09:31:24,618 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=187, Unknown=0, NotChecked=0, Total=240 [2022-04-28 09:31:24,618 INFO L87 Difference]: Start difference. First operand 83 states and 98 transitions. Second operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 09:31:25,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:25,487 INFO L93 Difference]: Finished difference Result 94 states and 109 transitions. [2022-04-28 09:31:25,487 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 09:31:25,487 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 59 [2022-04-28 09:31:25,488 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:31:25,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 09:31:25,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 88 transitions. [2022-04-28 09:31:25,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 09:31:25,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 88 transitions. [2022-04-28 09:31:25,491 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 88 transitions. [2022-04-28 09:31:25,566 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:31:25,567 INFO L225 Difference]: With dead ends: 94 [2022-04-28 09:31:25,567 INFO L226 Difference]: Without dead ends: 92 [2022-04-28 09:31:25,568 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 125 SyntacticMatches, 4 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=112, Invalid=440, Unknown=0, NotChecked=0, Total=552 [2022-04-28 09:31:25,568 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 101 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 238 mSolverCounterSat, 105 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 101 SdHoareTripleChecker+Valid, 61 SdHoareTripleChecker+Invalid, 343 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 105 IncrementalHoareTripleChecker+Valid, 238 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 09:31:25,568 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [101 Valid, 61 Invalid, 343 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [105 Valid, 238 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 09:31:25,568 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-28 09:31:25,687 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 87. [2022-04-28 09:31:25,688 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:31:25,688 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 87 states, 54 states have (on average 1.0925925925925926) internal successors, (59), 57 states have internal predecessors, (59), 22 states have call successors, (22), 11 states have call predecessors, (22), 10 states have return successors, (20), 18 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 09:31:25,688 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 87 states, 54 states have (on average 1.0925925925925926) internal successors, (59), 57 states have internal predecessors, (59), 22 states have call successors, (22), 11 states have call predecessors, (22), 10 states have return successors, (20), 18 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 09:31:25,688 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 87 states, 54 states have (on average 1.0925925925925926) internal successors, (59), 57 states have internal predecessors, (59), 22 states have call successors, (22), 11 states have call predecessors, (22), 10 states have return successors, (20), 18 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 09:31:25,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:25,691 INFO L93 Difference]: Finished difference Result 92 states and 107 transitions. [2022-04-28 09:31:25,691 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 107 transitions. [2022-04-28 09:31:25,691 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:25,691 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:31:25,691 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 54 states have (on average 1.0925925925925926) internal successors, (59), 57 states have internal predecessors, (59), 22 states have call successors, (22), 11 states have call predecessors, (22), 10 states have return successors, (20), 18 states have call predecessors, (20), 20 states have call successors, (20) Second operand 92 states. [2022-04-28 09:31:25,691 INFO L87 Difference]: Start difference. First operand has 87 states, 54 states have (on average 1.0925925925925926) internal successors, (59), 57 states have internal predecessors, (59), 22 states have call successors, (22), 11 states have call predecessors, (22), 10 states have return successors, (20), 18 states have call predecessors, (20), 20 states have call successors, (20) Second operand 92 states. [2022-04-28 09:31:25,693 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:25,694 INFO L93 Difference]: Finished difference Result 92 states and 107 transitions. [2022-04-28 09:31:25,694 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 107 transitions. [2022-04-28 09:31:25,694 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:25,694 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:31:25,694 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:31:25,694 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:31:25,695 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 54 states have (on average 1.0925925925925926) internal successors, (59), 57 states have internal predecessors, (59), 22 states have call successors, (22), 11 states have call predecessors, (22), 10 states have return successors, (20), 18 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 09:31:25,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 101 transitions. [2022-04-28 09:31:25,697 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 101 transitions. Word has length 59 [2022-04-28 09:31:25,697 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:31:25,697 INFO L495 AbstractCegarLoop]: Abstraction has 87 states and 101 transitions. [2022-04-28 09:31:25,697 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 09:31:25,697 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 87 states and 101 transitions. [2022-04-28 09:31:25,783 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:31:25,784 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 101 transitions. [2022-04-28 09:31:25,784 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2022-04-28 09:31:25,784 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:31:25,784 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 3, 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, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:31:25,800 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-28 09:31:25,985 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-28 09:31:25,985 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:31:25,986 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:31:25,986 INFO L85 PathProgramCache]: Analyzing trace with hash 525355932, now seen corresponding path program 3 times [2022-04-28 09:31:25,986 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:31:25,986 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1813902792] [2022-04-28 09:31:26,145 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 09:31:26,145 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:31:26,146 INFO L85 PathProgramCache]: Analyzing trace with hash 525355932, now seen corresponding path program 4 times [2022-04-28 09:31:26,146 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:31:26,146 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1291585939] [2022-04-28 09:31:26,146 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:31:26,146 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:31:26,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:26,256 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:31:26,257 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:26,268 INFO L290 TraceCheckUtils]: 0: Hoare triple {4061#(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); {4004#true} is VALID [2022-04-28 09:31:26,268 INFO L290 TraceCheckUtils]: 1: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,268 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4004#true} {4004#true} #102#return; {4004#true} is VALID [2022-04-28 09:31:26,268 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 09:31:26,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:26,272 INFO L290 TraceCheckUtils]: 0: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:26,272 INFO L290 TraceCheckUtils]: 1: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:26,272 INFO L290 TraceCheckUtils]: 2: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,273 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4004#true} {4009#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #86#return; {4009#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-28 09:31:26,273 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-28 09:31:26,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:26,277 INFO L290 TraceCheckUtils]: 0: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:26,277 INFO L290 TraceCheckUtils]: 1: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:26,278 INFO L290 TraceCheckUtils]: 2: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,278 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4004#true} {4009#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #88#return; {4009#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-28 09:31:26,278 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-28 09:31:26,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:26,286 INFO L290 TraceCheckUtils]: 0: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:26,287 INFO L290 TraceCheckUtils]: 1: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:26,287 INFO L290 TraceCheckUtils]: 2: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,287 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4004#true} {4018#(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; {4018#(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-28 09:31:26,287 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-28 09:31:26,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:26,293 INFO L290 TraceCheckUtils]: 0: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:26,293 INFO L290 TraceCheckUtils]: 1: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:26,293 INFO L290 TraceCheckUtils]: 2: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,294 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4004#true} {4018#(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; {4018#(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-28 09:31:26,294 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 09:31:26,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:26,298 INFO L290 TraceCheckUtils]: 0: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:26,298 INFO L290 TraceCheckUtils]: 1: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:26,298 INFO L290 TraceCheckUtils]: 2: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,299 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4004#true} {4027#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} #86#return; {4027#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2022-04-28 09:31:26,299 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 43 [2022-04-28 09:31:26,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:26,302 INFO L290 TraceCheckUtils]: 0: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:26,302 INFO L290 TraceCheckUtils]: 1: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:26,302 INFO L290 TraceCheckUtils]: 2: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,303 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4004#true} {4027#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} #88#return; {4027#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2022-04-28 09:31:26,303 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 09:31:26,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:26,307 INFO L290 TraceCheckUtils]: 0: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:26,307 INFO L290 TraceCheckUtils]: 1: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:26,307 INFO L290 TraceCheckUtils]: 2: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,308 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4004#true} {4036#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #90#return; {4036#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:26,308 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 55 [2022-04-28 09:31:26,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:26,312 INFO L290 TraceCheckUtils]: 0: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:26,313 INFO L290 TraceCheckUtils]: 1: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:26,313 INFO L290 TraceCheckUtils]: 2: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,313 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4004#true} {4036#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #92#return; {4036#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:26,313 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 62 [2022-04-28 09:31:26,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:26,321 INFO L290 TraceCheckUtils]: 0: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:26,322 INFO L290 TraceCheckUtils]: 1: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:26,322 INFO L290 TraceCheckUtils]: 2: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,322 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4004#true} {4036#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #94#return; {4036#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:26,322 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 67 [2022-04-28 09:31:26,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:26,337 INFO L290 TraceCheckUtils]: 0: Hoare triple {4004#true} ~cond := #in~cond; {4062#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:31:26,337 INFO L290 TraceCheckUtils]: 1: Hoare triple {4062#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4059#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:31:26,338 INFO L290 TraceCheckUtils]: 2: Hoare triple {4059#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4059#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:31:26,338 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4059#(not (= |__VERIFIER_assert_#in~cond| 0))} {4036#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #96#return; {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:26,338 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 73 [2022-04-28 09:31:26,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:26,342 INFO L290 TraceCheckUtils]: 0: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:26,342 INFO L290 TraceCheckUtils]: 1: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:26,342 INFO L290 TraceCheckUtils]: 2: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,342 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4004#true} {4054#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #98#return; {4054#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-28 09:31:26,343 INFO L272 TraceCheckUtils]: 0: Hoare triple {4004#true} call ULTIMATE.init(); {4061#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:31:26,343 INFO L290 TraceCheckUtils]: 1: Hoare triple {4061#(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); {4004#true} is VALID [2022-04-28 09:31:26,343 INFO L290 TraceCheckUtils]: 2: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,343 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4004#true} {4004#true} #102#return; {4004#true} is VALID [2022-04-28 09:31:26,343 INFO L272 TraceCheckUtils]: 4: Hoare triple {4004#true} call #t~ret8 := main(); {4004#true} is VALID [2022-04-28 09:31:26,343 INFO L290 TraceCheckUtils]: 5: Hoare triple {4004#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; {4004#true} is VALID [2022-04-28 09:31:26,343 INFO L290 TraceCheckUtils]: 6: Hoare triple {4004#true} assume ~bufferlen~0 > 1; {4004#true} is VALID [2022-04-28 09:31:26,343 INFO L290 TraceCheckUtils]: 7: Hoare triple {4004#true} assume ~inlen~0 > 0; {4004#true} is VALID [2022-04-28 09:31:26,343 INFO L290 TraceCheckUtils]: 8: Hoare triple {4004#true} assume ~bufferlen~0 < ~inlen~0; {4004#true} is VALID [2022-04-28 09:31:26,344 INFO L290 TraceCheckUtils]: 9: Hoare triple {4004#true} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {4009#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-28 09:31:26,344 INFO L290 TraceCheckUtils]: 10: Hoare triple {4009#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4009#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-28 09:31:26,344 INFO L290 TraceCheckUtils]: 11: Hoare triple {4009#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {4009#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-28 09:31:26,345 INFO L290 TraceCheckUtils]: 12: Hoare triple {4009#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} assume !(~buf~0 == ~buflim~0); {4009#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-28 09:31:26,345 INFO L272 TraceCheckUtils]: 13: Hoare triple {4009#(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)); {4004#true} is VALID [2022-04-28 09:31:26,345 INFO L290 TraceCheckUtils]: 14: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:26,345 INFO L290 TraceCheckUtils]: 15: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:26,345 INFO L290 TraceCheckUtils]: 16: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,345 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4004#true} {4009#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #86#return; {4009#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-28 09:31:26,345 INFO L272 TraceCheckUtils]: 18: Hoare triple {4009#(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)); {4004#true} is VALID [2022-04-28 09:31:26,346 INFO L290 TraceCheckUtils]: 19: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:26,346 INFO L290 TraceCheckUtils]: 20: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:26,346 INFO L290 TraceCheckUtils]: 21: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,346 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4004#true} {4009#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} #88#return; {4009#(and (<= main_~bufferlen~0 (+ 2 main_~buflim~0)) (<= (+ 2 main_~buflim~0) main_~bufferlen~0))} is VALID [2022-04-28 09:31:26,346 INFO L290 TraceCheckUtils]: 23: Hoare triple {4009#(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; {4018#(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-28 09:31:26,347 INFO L290 TraceCheckUtils]: 24: Hoare triple {4018#(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; {4018#(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-28 09:31:26,347 INFO L272 TraceCheckUtils]: 25: Hoare triple {4018#(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)); {4004#true} is VALID [2022-04-28 09:31:26,347 INFO L290 TraceCheckUtils]: 26: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:26,347 INFO L290 TraceCheckUtils]: 27: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:26,347 INFO L290 TraceCheckUtils]: 28: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,348 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {4004#true} {4018#(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; {4018#(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-28 09:31:26,348 INFO L272 TraceCheckUtils]: 30: Hoare triple {4018#(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)); {4004#true} is VALID [2022-04-28 09:31:26,348 INFO L290 TraceCheckUtils]: 31: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:26,348 INFO L290 TraceCheckUtils]: 32: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:26,348 INFO L290 TraceCheckUtils]: 33: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,348 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4004#true} {4018#(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; {4018#(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-28 09:31:26,349 INFO L290 TraceCheckUtils]: 35: Hoare triple {4018#(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; {4018#(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-28 09:31:26,349 INFO L290 TraceCheckUtils]: 36: Hoare triple {4018#(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; {4018#(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-28 09:31:26,350 INFO L290 TraceCheckUtils]: 37: Hoare triple {4018#(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); {4027#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2022-04-28 09:31:26,350 INFO L272 TraceCheckUtils]: 38: Hoare triple {4027#(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)); {4004#true} is VALID [2022-04-28 09:31:26,350 INFO L290 TraceCheckUtils]: 39: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:26,350 INFO L290 TraceCheckUtils]: 40: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:26,350 INFO L290 TraceCheckUtils]: 41: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,350 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4004#true} {4027#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} #86#return; {4027#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2022-04-28 09:31:26,350 INFO L272 TraceCheckUtils]: 43: Hoare triple {4027#(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)); {4004#true} is VALID [2022-04-28 09:31:26,350 INFO L290 TraceCheckUtils]: 44: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:26,351 INFO L290 TraceCheckUtils]: 45: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:26,351 INFO L290 TraceCheckUtils]: 46: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,351 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4004#true} {4027#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} #88#return; {4027#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (<= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2022-04-28 09:31:26,351 INFO L290 TraceCheckUtils]: 48: Hoare triple {4027#(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; {4036#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:26,352 INFO L290 TraceCheckUtils]: 49: Hoare triple {4036#(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; {4036#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:26,352 INFO L272 TraceCheckUtils]: 50: Hoare triple {4036#(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)); {4004#true} is VALID [2022-04-28 09:31:26,352 INFO L290 TraceCheckUtils]: 51: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:26,352 INFO L290 TraceCheckUtils]: 52: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:26,352 INFO L290 TraceCheckUtils]: 53: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,352 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {4004#true} {4036#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #90#return; {4036#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:26,352 INFO L272 TraceCheckUtils]: 55: Hoare triple {4036#(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)); {4004#true} is VALID [2022-04-28 09:31:26,353 INFO L290 TraceCheckUtils]: 56: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:26,353 INFO L290 TraceCheckUtils]: 57: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:26,353 INFO L290 TraceCheckUtils]: 58: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,353 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {4004#true} {4036#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #92#return; {4036#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:26,353 INFO L290 TraceCheckUtils]: 60: Hoare triple {4036#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4036#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:26,354 INFO L290 TraceCheckUtils]: 61: Hoare triple {4036#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} assume !(0 != #t~nondet3);havoc #t~nondet3; {4036#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:26,354 INFO L272 TraceCheckUtils]: 62: Hoare triple {4036#(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)); {4004#true} is VALID [2022-04-28 09:31:26,354 INFO L290 TraceCheckUtils]: 63: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:26,354 INFO L290 TraceCheckUtils]: 64: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:26,354 INFO L290 TraceCheckUtils]: 65: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,354 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {4004#true} {4036#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #94#return; {4036#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:26,354 INFO L272 TraceCheckUtils]: 67: Hoare triple {4036#(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)); {4004#true} is VALID [2022-04-28 09:31:26,355 INFO L290 TraceCheckUtils]: 68: Hoare triple {4004#true} ~cond := #in~cond; {4062#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:31:26,355 INFO L290 TraceCheckUtils]: 69: Hoare triple {4062#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4059#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:31:26,355 INFO L290 TraceCheckUtils]: 70: Hoare triple {4059#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4059#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:31:26,356 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {4059#(not (= |__VERIFIER_assert_#in~cond| 0))} {4036#(or (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~bufferlen~0 main_~buf~0))} #96#return; {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:26,356 INFO L290 TraceCheckUtils]: 72: Hoare triple {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #t~post6 := ~buf~0;~buf~0 := 1 + #t~post6;havoc #t~post6; {4054#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-28 09:31:26,356 INFO L272 TraceCheckUtils]: 73: Hoare triple {4054#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:26,356 INFO L290 TraceCheckUtils]: 74: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:26,356 INFO L290 TraceCheckUtils]: 75: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:26,356 INFO L290 TraceCheckUtils]: 76: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:26,357 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {4004#true} {4054#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #98#return; {4054#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-28 09:31:26,357 INFO L272 TraceCheckUtils]: 78: Hoare triple {4054#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4059#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:31:26,358 INFO L290 TraceCheckUtils]: 79: Hoare triple {4059#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {4060#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 09:31:26,358 INFO L290 TraceCheckUtils]: 80: Hoare triple {4060#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {4005#false} is VALID [2022-04-28 09:31:26,358 INFO L290 TraceCheckUtils]: 81: Hoare triple {4005#false} assume !false; {4005#false} is VALID [2022-04-28 09:31:26,358 INFO L134 CoverageAnalysis]: Checked inductivity of 255 backedges. 48 proven. 17 refuted. 0 times theorem prover too weak. 190 trivial. 0 not checked. [2022-04-28 09:31:26,358 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:31:26,358 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1291585939] [2022-04-28 09:31:26,359 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1291585939] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:31:26,359 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [268198899] [2022-04-28 09:31:26,359 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 09:31:26,359 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:31:26,359 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:31:26,360 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-28 09:31:26,361 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-28 09:31:26,406 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 09:31:26,407 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:31:26,407 INFO L263 TraceCheckSpWp]: Trace formula consists of 149 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 09:31:26,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:26,423 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:31:27,291 INFO L272 TraceCheckUtils]: 0: Hoare triple {4004#true} call ULTIMATE.init(); {4004#true} is VALID [2022-04-28 09:31:27,291 INFO L290 TraceCheckUtils]: 1: Hoare triple {4004#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); {4004#true} is VALID [2022-04-28 09:31:27,291 INFO L290 TraceCheckUtils]: 2: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,291 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4004#true} {4004#true} #102#return; {4004#true} is VALID [2022-04-28 09:31:27,291 INFO L272 TraceCheckUtils]: 4: Hoare triple {4004#true} call #t~ret8 := main(); {4004#true} is VALID [2022-04-28 09:31:27,292 INFO L290 TraceCheckUtils]: 5: Hoare triple {4004#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; {4004#true} is VALID [2022-04-28 09:31:27,311 INFO L290 TraceCheckUtils]: 6: Hoare triple {4004#true} assume ~bufferlen~0 > 1; {4084#(< 1 main_~bufferlen~0)} is VALID [2022-04-28 09:31:27,312 INFO L290 TraceCheckUtils]: 7: Hoare triple {4084#(< 1 main_~bufferlen~0)} assume ~inlen~0 > 0; {4084#(< 1 main_~bufferlen~0)} is VALID [2022-04-28 09:31:27,312 INFO L290 TraceCheckUtils]: 8: Hoare triple {4084#(< 1 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {4084#(< 1 main_~bufferlen~0)} is VALID [2022-04-28 09:31:27,313 INFO L290 TraceCheckUtils]: 9: Hoare triple {4084#(< 1 main_~bufferlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {4094#(and (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,313 INFO L290 TraceCheckUtils]: 10: Hoare triple {4094#(and (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4094#(and (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,314 INFO L290 TraceCheckUtils]: 11: Hoare triple {4094#(and (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {4094#(and (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,314 INFO L290 TraceCheckUtils]: 12: Hoare triple {4094#(and (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} assume !(~buf~0 == ~buflim~0); {4104#(and (not (= main_~buf~0 main_~buflim~0)) (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,314 INFO L272 TraceCheckUtils]: 13: Hoare triple {4104#(and (not (= main_~buf~0 main_~buflim~0)) (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,314 INFO L290 TraceCheckUtils]: 14: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,314 INFO L290 TraceCheckUtils]: 15: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,315 INFO L290 TraceCheckUtils]: 16: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,315 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4004#true} {4104#(and (not (= main_~buf~0 main_~buflim~0)) (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} #86#return; {4104#(and (not (= main_~buf~0 main_~buflim~0)) (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,315 INFO L272 TraceCheckUtils]: 18: Hoare triple {4104#(and (not (= main_~buf~0 main_~buflim~0)) (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,315 INFO L290 TraceCheckUtils]: 19: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,316 INFO L290 TraceCheckUtils]: 20: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,316 INFO L290 TraceCheckUtils]: 21: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,316 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4004#true} {4104#(and (not (= main_~buf~0 main_~buflim~0)) (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} #88#return; {4104#(and (not (= main_~buf~0 main_~buflim~0)) (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,317 INFO L290 TraceCheckUtils]: 23: Hoare triple {4104#(and (not (= main_~buf~0 main_~buflim~0)) (<= main_~buf~0 0) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {4138#(and (< main_~buf~0 (+ main_~buflim~0 1)) (<= main_~buf~0 1) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,317 INFO L290 TraceCheckUtils]: 24: Hoare triple {4138#(and (< main_~buf~0 (+ main_~buflim~0 1)) (<= main_~buf~0 1) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {4138#(and (< main_~buf~0 (+ main_~buflim~0 1)) (<= main_~buf~0 1) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,318 INFO L272 TraceCheckUtils]: 25: Hoare triple {4138#(and (< main_~buf~0 (+ main_~buflim~0 1)) (<= main_~buf~0 1) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,318 INFO L290 TraceCheckUtils]: 26: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,318 INFO L290 TraceCheckUtils]: 27: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,318 INFO L290 TraceCheckUtils]: 28: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,319 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {4004#true} {4138#(and (< main_~buf~0 (+ main_~buflim~0 1)) (<= main_~buf~0 1) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} #90#return; {4138#(and (< main_~buf~0 (+ main_~buflim~0 1)) (<= main_~buf~0 1) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,319 INFO L272 TraceCheckUtils]: 30: Hoare triple {4138#(and (< main_~buf~0 (+ main_~buflim~0 1)) (<= main_~buf~0 1) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,319 INFO L290 TraceCheckUtils]: 31: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,319 INFO L290 TraceCheckUtils]: 32: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,319 INFO L290 TraceCheckUtils]: 33: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,320 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4004#true} {4138#(and (< main_~buf~0 (+ main_~buflim~0 1)) (<= main_~buf~0 1) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} #92#return; {4138#(and (< main_~buf~0 (+ main_~buflim~0 1)) (<= main_~buf~0 1) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,320 INFO L290 TraceCheckUtils]: 35: Hoare triple {4138#(and (< main_~buf~0 (+ main_~buflim~0 1)) (<= main_~buf~0 1) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4138#(and (< main_~buf~0 (+ main_~buflim~0 1)) (<= main_~buf~0 1) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,321 INFO L290 TraceCheckUtils]: 36: Hoare triple {4138#(and (< main_~buf~0 (+ main_~buflim~0 1)) (<= main_~buf~0 1) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {4138#(and (< main_~buf~0 (+ main_~buflim~0 1)) (<= main_~buf~0 1) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,321 INFO L290 TraceCheckUtils]: 37: Hoare triple {4138#(and (< main_~buf~0 (+ main_~buflim~0 1)) (<= main_~buf~0 1) (= main_~buflim~0 (+ (- 2) main_~bufferlen~0)) (< 1 main_~bufferlen~0))} assume !(~buf~0 == ~buflim~0); {4181#(and (<= main_~buf~0 1) (< (+ main_~buf~0 1) main_~bufferlen~0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,321 INFO L272 TraceCheckUtils]: 38: Hoare triple {4181#(and (<= main_~buf~0 1) (< (+ main_~buf~0 1) main_~bufferlen~0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))) (< 1 main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,322 INFO L290 TraceCheckUtils]: 39: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,322 INFO L290 TraceCheckUtils]: 40: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,322 INFO L290 TraceCheckUtils]: 41: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,322 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4004#true} {4181#(and (<= main_~buf~0 1) (< (+ main_~buf~0 1) main_~bufferlen~0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))) (< 1 main_~bufferlen~0))} #86#return; {4181#(and (<= main_~buf~0 1) (< (+ main_~buf~0 1) main_~bufferlen~0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,322 INFO L272 TraceCheckUtils]: 43: Hoare triple {4181#(and (<= main_~buf~0 1) (< (+ main_~buf~0 1) main_~bufferlen~0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))) (< 1 main_~bufferlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,323 INFO L290 TraceCheckUtils]: 44: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,323 INFO L290 TraceCheckUtils]: 45: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,323 INFO L290 TraceCheckUtils]: 46: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,323 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4004#true} {4181#(and (<= main_~buf~0 1) (< (+ main_~buf~0 1) main_~bufferlen~0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))) (< 1 main_~bufferlen~0))} #88#return; {4181#(and (<= main_~buf~0 1) (< (+ main_~buf~0 1) main_~bufferlen~0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,324 INFO L290 TraceCheckUtils]: 48: Hoare triple {4181#(and (<= main_~buf~0 1) (< (+ main_~buf~0 1) main_~bufferlen~0) (not (= main_~buf~0 (+ (- 2) main_~bufferlen~0))) (< 1 main_~bufferlen~0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {4215#(and (<= main_~buf~0 2) (< (+ main_~buf~0 1) main_~bufferlen~0) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,324 INFO L290 TraceCheckUtils]: 49: Hoare triple {4215#(and (<= main_~buf~0 2) (< (+ main_~buf~0 1) main_~bufferlen~0) (< 1 main_~bufferlen~0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {4215#(and (<= main_~buf~0 2) (< (+ main_~buf~0 1) main_~bufferlen~0) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,324 INFO L272 TraceCheckUtils]: 50: Hoare triple {4215#(and (<= main_~buf~0 2) (< (+ main_~buf~0 1) main_~bufferlen~0) (< 1 main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,325 INFO L290 TraceCheckUtils]: 51: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,325 INFO L290 TraceCheckUtils]: 52: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,325 INFO L290 TraceCheckUtils]: 53: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,328 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {4004#true} {4215#(and (<= main_~buf~0 2) (< (+ main_~buf~0 1) main_~bufferlen~0) (< 1 main_~bufferlen~0))} #90#return; {4215#(and (<= main_~buf~0 2) (< (+ main_~buf~0 1) main_~bufferlen~0) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,328 INFO L272 TraceCheckUtils]: 55: Hoare triple {4215#(and (<= main_~buf~0 2) (< (+ main_~buf~0 1) main_~bufferlen~0) (< 1 main_~bufferlen~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,329 INFO L290 TraceCheckUtils]: 56: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,329 INFO L290 TraceCheckUtils]: 57: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,329 INFO L290 TraceCheckUtils]: 58: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,329 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {4004#true} {4215#(and (<= main_~buf~0 2) (< (+ main_~buf~0 1) main_~bufferlen~0) (< 1 main_~bufferlen~0))} #92#return; {4215#(and (<= main_~buf~0 2) (< (+ main_~buf~0 1) main_~bufferlen~0) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,330 INFO L290 TraceCheckUtils]: 60: Hoare triple {4215#(and (<= main_~buf~0 2) (< (+ main_~buf~0 1) main_~bufferlen~0) (< 1 main_~bufferlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4215#(and (<= main_~buf~0 2) (< (+ main_~buf~0 1) main_~bufferlen~0) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,330 INFO L290 TraceCheckUtils]: 61: Hoare triple {4215#(and (<= main_~buf~0 2) (< (+ main_~buf~0 1) main_~bufferlen~0) (< 1 main_~bufferlen~0))} assume !(0 != #t~nondet3);havoc #t~nondet3; {4215#(and (<= main_~buf~0 2) (< (+ main_~buf~0 1) main_~bufferlen~0) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,330 INFO L272 TraceCheckUtils]: 62: Hoare triple {4215#(and (<= main_~buf~0 2) (< (+ main_~buf~0 1) main_~bufferlen~0) (< 1 main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,330 INFO L290 TraceCheckUtils]: 63: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,330 INFO L290 TraceCheckUtils]: 64: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,330 INFO L290 TraceCheckUtils]: 65: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,331 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {4004#true} {4215#(and (<= main_~buf~0 2) (< (+ main_~buf~0 1) main_~bufferlen~0) (< 1 main_~bufferlen~0))} #94#return; {4215#(and (<= main_~buf~0 2) (< (+ main_~buf~0 1) main_~bufferlen~0) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,331 INFO L272 TraceCheckUtils]: 67: Hoare triple {4215#(and (<= main_~buf~0 2) (< (+ main_~buf~0 1) main_~bufferlen~0) (< 1 main_~bufferlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,331 INFO L290 TraceCheckUtils]: 68: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,331 INFO L290 TraceCheckUtils]: 69: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,331 INFO L290 TraceCheckUtils]: 70: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,331 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {4004#true} {4215#(and (<= main_~buf~0 2) (< (+ main_~buf~0 1) main_~bufferlen~0) (< 1 main_~bufferlen~0))} #96#return; {4215#(and (<= main_~buf~0 2) (< (+ main_~buf~0 1) main_~bufferlen~0) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,332 INFO L290 TraceCheckUtils]: 72: Hoare triple {4215#(and (<= main_~buf~0 2) (< (+ main_~buf~0 1) main_~bufferlen~0) (< 1 main_~bufferlen~0))} #t~post6 := ~buf~0;~buf~0 := 1 + #t~post6;havoc #t~post6; {4288#(and (<= main_~buf~0 3) (< 1 main_~bufferlen~0) (< main_~buf~0 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,332 INFO L272 TraceCheckUtils]: 73: Hoare triple {4288#(and (<= main_~buf~0 3) (< 1 main_~bufferlen~0) (< main_~buf~0 main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,332 INFO L290 TraceCheckUtils]: 74: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,332 INFO L290 TraceCheckUtils]: 75: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,332 INFO L290 TraceCheckUtils]: 76: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,333 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {4004#true} {4288#(and (<= main_~buf~0 3) (< 1 main_~bufferlen~0) (< main_~buf~0 main_~bufferlen~0))} #98#return; {4288#(and (<= main_~buf~0 3) (< 1 main_~bufferlen~0) (< main_~buf~0 main_~bufferlen~0))} is VALID [2022-04-28 09:31:27,333 INFO L272 TraceCheckUtils]: 78: Hoare triple {4288#(and (<= main_~buf~0 3) (< 1 main_~bufferlen~0) (< main_~buf~0 main_~bufferlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4307#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:31:27,334 INFO L290 TraceCheckUtils]: 79: Hoare triple {4307#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4311#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:31:27,334 INFO L290 TraceCheckUtils]: 80: Hoare triple {4311#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4005#false} is VALID [2022-04-28 09:31:27,334 INFO L290 TraceCheckUtils]: 81: Hoare triple {4005#false} assume !false; {4005#false} is VALID [2022-04-28 09:31:27,334 INFO L134 CoverageAnalysis]: Checked inductivity of 255 backedges. 22 proven. 13 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-28 09:31:27,334 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:31:27,969 INFO L290 TraceCheckUtils]: 81: Hoare triple {4005#false} assume !false; {4005#false} is VALID [2022-04-28 09:31:27,970 INFO L290 TraceCheckUtils]: 80: Hoare triple {4311#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4005#false} is VALID [2022-04-28 09:31:27,970 INFO L290 TraceCheckUtils]: 79: Hoare triple {4307#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4311#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:31:27,970 INFO L272 TraceCheckUtils]: 78: Hoare triple {4054#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4307#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:31:27,971 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {4004#true} {4054#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #98#return; {4054#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-28 09:31:27,971 INFO L290 TraceCheckUtils]: 76: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,971 INFO L290 TraceCheckUtils]: 75: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,971 INFO L290 TraceCheckUtils]: 74: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,971 INFO L272 TraceCheckUtils]: 73: Hoare triple {4054#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,972 INFO L290 TraceCheckUtils]: 72: Hoare triple {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #t~post6 := ~buf~0;~buf~0 := 1 + #t~post6;havoc #t~post6; {4054#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2022-04-28 09:31:27,972 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {4004#true} {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #96#return; {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:27,972 INFO L290 TraceCheckUtils]: 70: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,972 INFO L290 TraceCheckUtils]: 69: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,972 INFO L290 TraceCheckUtils]: 68: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,972 INFO L272 TraceCheckUtils]: 67: Hoare triple {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,973 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {4004#true} {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #94#return; {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:27,973 INFO L290 TraceCheckUtils]: 65: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,973 INFO L290 TraceCheckUtils]: 64: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,973 INFO L290 TraceCheckUtils]: 63: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,973 INFO L272 TraceCheckUtils]: 62: Hoare triple {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,973 INFO L290 TraceCheckUtils]: 61: Hoare triple {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} assume !(0 != #t~nondet3);havoc #t~nondet3; {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:27,973 INFO L290 TraceCheckUtils]: 60: Hoare triple {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:27,974 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {4004#true} {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #92#return; {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:27,974 INFO L290 TraceCheckUtils]: 58: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,974 INFO L290 TraceCheckUtils]: 57: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,974 INFO L290 TraceCheckUtils]: 56: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,974 INFO L272 TraceCheckUtils]: 55: Hoare triple {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,974 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {4004#true} {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #90#return; {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:27,975 INFO L290 TraceCheckUtils]: 53: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,975 INFO L290 TraceCheckUtils]: 52: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,975 INFO L290 TraceCheckUtils]: 51: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,975 INFO L272 TraceCheckUtils]: 50: Hoare triple {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,975 INFO L290 TraceCheckUtils]: 49: Hoare triple {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:27,975 INFO L290 TraceCheckUtils]: 48: Hoare triple {4417#(<= (+ main_~buf~0 3) main_~bufferlen~0)} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {4053#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2022-04-28 09:31:27,976 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4004#true} {4417#(<= (+ main_~buf~0 3) main_~bufferlen~0)} #88#return; {4417#(<= (+ main_~buf~0 3) main_~bufferlen~0)} is VALID [2022-04-28 09:31:27,976 INFO L290 TraceCheckUtils]: 46: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,976 INFO L290 TraceCheckUtils]: 45: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,976 INFO L290 TraceCheckUtils]: 44: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,976 INFO L272 TraceCheckUtils]: 43: Hoare triple {4417#(<= (+ main_~buf~0 3) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,976 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4004#true} {4417#(<= (+ main_~buf~0 3) main_~bufferlen~0)} #86#return; {4417#(<= (+ main_~buf~0 3) main_~bufferlen~0)} is VALID [2022-04-28 09:31:27,976 INFO L290 TraceCheckUtils]: 41: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,977 INFO L290 TraceCheckUtils]: 40: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,977 INFO L290 TraceCheckUtils]: 39: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,977 INFO L272 TraceCheckUtils]: 38: Hoare triple {4417#(<= (+ main_~buf~0 3) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,977 INFO L290 TraceCheckUtils]: 37: Hoare triple {4451#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} assume !(~buf~0 == ~buflim~0); {4417#(<= (+ main_~buf~0 3) main_~bufferlen~0)} is VALID [2022-04-28 09:31:27,977 INFO L290 TraceCheckUtils]: 36: Hoare triple {4451#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {4451#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} is VALID [2022-04-28 09:31:27,978 INFO L290 TraceCheckUtils]: 35: Hoare triple {4451#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4451#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} is VALID [2022-04-28 09:31:27,978 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4004#true} {4451#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} #92#return; {4451#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} is VALID [2022-04-28 09:31:27,978 INFO L290 TraceCheckUtils]: 33: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,978 INFO L290 TraceCheckUtils]: 32: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,978 INFO L290 TraceCheckUtils]: 31: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,978 INFO L272 TraceCheckUtils]: 30: Hoare triple {4451#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,979 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {4004#true} {4451#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} #90#return; {4451#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} is VALID [2022-04-28 09:31:27,979 INFO L290 TraceCheckUtils]: 28: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,979 INFO L290 TraceCheckUtils]: 27: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,979 INFO L290 TraceCheckUtils]: 26: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,979 INFO L272 TraceCheckUtils]: 25: Hoare triple {4451#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,979 INFO L290 TraceCheckUtils]: 24: Hoare triple {4451#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {4451#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} is VALID [2022-04-28 09:31:27,980 INFO L290 TraceCheckUtils]: 23: Hoare triple {4494#(and (or (<= (+ main_~buf~0 4) main_~bufferlen~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buf~0 4) main_~bufferlen~0)))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {4451#(or (<= (+ main_~buf~0 3) main_~bufferlen~0) (= main_~buf~0 main_~buflim~0))} is VALID [2022-04-28 09:31:27,980 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4004#true} {4494#(and (or (<= (+ main_~buf~0 4) main_~bufferlen~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buf~0 4) main_~bufferlen~0)))} #88#return; {4494#(and (or (<= (+ main_~buf~0 4) main_~bufferlen~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buf~0 4) main_~bufferlen~0)))} is VALID [2022-04-28 09:31:27,980 INFO L290 TraceCheckUtils]: 21: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,980 INFO L290 TraceCheckUtils]: 20: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,980 INFO L290 TraceCheckUtils]: 19: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,980 INFO L272 TraceCheckUtils]: 18: Hoare triple {4494#(and (or (<= (+ main_~buf~0 4) main_~bufferlen~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buf~0 4) main_~bufferlen~0)))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,981 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4004#true} {4494#(and (or (<= (+ main_~buf~0 4) main_~bufferlen~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buf~0 4) main_~bufferlen~0)))} #86#return; {4494#(and (or (<= (+ main_~buf~0 4) main_~bufferlen~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buf~0 4) main_~bufferlen~0)))} is VALID [2022-04-28 09:31:27,981 INFO L290 TraceCheckUtils]: 16: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,981 INFO L290 TraceCheckUtils]: 15: Hoare triple {4004#true} assume !(0 == ~cond); {4004#true} is VALID [2022-04-28 09:31:27,981 INFO L290 TraceCheckUtils]: 14: Hoare triple {4004#true} ~cond := #in~cond; {4004#true} is VALID [2022-04-28 09:31:27,981 INFO L272 TraceCheckUtils]: 13: Hoare triple {4494#(and (or (<= (+ main_~buf~0 4) main_~bufferlen~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buf~0 4) main_~bufferlen~0)))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4004#true} is VALID [2022-04-28 09:31:27,981 INFO L290 TraceCheckUtils]: 12: Hoare triple {4528#(or (= main_~buf~0 main_~buflim~0) (and (or (<= (+ main_~buf~0 4) main_~bufferlen~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buf~0 4) main_~bufferlen~0))))} assume !(~buf~0 == ~buflim~0); {4494#(and (or (<= (+ main_~buf~0 4) main_~bufferlen~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buf~0 4) main_~bufferlen~0)))} is VALID [2022-04-28 09:31:27,982 INFO L290 TraceCheckUtils]: 11: Hoare triple {4528#(or (= main_~buf~0 main_~buflim~0) (and (or (<= (+ main_~buf~0 4) main_~bufferlen~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buf~0 4) main_~bufferlen~0))))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {4528#(or (= main_~buf~0 main_~buflim~0) (and (or (<= (+ main_~buf~0 4) main_~bufferlen~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buf~0 4) main_~bufferlen~0))))} is VALID [2022-04-28 09:31:27,982 INFO L290 TraceCheckUtils]: 10: Hoare triple {4528#(or (= main_~buf~0 main_~buflim~0) (and (or (<= (+ main_~buf~0 4) main_~bufferlen~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buf~0 4) main_~bufferlen~0))))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4528#(or (= main_~buf~0 main_~buflim~0) (and (or (<= (+ main_~buf~0 4) main_~bufferlen~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buf~0 4) main_~bufferlen~0))))} is VALID [2022-04-28 09:31:27,983 INFO L290 TraceCheckUtils]: 9: Hoare triple {4084#(< 1 main_~bufferlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {4528#(or (= main_~buf~0 main_~buflim~0) (and (or (<= (+ main_~buf~0 4) main_~bufferlen~0) (<= (+ 2 main_~buflim~0) main_~bufferlen~0)) (or (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buf~0 4) main_~bufferlen~0))))} is VALID [2022-04-28 09:31:27,983 INFO L290 TraceCheckUtils]: 8: Hoare triple {4084#(< 1 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {4084#(< 1 main_~bufferlen~0)} is VALID [2022-04-28 09:31:27,983 INFO L290 TraceCheckUtils]: 7: Hoare triple {4084#(< 1 main_~bufferlen~0)} assume ~inlen~0 > 0; {4084#(< 1 main_~bufferlen~0)} is VALID [2022-04-28 09:31:27,984 INFO L290 TraceCheckUtils]: 6: Hoare triple {4004#true} assume ~bufferlen~0 > 1; {4084#(< 1 main_~bufferlen~0)} is VALID [2022-04-28 09:31:27,984 INFO L290 TraceCheckUtils]: 5: Hoare triple {4004#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; {4004#true} is VALID [2022-04-28 09:31:27,984 INFO L272 TraceCheckUtils]: 4: Hoare triple {4004#true} call #t~ret8 := main(); {4004#true} is VALID [2022-04-28 09:31:27,984 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4004#true} {4004#true} #102#return; {4004#true} is VALID [2022-04-28 09:31:27,984 INFO L290 TraceCheckUtils]: 2: Hoare triple {4004#true} assume true; {4004#true} is VALID [2022-04-28 09:31:27,984 INFO L290 TraceCheckUtils]: 1: Hoare triple {4004#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); {4004#true} is VALID [2022-04-28 09:31:27,984 INFO L272 TraceCheckUtils]: 0: Hoare triple {4004#true} call ULTIMATE.init(); {4004#true} is VALID [2022-04-28 09:31:27,984 INFO L134 CoverageAnalysis]: Checked inductivity of 255 backedges. 22 proven. 13 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-28 09:31:27,984 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [268198899] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:31:27,985 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:31:27,985 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11, 11] total 25 [2022-04-28 09:31:27,985 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:31:27,985 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1813902792] [2022-04-28 09:31:27,985 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1813902792] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:31:27,985 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:31:27,985 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 09:31:27,985 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [644172826] [2022-04-28 09:31:27,985 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:31:27,986 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) Word has length 82 [2022-04-28 09:31:27,986 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:31:27,986 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 09:31:28,033 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:31:28,034 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 09:31:28,034 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:31:28,034 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 09:31:28,034 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=118, Invalid=482, Unknown=0, NotChecked=0, Total=600 [2022-04-28 09:31:28,034 INFO L87 Difference]: Start difference. First operand 87 states and 101 transitions. Second operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 09:31:28,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:28,997 INFO L93 Difference]: Finished difference Result 91 states and 105 transitions. [2022-04-28 09:31:28,997 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 09:31:28,997 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) Word has length 82 [2022-04-28 09:31:28,998 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:31:28,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 09:31:28,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 62 transitions. [2022-04-28 09:31:28,999 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 09:31:29,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 62 transitions. [2022-04-28 09:31:29,000 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 62 transitions. [2022-04-28 09:31:29,058 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-28 09:31:29,059 INFO L225 Difference]: With dead ends: 91 [2022-04-28 09:31:29,059 INFO L226 Difference]: Without dead ends: 82 [2022-04-28 09:31:29,060 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 211 GetRequests, 174 SyntacticMatches, 3 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 357 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=213, Invalid=1047, Unknown=0, NotChecked=0, Total=1260 [2022-04-28 09:31:29,090 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 37 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 322 mSolverCounterSat, 61 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 73 SdHoareTripleChecker+Invalid, 383 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 61 IncrementalHoareTripleChecker+Valid, 322 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 09:31:29,090 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [37 Valid, 73 Invalid, 383 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [61 Valid, 322 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 09:31:29,091 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2022-04-28 09:31:29,220 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 82. [2022-04-28 09:31:29,220 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:31:29,221 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand has 82 states, 55 states have (on average 1.018181818181818) internal successors, (56), 55 states have internal predecessors, (56), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 09:31:29,221 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand has 82 states, 55 states have (on average 1.018181818181818) internal successors, (56), 55 states have internal predecessors, (56), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 09:31:29,221 INFO L87 Difference]: Start difference. First operand 82 states. Second operand has 82 states, 55 states have (on average 1.018181818181818) internal successors, (56), 55 states have internal predecessors, (56), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 09:31:29,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:29,223 INFO L93 Difference]: Finished difference Result 82 states and 87 transitions. [2022-04-28 09:31:29,223 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 87 transitions. [2022-04-28 09:31:29,223 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:29,223 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:31:29,224 INFO L74 IsIncluded]: Start isIncluded. First operand has 82 states, 55 states have (on average 1.018181818181818) internal successors, (56), 55 states have internal predecessors, (56), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 82 states. [2022-04-28 09:31:29,224 INFO L87 Difference]: Start difference. First operand has 82 states, 55 states have (on average 1.018181818181818) internal successors, (56), 55 states have internal predecessors, (56), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 82 states. [2022-04-28 09:31:29,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:29,225 INFO L93 Difference]: Finished difference Result 82 states and 87 transitions. [2022-04-28 09:31:29,226 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 87 transitions. [2022-04-28 09:31:29,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:29,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:31:29,226 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:31:29,226 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:31:29,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 82 states, 55 states have (on average 1.018181818181818) internal successors, (56), 55 states have internal predecessors, (56), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 09:31:29,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 87 transitions. [2022-04-28 09:31:29,228 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 87 transitions. Word has length 82 [2022-04-28 09:31:29,228 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:31:29,228 INFO L495 AbstractCegarLoop]: Abstraction has 82 states and 87 transitions. [2022-04-28 09:31:29,228 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 09:31:29,228 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 82 states and 87 transitions. [2022-04-28 09:31:29,313 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:31:29,313 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 87 transitions. [2022-04-28 09:31:29,314 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2022-04-28 09:31:29,314 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:31:29,314 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-28 09:31:29,330 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-28 09:31:29,527 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-28 09:31:29,528 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:31:29,528 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:31:29,528 INFO L85 PathProgramCache]: Analyzing trace with hash 35434489, now seen corresponding path program 3 times [2022-04-28 09:31:29,528 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:31:29,528 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [216019712] [2022-04-28 09:31:29,662 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 09:31:29,662 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:31:29,662 INFO L85 PathProgramCache]: Analyzing trace with hash 35434489, now seen corresponding path program 4 times [2022-04-28 09:31:29,663 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:31:29,663 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1768756554] [2022-04-28 09:31:29,663 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:31:29,663 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:31:29,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:29,791 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:31:29,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:29,814 INFO L290 TraceCheckUtils]: 0: Hoare triple {5160#(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); {5101#true} is VALID [2022-04-28 09:31:29,814 INFO L290 TraceCheckUtils]: 1: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,815 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5101#true} {5101#true} #102#return; {5101#true} is VALID [2022-04-28 09:31:29,815 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 09:31:29,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:29,821 INFO L290 TraceCheckUtils]: 0: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:29,821 INFO L290 TraceCheckUtils]: 1: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:29,821 INFO L290 TraceCheckUtils]: 2: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,821 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5101#true} {5107#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} #86#return; {5107#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} is VALID [2022-04-28 09:31:29,821 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-28 09:31:29,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:29,825 INFO L290 TraceCheckUtils]: 0: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:29,825 INFO L290 TraceCheckUtils]: 1: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:29,825 INFO L290 TraceCheckUtils]: 2: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,826 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5101#true} {5107#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} #88#return; {5107#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} is VALID [2022-04-28 09:31:29,826 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-28 09:31:29,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:29,829 INFO L290 TraceCheckUtils]: 0: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:29,829 INFO L290 TraceCheckUtils]: 1: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:29,829 INFO L290 TraceCheckUtils]: 2: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,829 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5101#true} {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} #90#return; {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-28 09:31:29,829 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-28 09:31:29,830 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:29,834 INFO L290 TraceCheckUtils]: 0: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:29,834 INFO L290 TraceCheckUtils]: 1: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:29,834 INFO L290 TraceCheckUtils]: 2: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,834 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5101#true} {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} #92#return; {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-28 09:31:29,835 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 09:31:29,835 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:29,837 INFO L290 TraceCheckUtils]: 0: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:29,837 INFO L290 TraceCheckUtils]: 1: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:29,837 INFO L290 TraceCheckUtils]: 2: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,838 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5101#true} {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} #86#return; {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-28 09:31:29,838 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 43 [2022-04-28 09:31:29,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:29,841 INFO L290 TraceCheckUtils]: 0: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:29,842 INFO L290 TraceCheckUtils]: 1: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:29,842 INFO L290 TraceCheckUtils]: 2: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,842 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5101#true} {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} #88#return; {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-28 09:31:29,842 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 09:31:29,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:29,845 INFO L290 TraceCheckUtils]: 0: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:29,845 INFO L290 TraceCheckUtils]: 1: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:29,845 INFO L290 TraceCheckUtils]: 2: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,845 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5101#true} {5135#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} #90#return; {5135#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:29,846 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 55 [2022-04-28 09:31:29,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:29,851 INFO L290 TraceCheckUtils]: 0: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:29,852 INFO L290 TraceCheckUtils]: 1: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:29,852 INFO L290 TraceCheckUtils]: 2: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,852 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5101#true} {5135#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} #92#return; {5135#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:29,852 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-28 09:31:29,853 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:29,859 INFO L290 TraceCheckUtils]: 0: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:29,859 INFO L290 TraceCheckUtils]: 1: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:29,859 INFO L290 TraceCheckUtils]: 2: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,859 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5101#true} {5135#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} #86#return; {5135#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:29,859 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 68 [2022-04-28 09:31:29,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:29,875 INFO L290 TraceCheckUtils]: 0: Hoare triple {5101#true} ~cond := #in~cond; {5161#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:31:29,875 INFO L290 TraceCheckUtils]: 1: Hoare triple {5161#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5158#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:31:29,875 INFO L290 TraceCheckUtils]: 2: Hoare triple {5158#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5158#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:31:29,876 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5158#(not (= |__VERIFIER_assert_#in~cond| 0))} {5135#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} #88#return; {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:29,876 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-28 09:31:29,877 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:29,879 INFO L290 TraceCheckUtils]: 0: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:29,879 INFO L290 TraceCheckUtils]: 1: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:29,879 INFO L290 TraceCheckUtils]: 2: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,880 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5101#true} {5153#(<= (+ main_~in~0 1) main_~inlen~0)} #90#return; {5153#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2022-04-28 09:31:29,880 INFO L272 TraceCheckUtils]: 0: Hoare triple {5101#true} call ULTIMATE.init(); {5160#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:31:29,880 INFO L290 TraceCheckUtils]: 1: Hoare triple {5160#(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); {5101#true} is VALID [2022-04-28 09:31:29,880 INFO L290 TraceCheckUtils]: 2: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,880 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5101#true} {5101#true} #102#return; {5101#true} is VALID [2022-04-28 09:31:29,880 INFO L272 TraceCheckUtils]: 4: Hoare triple {5101#true} call #t~ret8 := main(); {5101#true} is VALID [2022-04-28 09:31:29,880 INFO L290 TraceCheckUtils]: 5: Hoare triple {5101#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; {5101#true} is VALID [2022-04-28 09:31:29,880 INFO L290 TraceCheckUtils]: 6: Hoare triple {5101#true} assume ~bufferlen~0 > 1; {5101#true} is VALID [2022-04-28 09:31:29,881 INFO L290 TraceCheckUtils]: 7: Hoare triple {5101#true} assume ~inlen~0 > 0; {5101#true} is VALID [2022-04-28 09:31:29,881 INFO L290 TraceCheckUtils]: 8: Hoare triple {5101#true} assume ~bufferlen~0 < ~inlen~0; {5106#(<= (+ main_~bufferlen~0 1) main_~inlen~0)} is VALID [2022-04-28 09:31:29,881 INFO L290 TraceCheckUtils]: 9: Hoare triple {5106#(<= (+ main_~bufferlen~0 1) main_~inlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {5107#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} is VALID [2022-04-28 09:31:29,882 INFO L290 TraceCheckUtils]: 10: Hoare triple {5107#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {5107#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} is VALID [2022-04-28 09:31:29,882 INFO L290 TraceCheckUtils]: 11: Hoare triple {5107#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {5107#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} is VALID [2022-04-28 09:31:29,882 INFO L290 TraceCheckUtils]: 12: Hoare triple {5107#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} assume !(~buf~0 == ~buflim~0); {5107#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} is VALID [2022-04-28 09:31:29,882 INFO L272 TraceCheckUtils]: 13: Hoare triple {5107#(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)); {5101#true} is VALID [2022-04-28 09:31:29,883 INFO L290 TraceCheckUtils]: 14: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:29,883 INFO L290 TraceCheckUtils]: 15: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:29,883 INFO L290 TraceCheckUtils]: 16: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,884 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5101#true} {5107#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} #86#return; {5107#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} is VALID [2022-04-28 09:31:29,884 INFO L272 TraceCheckUtils]: 18: Hoare triple {5107#(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)); {5101#true} is VALID [2022-04-28 09:31:29,884 INFO L290 TraceCheckUtils]: 19: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:29,884 INFO L290 TraceCheckUtils]: 20: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:29,884 INFO L290 TraceCheckUtils]: 21: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,884 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5101#true} {5107#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} #88#return; {5107#(and (= main_~in~0 0) (= main_~buf~0 0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} is VALID [2022-04-28 09:31:29,885 INFO L290 TraceCheckUtils]: 23: Hoare triple {5107#(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; {5116#(and (<= (+ main_~bufferlen~0 2) (+ main_~buf~0 main_~inlen~0)) (= main_~in~0 0))} is VALID [2022-04-28 09:31:29,885 INFO L290 TraceCheckUtils]: 24: Hoare triple {5116#(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; {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-28 09:31:29,885 INFO L272 TraceCheckUtils]: 25: Hoare triple {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:29,885 INFO L290 TraceCheckUtils]: 26: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:29,885 INFO L290 TraceCheckUtils]: 27: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:29,885 INFO L290 TraceCheckUtils]: 28: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,886 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {5101#true} {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} #90#return; {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-28 09:31:29,886 INFO L272 TraceCheckUtils]: 30: Hoare triple {5117#(<= (+ 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)); {5101#true} is VALID [2022-04-28 09:31:29,886 INFO L290 TraceCheckUtils]: 31: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:29,886 INFO L290 TraceCheckUtils]: 32: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:29,886 INFO L290 TraceCheckUtils]: 33: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,886 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {5101#true} {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} #92#return; {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-28 09:31:29,887 INFO L290 TraceCheckUtils]: 35: Hoare triple {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-28 09:31:29,887 INFO L290 TraceCheckUtils]: 36: Hoare triple {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-28 09:31:29,887 INFO L290 TraceCheckUtils]: 37: Hoare triple {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} assume !(~buf~0 == ~buflim~0); {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-28 09:31:29,887 INFO L272 TraceCheckUtils]: 38: Hoare triple {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:29,887 INFO L290 TraceCheckUtils]: 39: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:29,887 INFO L290 TraceCheckUtils]: 40: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:29,888 INFO L290 TraceCheckUtils]: 41: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,888 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5101#true} {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} #86#return; {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-28 09:31:29,888 INFO L272 TraceCheckUtils]: 43: Hoare triple {5117#(<= (+ 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)); {5101#true} is VALID [2022-04-28 09:31:29,888 INFO L290 TraceCheckUtils]: 44: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:29,888 INFO L290 TraceCheckUtils]: 45: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:29,888 INFO L290 TraceCheckUtils]: 46: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,889 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {5101#true} {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} #88#return; {5117#(<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0))} is VALID [2022-04-28 09:31:29,889 INFO L290 TraceCheckUtils]: 48: Hoare triple {5117#(<= (+ 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; {5134#(or (<= (+ main_~bufferlen~0 2 main_~in~0) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:29,890 INFO L290 TraceCheckUtils]: 49: Hoare triple {5134#(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; {5135#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:29,890 INFO L272 TraceCheckUtils]: 50: Hoare triple {5135#(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)); {5101#true} is VALID [2022-04-28 09:31:29,890 INFO L290 TraceCheckUtils]: 51: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:29,890 INFO L290 TraceCheckUtils]: 52: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:29,890 INFO L290 TraceCheckUtils]: 53: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,890 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {5101#true} {5135#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} #90#return; {5135#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:29,890 INFO L272 TraceCheckUtils]: 55: Hoare triple {5135#(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)); {5101#true} is VALID [2022-04-28 09:31:29,890 INFO L290 TraceCheckUtils]: 56: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:29,890 INFO L290 TraceCheckUtils]: 57: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:29,891 INFO L290 TraceCheckUtils]: 58: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,891 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {5101#true} {5135#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} #92#return; {5135#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:29,891 INFO L290 TraceCheckUtils]: 60: Hoare triple {5135#(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; {5135#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:29,892 INFO L290 TraceCheckUtils]: 61: Hoare triple {5135#(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; {5135#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:29,892 INFO L290 TraceCheckUtils]: 62: Hoare triple {5135#(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); {5135#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:29,892 INFO L272 TraceCheckUtils]: 63: Hoare triple {5135#(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)); {5101#true} is VALID [2022-04-28 09:31:29,892 INFO L290 TraceCheckUtils]: 64: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:29,892 INFO L290 TraceCheckUtils]: 65: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:29,892 INFO L290 TraceCheckUtils]: 66: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,893 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5101#true} {5135#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} #86#return; {5135#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} is VALID [2022-04-28 09:31:29,893 INFO L272 TraceCheckUtils]: 68: Hoare triple {5135#(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)); {5101#true} is VALID [2022-04-28 09:31:29,893 INFO L290 TraceCheckUtils]: 69: Hoare triple {5101#true} ~cond := #in~cond; {5161#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:31:29,893 INFO L290 TraceCheckUtils]: 70: Hoare triple {5161#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5158#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:31:29,893 INFO L290 TraceCheckUtils]: 71: Hoare triple {5158#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5158#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:31:29,894 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {5158#(not (= |__VERIFIER_assert_#in~cond| 0))} {5135#(or (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= main_~bufferlen~0 main_~buf~0))} #88#return; {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:29,894 INFO L290 TraceCheckUtils]: 73: Hoare triple {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:29,895 INFO L290 TraceCheckUtils]: 74: Hoare triple {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {5153#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2022-04-28 09:31:29,895 INFO L272 TraceCheckUtils]: 75: Hoare triple {5153#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:29,895 INFO L290 TraceCheckUtils]: 76: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:29,895 INFO L290 TraceCheckUtils]: 77: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:29,895 INFO L290 TraceCheckUtils]: 78: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:29,895 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {5101#true} {5153#(<= (+ main_~in~0 1) main_~inlen~0)} #90#return; {5153#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2022-04-28 09:31:29,896 INFO L272 TraceCheckUtils]: 80: Hoare triple {5153#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {5158#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:31:29,896 INFO L290 TraceCheckUtils]: 81: Hoare triple {5158#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {5159#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 09:31:29,896 INFO L290 TraceCheckUtils]: 82: Hoare triple {5159#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {5102#false} is VALID [2022-04-28 09:31:29,896 INFO L290 TraceCheckUtils]: 83: Hoare triple {5102#false} assume !false; {5102#false} is VALID [2022-04-28 09:31:29,897 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-28 09:31:29,897 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:31:29,897 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1768756554] [2022-04-28 09:31:29,897 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1768756554] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:31:29,897 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [804295927] [2022-04-28 09:31:29,897 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 09:31:29,897 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:31:29,897 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:31:29,899 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-28 09:31:29,942 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-28 09:31:29,950 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 09:31:29,950 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:31:29,952 INFO L263 TraceCheckSpWp]: Trace formula consists of 151 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 09:31:29,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:31:29,970 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:31:30,602 INFO L272 TraceCheckUtils]: 0: Hoare triple {5101#true} call ULTIMATE.init(); {5101#true} is VALID [2022-04-28 09:31:30,602 INFO L290 TraceCheckUtils]: 1: Hoare triple {5101#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); {5101#true} is VALID [2022-04-28 09:31:30,602 INFO L290 TraceCheckUtils]: 2: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:30,602 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5101#true} {5101#true} #102#return; {5101#true} is VALID [2022-04-28 09:31:30,602 INFO L272 TraceCheckUtils]: 4: Hoare triple {5101#true} call #t~ret8 := main(); {5101#true} is VALID [2022-04-28 09:31:30,602 INFO L290 TraceCheckUtils]: 5: Hoare triple {5101#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; {5101#true} is VALID [2022-04-28 09:31:30,603 INFO L290 TraceCheckUtils]: 6: Hoare triple {5101#true} assume ~bufferlen~0 > 1; {5183#(< 1 main_~bufferlen~0)} is VALID [2022-04-28 09:31:30,604 INFO L290 TraceCheckUtils]: 7: Hoare triple {5183#(< 1 main_~bufferlen~0)} assume ~inlen~0 > 0; {5183#(< 1 main_~bufferlen~0)} is VALID [2022-04-28 09:31:30,604 INFO L290 TraceCheckUtils]: 8: Hoare triple {5183#(< 1 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {5190#(and (< main_~bufferlen~0 main_~inlen~0) (< 1 main_~bufferlen~0))} is VALID [2022-04-28 09:31:30,604 INFO L290 TraceCheckUtils]: 9: Hoare triple {5190#(and (< main_~bufferlen~0 main_~inlen~0) (< 1 main_~bufferlen~0))} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {5194#(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-28 09:31:30,605 INFO L290 TraceCheckUtils]: 10: Hoare triple {5194#(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; {5194#(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-28 09:31:30,605 INFO L290 TraceCheckUtils]: 11: Hoare triple {5194#(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; {5194#(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-28 09:31:30,606 INFO L290 TraceCheckUtils]: 12: Hoare triple {5194#(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); {5204#(and (= main_~buf~0 0) (< (+ main_~buf~0 3) main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-28 09:31:30,606 INFO L272 TraceCheckUtils]: 13: Hoare triple {5204#(and (= main_~buf~0 0) (< (+ main_~buf~0 3) main_~inlen~0) (<= main_~in~0 0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:30,606 INFO L290 TraceCheckUtils]: 14: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:30,606 INFO L290 TraceCheckUtils]: 15: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:30,606 INFO L290 TraceCheckUtils]: 16: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:30,606 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5101#true} {5204#(and (= main_~buf~0 0) (< (+ main_~buf~0 3) main_~inlen~0) (<= main_~in~0 0))} #86#return; {5204#(and (= main_~buf~0 0) (< (+ main_~buf~0 3) main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-28 09:31:30,607 INFO L272 TraceCheckUtils]: 18: Hoare triple {5204#(and (= main_~buf~0 0) (< (+ main_~buf~0 3) main_~inlen~0) (<= main_~in~0 0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:30,607 INFO L290 TraceCheckUtils]: 19: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:30,607 INFO L290 TraceCheckUtils]: 20: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:30,607 INFO L290 TraceCheckUtils]: 21: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:30,607 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5101#true} {5204#(and (= main_~buf~0 0) (< (+ main_~buf~0 3) main_~inlen~0) (<= main_~in~0 0))} #88#return; {5204#(and (= main_~buf~0 0) (< (+ main_~buf~0 3) main_~inlen~0) (<= main_~in~0 0))} is VALID [2022-04-28 09:31:30,608 INFO L290 TraceCheckUtils]: 23: Hoare triple {5204#(and (= main_~buf~0 0) (< (+ main_~buf~0 3) main_~inlen~0) (<= main_~in~0 0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {5238#(and (< 3 main_~inlen~0) (<= main_~in~0 0) (= main_~buf~0 1))} is VALID [2022-04-28 09:31:30,608 INFO L290 TraceCheckUtils]: 24: Hoare triple {5238#(and (< 3 main_~inlen~0) (<= main_~in~0 0) (= main_~buf~0 1))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {5242#(and (< 3 main_~inlen~0) (<= main_~in~0 1) (= main_~buf~0 1))} is VALID [2022-04-28 09:31:30,608 INFO L272 TraceCheckUtils]: 25: Hoare triple {5242#(and (< 3 main_~inlen~0) (<= main_~in~0 1) (= main_~buf~0 1))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:30,608 INFO L290 TraceCheckUtils]: 26: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:30,608 INFO L290 TraceCheckUtils]: 27: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:30,608 INFO L290 TraceCheckUtils]: 28: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:30,609 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {5101#true} {5242#(and (< 3 main_~inlen~0) (<= main_~in~0 1) (= main_~buf~0 1))} #90#return; {5242#(and (< 3 main_~inlen~0) (<= main_~in~0 1) (= main_~buf~0 1))} is VALID [2022-04-28 09:31:30,609 INFO L272 TraceCheckUtils]: 30: Hoare triple {5242#(and (< 3 main_~inlen~0) (<= main_~in~0 1) (= main_~buf~0 1))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:30,609 INFO L290 TraceCheckUtils]: 31: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:30,609 INFO L290 TraceCheckUtils]: 32: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:30,609 INFO L290 TraceCheckUtils]: 33: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:30,613 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {5101#true} {5242#(and (< 3 main_~inlen~0) (<= main_~in~0 1) (= main_~buf~0 1))} #92#return; {5242#(and (< 3 main_~inlen~0) (<= main_~in~0 1) (= main_~buf~0 1))} is VALID [2022-04-28 09:31:30,614 INFO L290 TraceCheckUtils]: 35: Hoare triple {5242#(and (< 3 main_~inlen~0) (<= main_~in~0 1) (= main_~buf~0 1))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {5242#(and (< 3 main_~inlen~0) (<= main_~in~0 1) (= main_~buf~0 1))} is VALID [2022-04-28 09:31:30,614 INFO L290 TraceCheckUtils]: 36: Hoare triple {5242#(and (< 3 main_~inlen~0) (<= main_~in~0 1) (= main_~buf~0 1))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {5242#(and (< 3 main_~inlen~0) (<= main_~in~0 1) (= main_~buf~0 1))} is VALID [2022-04-28 09:31:30,614 INFO L290 TraceCheckUtils]: 37: Hoare triple {5242#(and (< 3 main_~inlen~0) (<= main_~in~0 1) (= main_~buf~0 1))} assume !(~buf~0 == ~buflim~0); {5242#(and (< 3 main_~inlen~0) (<= main_~in~0 1) (= main_~buf~0 1))} is VALID [2022-04-28 09:31:30,614 INFO L272 TraceCheckUtils]: 38: Hoare triple {5242#(and (< 3 main_~inlen~0) (<= main_~in~0 1) (= main_~buf~0 1))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:30,615 INFO L290 TraceCheckUtils]: 39: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:30,615 INFO L290 TraceCheckUtils]: 40: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:30,615 INFO L290 TraceCheckUtils]: 41: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:30,616 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5101#true} {5242#(and (< 3 main_~inlen~0) (<= main_~in~0 1) (= main_~buf~0 1))} #86#return; {5242#(and (< 3 main_~inlen~0) (<= main_~in~0 1) (= main_~buf~0 1))} is VALID [2022-04-28 09:31:30,616 INFO L272 TraceCheckUtils]: 43: Hoare triple {5242#(and (< 3 main_~inlen~0) (<= main_~in~0 1) (= main_~buf~0 1))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:30,616 INFO L290 TraceCheckUtils]: 44: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:30,616 INFO L290 TraceCheckUtils]: 45: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:30,616 INFO L290 TraceCheckUtils]: 46: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:30,618 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {5101#true} {5242#(and (< 3 main_~inlen~0) (<= main_~in~0 1) (= main_~buf~0 1))} #88#return; {5242#(and (< 3 main_~inlen~0) (<= main_~in~0 1) (= main_~buf~0 1))} is VALID [2022-04-28 09:31:30,618 INFO L290 TraceCheckUtils]: 48: Hoare triple {5242#(and (< 3 main_~inlen~0) (<= main_~in~0 1) (= main_~buf~0 1))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {5315#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} is VALID [2022-04-28 09:31:30,618 INFO L290 TraceCheckUtils]: 49: Hoare triple {5315#(and (< 3 main_~inlen~0) (<= main_~in~0 1))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} is VALID [2022-04-28 09:31:30,618 INFO L272 TraceCheckUtils]: 50: Hoare triple {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:30,619 INFO L290 TraceCheckUtils]: 51: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:30,619 INFO L290 TraceCheckUtils]: 52: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:30,619 INFO L290 TraceCheckUtils]: 53: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:30,620 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {5101#true} {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} #90#return; {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} is VALID [2022-04-28 09:31:30,620 INFO L272 TraceCheckUtils]: 55: Hoare triple {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:30,620 INFO L290 TraceCheckUtils]: 56: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:30,620 INFO L290 TraceCheckUtils]: 57: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:30,620 INFO L290 TraceCheckUtils]: 58: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:30,621 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {5101#true} {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} #92#return; {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} is VALID [2022-04-28 09:31:30,621 INFO L290 TraceCheckUtils]: 60: Hoare triple {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} is VALID [2022-04-28 09:31:30,621 INFO L290 TraceCheckUtils]: 61: Hoare triple {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} is VALID [2022-04-28 09:31:30,622 INFO L290 TraceCheckUtils]: 62: Hoare triple {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} assume !(~buf~0 == ~buflim~0); {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} is VALID [2022-04-28 09:31:30,622 INFO L272 TraceCheckUtils]: 63: Hoare triple {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:30,622 INFO L290 TraceCheckUtils]: 64: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:30,622 INFO L290 TraceCheckUtils]: 65: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:30,622 INFO L290 TraceCheckUtils]: 66: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:30,622 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5101#true} {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} #86#return; {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} is VALID [2022-04-28 09:31:30,623 INFO L272 TraceCheckUtils]: 68: Hoare triple {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:30,623 INFO L290 TraceCheckUtils]: 69: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:30,623 INFO L290 TraceCheckUtils]: 70: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:30,623 INFO L290 TraceCheckUtils]: 71: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:30,623 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {5101#true} {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} #88#return; {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} is VALID [2022-04-28 09:31:30,624 INFO L290 TraceCheckUtils]: 73: Hoare triple {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} is VALID [2022-04-28 09:31:30,624 INFO L290 TraceCheckUtils]: 74: Hoare triple {5319#(and (<= main_~in~0 2) (< 3 main_~inlen~0))} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {5395#(and (< 3 main_~inlen~0) (<= main_~in~0 3))} is VALID [2022-04-28 09:31:30,624 INFO L272 TraceCheckUtils]: 75: Hoare triple {5395#(and (< 3 main_~inlen~0) (<= main_~in~0 3))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:30,624 INFO L290 TraceCheckUtils]: 76: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:30,624 INFO L290 TraceCheckUtils]: 77: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:30,624 INFO L290 TraceCheckUtils]: 78: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:30,625 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {5101#true} {5395#(and (< 3 main_~inlen~0) (<= main_~in~0 3))} #90#return; {5395#(and (< 3 main_~inlen~0) (<= main_~in~0 3))} is VALID [2022-04-28 09:31:30,625 INFO L272 TraceCheckUtils]: 80: Hoare triple {5395#(and (< 3 main_~inlen~0) (<= main_~in~0 3))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {5414#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:31:30,626 INFO L290 TraceCheckUtils]: 81: Hoare triple {5414#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5418#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:31:30,626 INFO L290 TraceCheckUtils]: 82: Hoare triple {5418#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5102#false} is VALID [2022-04-28 09:31:30,626 INFO L290 TraceCheckUtils]: 83: Hoare triple {5102#false} assume !false; {5102#false} is VALID [2022-04-28 09:31:30,626 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-28 09:31:30,626 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:31:31,036 INFO L290 TraceCheckUtils]: 83: Hoare triple {5102#false} assume !false; {5102#false} is VALID [2022-04-28 09:31:31,037 INFO L290 TraceCheckUtils]: 82: Hoare triple {5418#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5102#false} is VALID [2022-04-28 09:31:31,037 INFO L290 TraceCheckUtils]: 81: Hoare triple {5414#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5418#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:31:31,038 INFO L272 TraceCheckUtils]: 80: Hoare triple {5153#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {5414#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:31:31,038 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {5101#true} {5153#(<= (+ main_~in~0 1) main_~inlen~0)} #90#return; {5153#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2022-04-28 09:31:31,038 INFO L290 TraceCheckUtils]: 78: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:31,038 INFO L290 TraceCheckUtils]: 77: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:31,038 INFO L290 TraceCheckUtils]: 76: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:31,039 INFO L272 TraceCheckUtils]: 75: Hoare triple {5153#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:31,039 INFO L290 TraceCheckUtils]: 74: Hoare triple {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {5153#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2022-04-28 09:31:31,039 INFO L290 TraceCheckUtils]: 73: Hoare triple {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:31,040 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {5101#true} {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} #88#return; {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:31,040 INFO L290 TraceCheckUtils]: 71: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:31,040 INFO L290 TraceCheckUtils]: 70: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:31,040 INFO L290 TraceCheckUtils]: 69: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:31,040 INFO L272 TraceCheckUtils]: 68: Hoare triple {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:31,040 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5101#true} {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} #86#return; {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:31,041 INFO L290 TraceCheckUtils]: 66: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:31,041 INFO L290 TraceCheckUtils]: 65: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:31,041 INFO L290 TraceCheckUtils]: 64: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:31,041 INFO L272 TraceCheckUtils]: 63: Hoare triple {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:31,041 INFO L290 TraceCheckUtils]: 62: Hoare triple {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} assume !(~buf~0 == ~buflim~0); {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:31,041 INFO L290 TraceCheckUtils]: 61: Hoare triple {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} assume !!(0 != #t~nondet3);havoc #t~nondet3; {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:31,042 INFO L290 TraceCheckUtils]: 60: Hoare triple {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:31,042 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {5101#true} {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} #92#return; {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:31,042 INFO L290 TraceCheckUtils]: 58: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:31,042 INFO L290 TraceCheckUtils]: 57: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:31,042 INFO L290 TraceCheckUtils]: 56: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:31,042 INFO L272 TraceCheckUtils]: 55: Hoare triple {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:31,043 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {5101#true} {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} #90#return; {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:31,043 INFO L290 TraceCheckUtils]: 53: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:31,043 INFO L290 TraceCheckUtils]: 52: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:31,043 INFO L290 TraceCheckUtils]: 51: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:31,043 INFO L272 TraceCheckUtils]: 50: Hoare triple {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:31,043 INFO L290 TraceCheckUtils]: 49: Hoare triple {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {5152#(<= (+ 2 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:31,044 INFO L290 TraceCheckUtils]: 48: Hoare triple {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:31,044 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {5101#true} {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} #88#return; {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:31,044 INFO L290 TraceCheckUtils]: 46: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:31,044 INFO L290 TraceCheckUtils]: 45: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:31,044 INFO L290 TraceCheckUtils]: 44: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:31,044 INFO L272 TraceCheckUtils]: 43: Hoare triple {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:31,045 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5101#true} {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} #86#return; {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:31,045 INFO L290 TraceCheckUtils]: 41: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:31,045 INFO L290 TraceCheckUtils]: 40: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:31,045 INFO L290 TraceCheckUtils]: 39: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:31,045 INFO L272 TraceCheckUtils]: 38: Hoare triple {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:31,045 INFO L290 TraceCheckUtils]: 37: Hoare triple {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} assume !(~buf~0 == ~buflim~0); {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:31,046 INFO L290 TraceCheckUtils]: 36: Hoare triple {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} assume !!(0 != #t~nondet3);havoc #t~nondet3; {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:31,046 INFO L290 TraceCheckUtils]: 35: Hoare triple {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:31,046 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {5101#true} {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} #92#return; {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:31,047 INFO L290 TraceCheckUtils]: 33: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:31,047 INFO L290 TraceCheckUtils]: 32: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:31,047 INFO L290 TraceCheckUtils]: 31: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:31,047 INFO L272 TraceCheckUtils]: 30: Hoare triple {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:31,047 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {5101#true} {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} #90#return; {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:31,047 INFO L290 TraceCheckUtils]: 28: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:31,047 INFO L290 TraceCheckUtils]: 27: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:31,047 INFO L290 TraceCheckUtils]: 26: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:31,047 INFO L272 TraceCheckUtils]: 25: Hoare triple {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:31,048 INFO L290 TraceCheckUtils]: 24: Hoare triple {5603#(<= (+ main_~in~0 4) main_~inlen~0)} #t~post5 := ~in~0;~in~0 := 1 + #t~post5;havoc #t~post5; {5527#(<= (+ 3 main_~in~0) main_~inlen~0)} is VALID [2022-04-28 09:31:31,048 INFO L290 TraceCheckUtils]: 23: Hoare triple {5603#(<= (+ main_~in~0 4) main_~inlen~0)} #t~post4 := ~buf~0;~buf~0 := 1 + #t~post4;havoc #t~post4; {5603#(<= (+ main_~in~0 4) main_~inlen~0)} is VALID [2022-04-28 09:31:31,049 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5101#true} {5603#(<= (+ main_~in~0 4) main_~inlen~0)} #88#return; {5603#(<= (+ main_~in~0 4) main_~inlen~0)} is VALID [2022-04-28 09:31:31,049 INFO L290 TraceCheckUtils]: 21: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:31,049 INFO L290 TraceCheckUtils]: 20: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:31,049 INFO L290 TraceCheckUtils]: 19: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:31,049 INFO L272 TraceCheckUtils]: 18: Hoare triple {5603#(<= (+ main_~in~0 4) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:31,049 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5101#true} {5603#(<= (+ main_~in~0 4) main_~inlen~0)} #86#return; {5603#(<= (+ main_~in~0 4) main_~inlen~0)} is VALID [2022-04-28 09:31:31,049 INFO L290 TraceCheckUtils]: 16: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:31,049 INFO L290 TraceCheckUtils]: 15: Hoare triple {5101#true} assume !(0 == ~cond); {5101#true} is VALID [2022-04-28 09:31:31,049 INFO L290 TraceCheckUtils]: 14: Hoare triple {5101#true} ~cond := #in~cond; {5101#true} is VALID [2022-04-28 09:31:31,050 INFO L272 TraceCheckUtils]: 13: Hoare triple {5603#(<= (+ main_~in~0 4) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {5101#true} is VALID [2022-04-28 09:31:31,050 INFO L290 TraceCheckUtils]: 12: Hoare triple {5640#(or (= main_~buf~0 main_~buflim~0) (<= (+ main_~in~0 4) main_~inlen~0))} assume !(~buf~0 == ~buflim~0); {5603#(<= (+ main_~in~0 4) main_~inlen~0)} is VALID [2022-04-28 09:31:31,050 INFO L290 TraceCheckUtils]: 11: Hoare triple {5640#(or (= main_~buf~0 main_~buflim~0) (<= (+ main_~in~0 4) main_~inlen~0))} assume !!(0 != #t~nondet3);havoc #t~nondet3; {5640#(or (= main_~buf~0 main_~buflim~0) (<= (+ main_~in~0 4) main_~inlen~0))} is VALID [2022-04-28 09:31:31,050 INFO L290 TraceCheckUtils]: 10: Hoare triple {5640#(or (= main_~buf~0 main_~buflim~0) (<= (+ main_~in~0 4) main_~inlen~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {5640#(or (= main_~buf~0 main_~buflim~0) (<= (+ main_~in~0 4) main_~inlen~0))} is VALID [2022-04-28 09:31:31,051 INFO L290 TraceCheckUtils]: 9: Hoare triple {5650#(or (<= 4 main_~inlen~0) (= (+ (- 2) main_~bufferlen~0) 0))} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {5640#(or (= main_~buf~0 main_~buflim~0) (<= (+ main_~in~0 4) main_~inlen~0))} is VALID [2022-04-28 09:31:31,051 INFO L290 TraceCheckUtils]: 8: Hoare triple {5183#(< 1 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {5650#(or (<= 4 main_~inlen~0) (= (+ (- 2) main_~bufferlen~0) 0))} is VALID [2022-04-28 09:31:31,051 INFO L290 TraceCheckUtils]: 7: Hoare triple {5183#(< 1 main_~bufferlen~0)} assume ~inlen~0 > 0; {5183#(< 1 main_~bufferlen~0)} is VALID [2022-04-28 09:31:31,056 INFO L290 TraceCheckUtils]: 6: Hoare triple {5101#true} assume ~bufferlen~0 > 1; {5183#(< 1 main_~bufferlen~0)} is VALID [2022-04-28 09:31:31,056 INFO L290 TraceCheckUtils]: 5: Hoare triple {5101#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; {5101#true} is VALID [2022-04-28 09:31:31,056 INFO L272 TraceCheckUtils]: 4: Hoare triple {5101#true} call #t~ret8 := main(); {5101#true} is VALID [2022-04-28 09:31:31,056 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5101#true} {5101#true} #102#return; {5101#true} is VALID [2022-04-28 09:31:31,056 INFO L290 TraceCheckUtils]: 2: Hoare triple {5101#true} assume true; {5101#true} is VALID [2022-04-28 09:31:31,057 INFO L290 TraceCheckUtils]: 1: Hoare triple {5101#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); {5101#true} is VALID [2022-04-28 09:31:31,057 INFO L272 TraceCheckUtils]: 0: Hoare triple {5101#true} call ULTIMATE.init(); {5101#true} is VALID [2022-04-28 09:31:31,057 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-28 09:31:31,057 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [804295927] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:31:31,057 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:31:31,057 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13, 11] total 29 [2022-04-28 09:31:31,057 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:31:31,057 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [216019712] [2022-04-28 09:31:31,058 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [216019712] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:31:31,058 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:31:31,058 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 09:31:31,058 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2029009036] [2022-04-28 09:31:31,058 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:31:31,058 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 5 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) Word has length 84 [2022-04-28 09:31:31,058 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:31:31,059 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 5 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 09:31:31,113 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:31:31,114 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 09:31:31,114 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:31:31,114 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 09:31:31,114 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=117, Invalid=695, Unknown=0, NotChecked=0, Total=812 [2022-04-28 09:31:31,114 INFO L87 Difference]: Start difference. First operand 82 states and 87 transitions. Second operand has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 5 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 09:31:31,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:31,751 INFO L93 Difference]: Finished difference Result 82 states and 87 transitions. [2022-04-28 09:31:31,751 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 09:31:31,751 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 5 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) Word has length 84 [2022-04-28 09:31:31,751 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:31:31,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 5 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 09:31:31,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 39 transitions. [2022-04-28 09:31:31,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 5 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 09:31:31,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 39 transitions. [2022-04-28 09:31:31,753 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 39 transitions. [2022-04-28 09:31:31,798 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:31:31,799 INFO L225 Difference]: With dead ends: 82 [2022-04-28 09:31:31,799 INFO L226 Difference]: Without dead ends: 0 [2022-04-28 09:31:31,800 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 214 GetRequests, 174 SyntacticMatches, 3 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 369 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=202, Invalid=1280, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 09:31:31,800 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 32 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 176 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 57 SdHoareTripleChecker+Invalid, 220 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 44 IncrementalHoareTripleChecker+Valid, 176 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 09:31:31,800 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 57 Invalid, 220 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 176 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 09:31:31,800 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-28 09:31:31,801 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-28 09:31:31,801 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:31:31,801 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-28 09:31:31,801 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-28 09:31:31,801 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-28 09:31:31,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:31,801 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 09:31:31,801 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 09:31:31,801 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:31,801 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:31:31,801 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-28 09:31:31,801 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-28 09:31:31,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:31:31,801 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 09:31:31,801 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 09:31:31,801 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:31,801 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:31:31,802 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:31:31,802 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:31:31,802 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-28 09:31:31,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-28 09:31:31,802 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 84 [2022-04-28 09:31:31,802 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:31:31,802 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-28 09:31:31,802 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 5 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 09:31:31,802 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-28 09:31:31,802 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:31:31,802 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 09:31:31,802 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:31:31,804 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 09:31:31,821 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 09:31:32,011 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-28 09:31:32,013 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-28 09:31:33,053 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 12) no Hoare annotation was computed. [2022-04-28 09:31:33,053 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 12) no Hoare annotation was computed. [2022-04-28 09:31:33,053 INFO L899 garLoopResultBuilder]: For program point L12-1(line 12) no Hoare annotation was computed. [2022-04-28 09:31:33,053 INFO L899 garLoopResultBuilder]: For program point L15(line 15) no Hoare annotation was computed. [2022-04-28 09:31:33,053 INFO L899 garLoopResultBuilder]: For program point assume_abort_if_notENTRY(lines 14 16) no Hoare annotation was computed. [2022-04-28 09:31:33,053 INFO L899 garLoopResultBuilder]: For program point L15-2(lines 14 16) no Hoare annotation was computed. [2022-04-28 09:31:33,053 INFO L899 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 14 16) no Hoare annotation was computed. [2022-04-28 09:31:33,054 INFO L902 garLoopResultBuilder]: At program point L31(line 31) the Hoare annotation is: true [2022-04-28 09:31:33,054 INFO L895 garLoopResultBuilder]: At program point L31-1(lines 25 56) the Hoare annotation is: (<= 2 main_~bufferlen~0) [2022-04-28 09:31:33,054 INFO L902 garLoopResultBuilder]: At program point mainEXIT(lines 24 56) the Hoare annotation is: true [2022-04-28 09:31:33,054 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-28 09:31:33,054 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-28 09:31:33,054 INFO L895 garLoopResultBuilder]: At program point L44(lines 44 45) the Hoare annotation is: (let ((.cse1 (+ 2 main_~buflim~0))) (and (<= (+ main_~buf~0 2) main_~bufferlen~0) (let ((.cse0 (<= 0 main_~buf~0))) (or (and (= main_~in~0 0) .cse0) (and (<= 1 main_~in~0) .cse0))) (<= (+ main_~bufferlen~0 1) main_~inlen~0) (<= main_~bufferlen~0 .cse1) (<= (+ main_~bufferlen~0 2 main_~in~0) (+ main_~buf~0 main_~inlen~0)) (<= .cse1 main_~bufferlen~0))) [2022-04-28 09:31:33,054 INFO L895 garLoopResultBuilder]: At program point L32(lines 25 56) the Hoare annotation is: (<= 2 main_~bufferlen~0) [2022-04-28 09:31:33,054 INFO L902 garLoopResultBuilder]: At program point L53(line 53) the Hoare annotation is: true [2022-04-28 09:31:33,054 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)) (let ((.cse3 (+ 2 main_~buflim~0))) (and .cse0 .cse1 .cse2 (<= 3 main_~inlen~0) (<= main_~bufferlen~0 .cse3) (<= .cse3 main_~bufferlen~0))) (and .cse0 .cse1 .cse2 (<= (+ 2 main_~in~0) main_~inlen~0)))) [2022-04-28 09:31:33,054 INFO L895 garLoopResultBuilder]: At program point L41(line 41) the Hoare annotation is: (let ((.cse4 (+ 2 main_~buflim~0))) (let ((.cse0 (<= (+ main_~buf~0 3) main_~bufferlen~0)) (.cse1 (<= (+ main_~bufferlen~0 1) main_~inlen~0)) (.cse2 (<= main_~bufferlen~0 .cse4)) (.cse3 (<= .cse4 main_~bufferlen~0))) (or (and .cse0 (= main_~in~0 0) (= main_~buf~0 0) .cse1 .cse2 .cse3) (and (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) .cse0 .cse1 (<= 1 main_~in~0) (<= 0 main_~buf~0) .cse2 .cse3)))) [2022-04-28 09:31:33,055 INFO L895 garLoopResultBuilder]: At program point L41-1(line 41) the Hoare annotation is: (let ((.cse4 (+ 2 main_~buflim~0))) (let ((.cse0 (<= (+ main_~buf~0 3) main_~bufferlen~0)) (.cse1 (<= (+ main_~bufferlen~0 1) main_~inlen~0)) (.cse2 (<= main_~bufferlen~0 .cse4)) (.cse3 (<= .cse4 main_~bufferlen~0))) (or (and .cse0 (= main_~in~0 0) (= main_~buf~0 0) .cse1 .cse2 .cse3) (and (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) .cse0 .cse1 (<= 1 main_~in~0) (<= 0 main_~buf~0) .cse2 .cse3)))) [2022-04-28 09:31:33,055 INFO L895 garLoopResultBuilder]: At program point L37-1(lines 37 48) the Hoare annotation is: (let ((.cse3 (+ 2 main_~buflim~0))) (let ((.cse0 (<= (+ main_~bufferlen~0 1) main_~inlen~0)) (.cse1 (<= main_~bufferlen~0 .cse3)) (.cse2 (<= .cse3 main_~bufferlen~0))) (or (and (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= (+ main_~buf~0 2) main_~bufferlen~0) .cse0 (<= 1 main_~in~0) (<= 0 main_~buf~0) .cse1 .cse2) (and (= main_~in~0 0) (= main_~buf~0 0) .cse0 (or (= main_~buf~0 main_~buflim~0) (not (<= main_~buflim~0 0))) .cse1 .cse2)))) [2022-04-28 09:31:33,055 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)) (let ((.cse3 (+ 2 main_~buflim~0))) (and .cse0 .cse1 .cse2 (<= 3 main_~inlen~0) (<= main_~bufferlen~0 .cse3) (<= .cse3 main_~bufferlen~0))) (and .cse0 .cse1 .cse2 (<= (+ 2 main_~in~0) main_~inlen~0)))) [2022-04-28 09:31:33,055 INFO L895 garLoopResultBuilder]: At program point L33(line 33) the Hoare annotation is: (and (<= 2 main_~bufferlen~0) (<= (+ main_~bufferlen~0 1) main_~inlen~0)) [2022-04-28 09:31:33,055 INFO L895 garLoopResultBuilder]: At program point L50(line 50) the Hoare annotation is: (let ((.cse0 (let ((.cse1 (<= 2 main_~bufferlen~0)) (.cse2 (<= 0 main_~buf~0))) (or (and .cse1 (<= 1 main_~in~0) .cse2) (and (= main_~in~0 0) .cse1 .cse2))))) (or (and (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= 3 main_~inlen~0) .cse0) (and (= main_~buf~0 0) .cse0))) [2022-04-28 09:31:33,055 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) (<= (+ main_~bufferlen~0 1) main_~inlen~0) (<= 1 main_~in~0) (<= 0 main_~buf~0) (<= main_~bufferlen~0 .cse0) (<= .cse0 main_~bufferlen~0))) [2022-04-28 09:31:33,055 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) (<= (+ main_~bufferlen~0 1) main_~inlen~0) (<= 1 main_~in~0) (<= 0 main_~buf~0) (<= main_~bufferlen~0 .cse0) (<= .cse0 main_~bufferlen~0))) [2022-04-28 09:31:33,055 INFO L902 garLoopResultBuilder]: At program point mainFINAL(lines 24 56) the Hoare annotation is: true [2022-04-28 09:31:33,055 INFO L895 garLoopResultBuilder]: At program point L42(line 42) 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 3) main_~bufferlen~0) (<= (+ main_~bufferlen~0 1) main_~inlen~0) (<= main_~bufferlen~0 .cse0) (<= .cse0 main_~bufferlen~0) (let ((.cse1 (<= 2 main_~bufferlen~0)) (.cse2 (<= 0 main_~buf~0))) (or (and .cse1 (<= 1 main_~in~0) .cse2) (and (= main_~in~0 0) .cse1 .cse2))))) [2022-04-28 09:31:33,055 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 24 56) the Hoare annotation is: true [2022-04-28 09:31:33,055 INFO L902 garLoopResultBuilder]: At program point L55(lines 25 56) the Hoare annotation is: true [2022-04-28 09:31:33,055 INFO L895 garLoopResultBuilder]: At program point L47(lines 37 48) the Hoare annotation is: (let ((.cse3 (+ 2 main_~buflim~0))) (let ((.cse0 (<= (+ main_~bufferlen~0 1) main_~inlen~0)) (.cse1 (<= main_~bufferlen~0 .cse3)) (.cse2 (<= .cse3 main_~bufferlen~0))) (or (and (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= (+ main_~buf~0 2) main_~bufferlen~0) .cse0 (<= 1 main_~in~0) (<= 0 main_~buf~0) .cse1 .cse2) (and (= main_~in~0 0) (= main_~buf~0 0) .cse0 (or (= main_~buf~0 main_~buflim~0) (not (<= main_~buflim~0 0))) .cse1 .cse2)))) [2022-04-28 09:31:33,055 INFO L895 garLoopResultBuilder]: At program point L39(lines 39 40) the Hoare annotation is: (let ((.cse3 (+ 2 main_~buflim~0))) (let ((.cse0 (<= (+ main_~bufferlen~0 1) main_~inlen~0)) (.cse1 (<= main_~bufferlen~0 .cse3)) (.cse2 (<= .cse3 main_~bufferlen~0))) (or (and (<= (+ main_~bufferlen~0 main_~in~0 1) (+ main_~buf~0 main_~inlen~0)) (<= (+ main_~buf~0 2) main_~bufferlen~0) .cse0 (<= 1 main_~in~0) (<= 0 main_~buf~0) .cse1 .cse2) (and (= main_~in~0 0) (= main_~buf~0 0) .cse0 (or (= main_~buf~0 main_~buflim~0) (not (<= main_~buflim~0 0))) .cse1 .cse2)))) [2022-04-28 09:31:33,056 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-28 09:31:33,056 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-28 09:31:33,056 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-28 09:31:33,056 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-28 09:31:33,056 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-28 09:31:33,056 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-28 09:31:33,056 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-28 09:31:33,056 INFO L895 garLoopResultBuilder]: At program point L18-2(lines 17 22) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (= |__VERIFIER_assert_#in~cond| 0)) [2022-04-28 09:31:33,056 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 17 22) the Hoare annotation is: true [2022-04-28 09:31:33,056 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 17 22) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (= |__VERIFIER_assert_#in~cond| 0)) [2022-04-28 09:31:33,056 INFO L895 garLoopResultBuilder]: At program point L19(line 19) the Hoare annotation is: (= |__VERIFIER_assert_#in~cond| 0) [2022-04-28 09:31:33,056 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 19) the Hoare annotation is: (= |__VERIFIER_assert_#in~cond| 0) [2022-04-28 09:31:33,056 INFO L895 garLoopResultBuilder]: At program point L18(lines 18 20) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (= |__VERIFIER_assert_#in~cond| 0)) [2022-04-28 09:31:33,058 INFO L356 BasicCegarLoop]: Path program histogram: [4, 4, 2, 2, 2, 2, 2, 2] [2022-04-28 09:31:33,060 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 09:31:33,062 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 09:31:33,062 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 09:31:33,066 WARN L170 areAnnotationChecker]: assume_abort_if_notENTRY has no Hoare annotation [2022-04-28 09:31:33,066 WARN L170 areAnnotationChecker]: L12-1 has no Hoare annotation [2022-04-28 09:31:33,067 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-28 09:31:33,067 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-28 09:31:33,067 WARN L170 areAnnotationChecker]: L15-2 has no Hoare annotation [2022-04-28 09:31:33,091 INFO L163 areAnnotationChecker]: CFG has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-28 09:31:33,101 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 09:31:33 BoogieIcfgContainer [2022-04-28 09:31:33,101 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 09:31:33,102 INFO L158 Benchmark]: Toolchain (without parser) took 17938.31ms. Allocated memory was 198.2MB in the beginning and 361.8MB in the end (delta: 163.6MB). Free memory was 149.3MB in the beginning and 294.8MB in the end (delta: -145.5MB). Peak memory consumption was 184.8MB. Max. memory is 8.0GB. [2022-04-28 09:31:33,102 INFO L158 Benchmark]: CDTParser took 0.12ms. Allocated memory is still 198.2MB. Free memory was 165.1MB in the beginning and 165.1MB in the end (delta: 74.5kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 09:31:33,102 INFO L158 Benchmark]: CACSL2BoogieTranslator took 199.14ms. Allocated memory is still 198.2MB. Free memory was 149.1MB in the beginning and 174.6MB in the end (delta: -25.6MB). Peak memory consumption was 9.8MB. Max. memory is 8.0GB. [2022-04-28 09:31:33,102 INFO L158 Benchmark]: Boogie Preprocessor took 38.26ms. Allocated memory is still 198.2MB. Free memory was 174.6MB in the beginning and 173.1MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-28 09:31:33,102 INFO L158 Benchmark]: RCFGBuilder took 358.39ms. Allocated memory is still 198.2MB. Free memory was 172.5MB in the beginning and 159.4MB in the end (delta: 13.2MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. [2022-04-28 09:31:33,103 INFO L158 Benchmark]: TraceAbstraction took 17337.53ms. Allocated memory was 198.2MB in the beginning and 361.8MB in the end (delta: 163.6MB). Free memory was 158.9MB in the beginning and 294.8MB in the end (delta: -135.9MB). Peak memory consumption was 194.9MB. Max. memory is 8.0GB. [2022-04-28 09:31:33,103 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.12ms. Allocated memory is still 198.2MB. Free memory was 165.1MB in the beginning and 165.1MB in the end (delta: 74.5kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 199.14ms. Allocated memory is still 198.2MB. Free memory was 149.1MB in the beginning and 174.6MB in the end (delta: -25.6MB). Peak memory consumption was 9.8MB. Max. memory is 8.0GB. * Boogie Preprocessor took 38.26ms. Allocated memory is still 198.2MB. Free memory was 174.6MB in the beginning and 173.1MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 358.39ms. Allocated memory is still 198.2MB. Free memory was 172.5MB in the beginning and 159.4MB in the end (delta: 13.2MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. * TraceAbstraction took 17337.53ms. Allocated memory was 198.2MB in the beginning and 361.8MB in the end (delta: 163.6MB). Free memory was 158.9MB in the beginning and 294.8MB in the end (delta: -135.9MB). Peak memory consumption was 194.9MB. 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: 17.2s, OverallIterations: 10, TraceHistogramMax: 12, PathProgramHistogramMax: 4, EmptinessCheckTime: 0.0s, AutomataDifference: 6.9s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 1.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 552 SdHoareTripleChecker+Valid, 2.2s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 544 mSDsluCounter, 545 SdHoareTripleChecker+Invalid, 2.2s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 251 mSDsCounter, 608 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1814 IncrementalHoareTripleChecker+Invalid, 2422 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 608 mSolverCounterUnsat, 294 mSDtfsCounter, 1814 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 815 GetRequests, 630 SyntacticMatches, 13 SemanticMatches, 172 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1064 ImplicationChecksByTransitivity, 1.4s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=87occurred in iteration=8, InterpolantAutomatonStates: 94, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.7s AutomataMinimizationTime, 10 MinimizatonAttempts, 21 StatesRemovedByMinimization, 6 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 36 LocationsWithAnnotation, 246 PreInvPairs, 369 NumberOfFragments, 766 HoareAnnotationTreeSize, 246 FomulaSimplifications, 628 FormulaSimplificationTreeSizeReduction, 0.3s HoareSimplificationTime, 36 FomulaSimplificationsInter, 3967 FormulaSimplificationTreeSizeReductionInter, 0.7s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, 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: ((((((bufferlen + in + 1 <= buf + inlen && buf + 2 <= bufferlen) && bufferlen + 1 <= inlen) && 1 <= in) && 0 <= buf) && bufferlen <= 2 + buflim) && 2 + buflim <= bufferlen) || (((((in == 0 && buf == 0) && bufferlen + 1 <= inlen) && (buf == buflim || !(buflim <= 0))) && bufferlen <= 2 + buflim) && 2 + buflim <= bufferlen) - ProcedureContractResult [Line: 24]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 17]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || \old(cond) == 0 RESULT: Ultimate proved your program to be correct! [2022-04-28 09:31:33,130 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...