/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/loop-invgen/sendmail-close-angle.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-267fbe0 [2020-07-17 22:51:45,020 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-17 22:51:45,023 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-17 22:51:45,037 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-17 22:51:45,037 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-17 22:51:45,039 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-17 22:51:45,040 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-17 22:51:45,042 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-17 22:51:45,044 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-17 22:51:45,045 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-17 22:51:45,046 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-17 22:51:45,047 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-17 22:51:45,047 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-17 22:51:45,048 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-17 22:51:45,050 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-17 22:51:45,051 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-17 22:51:45,052 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-17 22:51:45,053 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-17 22:51:45,055 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-17 22:51:45,057 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-17 22:51:45,059 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-17 22:51:45,060 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-17 22:51:45,061 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-17 22:51:45,062 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-17 22:51:45,064 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-17 22:51:45,065 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-17 22:51:45,065 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-17 22:51:45,066 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-17 22:51:45,067 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-17 22:51:45,068 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-17 22:51:45,068 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-17 22:51:45,069 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-17 22:51:45,069 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-17 22:51:45,070 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-17 22:51:45,071 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-17 22:51:45,072 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-17 22:51:45,072 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-17 22:51:45,072 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-17 22:51:45,073 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-17 22:51:45,074 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-17 22:51:45,075 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-17 22:51:45,076 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2020-07-17 22:51:45,091 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-17 22:51:45,092 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-17 22:51:45,093 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-17 22:51:45,093 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-17 22:51:45,093 INFO L138 SettingsManager]: * Use SBE=true [2020-07-17 22:51:45,094 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-17 22:51:45,094 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-17 22:51:45,094 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-17 22:51:45,094 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-17 22:51:45,094 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-17 22:51:45,094 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-17 22:51:45,095 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-17 22:51:45,095 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-17 22:51:45,095 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-17 22:51:45,095 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-17 22:51:45,096 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-17 22:51:45,096 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-17 22:51:45,096 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-17 22:51:45,096 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-17 22:51:45,097 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-17 22:51:45,097 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-17 22:51:45,097 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-17 22:51:45,097 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-17 22:51:45,097 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-17 22:51:45,098 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-17 22:51:45,098 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-17 22:51:45,098 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-17 22:51:45,098 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-17 22:51:45,098 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-17 22:51:45,099 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-17 22:51:45,440 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-17 22:51:45,453 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-17 22:51:45,458 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-17 22:51:45,460 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-17 22:51:45,460 INFO L275 PluginConnector]: CDTParser initialized [2020-07-17 22:51:45,462 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loop-invgen/sendmail-close-angle.i [2020-07-17 22:51:45,557 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3c1600d52/ece56b23d1c647ab9750e9b689c2c08f/FLAGc0b70f3a3 [2020-07-17 22:51:46,109 INFO L306 CDTParser]: Found 1 translation units. [2020-07-17 22:51:46,110 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loop-invgen/sendmail-close-angle.i [2020-07-17 22:51:46,118 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3c1600d52/ece56b23d1c647ab9750e9b689c2c08f/FLAGc0b70f3a3 [2020-07-17 22:51:46,496 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3c1600d52/ece56b23d1c647ab9750e9b689c2c08f [2020-07-17 22:51:46,510 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-17 22:51:46,514 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-17 22:51:46,516 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-17 22:51:46,517 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-17 22:51:46,521 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-17 22:51:46,524 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.07 10:51:46" (1/1) ... [2020-07-17 22:51:46,528 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@779759fd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:51:46, skipping insertion in model container [2020-07-17 22:51:46,529 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.07 10:51:46" (1/1) ... [2020-07-17 22:51:46,538 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-17 22:51:46,561 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-17 22:51:46,748 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-17 22:51:46,753 INFO L203 MainTranslator]: Completed pre-run [2020-07-17 22:51:46,775 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-17 22:51:46,792 INFO L208 MainTranslator]: Completed translation [2020-07-17 22:51:46,793 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:51:46 WrapperNode [2020-07-17 22:51:46,793 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-17 22:51:46,794 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-17 22:51:46,794 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-17 22:51:46,794 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-17 22:51:46,805 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:51:46" (1/1) ... [2020-07-17 22:51:46,805 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:51:46" (1/1) ... [2020-07-17 22:51:46,902 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:51:46" (1/1) ... [2020-07-17 22:51:46,902 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:51:46" (1/1) ... [2020-07-17 22:51:46,909 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:51:46" (1/1) ... [2020-07-17 22:51:46,915 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:51:46" (1/1) ... [2020-07-17 22:51:46,917 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:51:46" (1/1) ... [2020-07-17 22:51:46,918 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-17 22:51:46,919 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-17 22:51:46,919 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-17 22:51:46,919 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-17 22:51:46,920 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:51:46" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-17 22:51:47,002 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-17 22:51:47,002 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-17 22:51:47,002 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2020-07-17 22:51:47,002 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2020-07-17 22:51:47,002 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-17 22:51:47,002 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-17 22:51:47,003 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-17 22:51:47,003 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2020-07-17 22:51:47,003 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2020-07-17 22:51:47,003 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-17 22:51:47,003 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-17 22:51:47,003 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-17 22:51:47,004 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-17 22:51:47,412 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-17 22:51:47,413 INFO L295 CfgBuilder]: Removed 1 assume(true) statements. [2020-07-17 22:51:47,417 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.07 10:51:47 BoogieIcfgContainer [2020-07-17 22:51:47,417 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-17 22:51:47,419 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-17 22:51:47,419 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-17 22:51:47,425 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-17 22:51:47,426 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 17.07 10:51:46" (1/3) ... [2020-07-17 22:51:47,427 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4cc787e9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.07 10:51:47, skipping insertion in model container [2020-07-17 22:51:47,427 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:51:46" (2/3) ... [2020-07-17 22:51:47,427 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4cc787e9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.07 10:51:47, skipping insertion in model container [2020-07-17 22:51:47,428 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.07 10:51:47" (3/3) ... [2020-07-17 22:51:47,430 INFO L109 eAbstractionObserver]: Analyzing ICFG sendmail-close-angle.i [2020-07-17 22:51:47,442 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-17 22:51:47,450 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-17 22:51:47,468 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-17 22:51:47,496 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-17 22:51:47,496 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-17 22:51:47,496 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-17 22:51:47,496 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-17 22:51:47,497 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-17 22:51:47,497 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-17 22:51:47,497 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-17 22:51:47,497 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-17 22:51:47,520 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states. [2020-07-17 22:51:47,526 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2020-07-17 22:51:47,526 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:51:47,527 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:51:47,528 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:51:47,534 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:51:47,534 INFO L82 PathProgramCache]: Analyzing trace with hash 160437665, now seen corresponding path program 1 times [2020-07-17 22:51:47,545 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:51:47,546 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [693540093] [2020-07-17 22:51:47,546 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:51:47,637 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:47,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:47,705 INFO L280 TraceCheckUtils]: 0: Hoare triple {38#true} assume true; {38#true} is VALID [2020-07-17 22:51:47,705 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {38#true} {38#true} #78#return; {38#true} is VALID [2020-07-17 22:51:47,707 INFO L263 TraceCheckUtils]: 0: Hoare triple {38#true} call ULTIMATE.init(); {38#true} is VALID [2020-07-17 22:51:47,708 INFO L280 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2020-07-17 22:51:47,708 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #78#return; {38#true} is VALID [2020-07-17 22:51:47,709 INFO L263 TraceCheckUtils]: 3: Hoare triple {38#true} call #t~ret7 := main(); {38#true} is VALID [2020-07-17 22:51:47,709 INFO L280 TraceCheckUtils]: 4: Hoare triple {38#true} havoc ~in~0;assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~inlen~0 := #t~nondet0;havoc #t~nondet0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~bufferlen~0 := #t~nondet1;havoc #t~nondet1;havoc ~buf~0;havoc ~buflim~0; {38#true} is VALID [2020-07-17 22:51:47,710 INFO L280 TraceCheckUtils]: 5: Hoare triple {38#true} assume ~bufferlen~0 > 1; {38#true} is VALID [2020-07-17 22:51:47,710 INFO L280 TraceCheckUtils]: 6: Hoare triple {38#true} assume ~inlen~0 > 0; {38#true} is VALID [2020-07-17 22:51:47,711 INFO L280 TraceCheckUtils]: 7: Hoare triple {38#true} assume ~bufferlen~0 < ~inlen~0; {38#true} is VALID [2020-07-17 22:51:47,711 INFO L280 TraceCheckUtils]: 8: Hoare triple {38#true} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {38#true} is VALID [2020-07-17 22:51:47,712 INFO L280 TraceCheckUtils]: 9: Hoare triple {38#true} assume !true; {39#false} is VALID [2020-07-17 22:51:47,713 INFO L263 TraceCheckUtils]: 10: Hoare triple {39#false} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {39#false} is VALID [2020-07-17 22:51:47,713 INFO L280 TraceCheckUtils]: 11: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2020-07-17 22:51:47,714 INFO L280 TraceCheckUtils]: 12: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2020-07-17 22:51:47,714 INFO L280 TraceCheckUtils]: 13: Hoare triple {39#false} assume !false; {39#false} is VALID [2020-07-17 22:51:47,715 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:51:47,716 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [693540093] [2020-07-17 22:51:47,717 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:51:47,717 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2020-07-17 22:51:47,718 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1024863084] [2020-07-17 22:51:47,724 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 14 [2020-07-17 22:51:47,727 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:51:47,731 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2020-07-17 22:51:47,806 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:51:47,806 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2020-07-17 22:51:47,807 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:51:47,816 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2020-07-17 22:51:47,817 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2020-07-17 22:51:47,820 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 2 states. [2020-07-17 22:51:47,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:47,957 INFO L93 Difference]: Finished difference Result 61 states and 92 transitions. [2020-07-17 22:51:47,957 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2020-07-17 22:51:47,957 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 14 [2020-07-17 22:51:47,958 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:51:47,959 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2020-07-17 22:51:47,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 92 transitions. [2020-07-17 22:51:47,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2020-07-17 22:51:47,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 92 transitions. [2020-07-17 22:51:47,983 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 92 transitions. [2020-07-17 22:51:48,167 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:51:48,183 INFO L225 Difference]: With dead ends: 61 [2020-07-17 22:51:48,183 INFO L226 Difference]: Without dead ends: 29 [2020-07-17 22:51:48,188 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2020-07-17 22:51:48,212 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2020-07-17 22:51:48,240 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2020-07-17 22:51:48,240 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:51:48,241 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 29 states. [2020-07-17 22:51:48,242 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 29 states. [2020-07-17 22:51:48,242 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 29 states. [2020-07-17 22:51:48,249 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:48,250 INFO L93 Difference]: Finished difference Result 29 states and 37 transitions. [2020-07-17 22:51:48,250 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 37 transitions. [2020-07-17 22:51:48,251 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:51:48,252 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:51:48,252 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 29 states. [2020-07-17 22:51:48,252 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 29 states. [2020-07-17 22:51:48,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:48,259 INFO L93 Difference]: Finished difference Result 29 states and 37 transitions. [2020-07-17 22:51:48,259 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 37 transitions. [2020-07-17 22:51:48,260 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:51:48,261 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:51:48,261 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:51:48,261 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:51:48,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2020-07-17 22:51:48,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 37 transitions. [2020-07-17 22:51:48,268 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 37 transitions. Word has length 14 [2020-07-17 22:51:48,269 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:51:48,269 INFO L479 AbstractCegarLoop]: Abstraction has 29 states and 37 transitions. [2020-07-17 22:51:48,269 INFO L480 AbstractCegarLoop]: Interpolant automaton has 2 states. [2020-07-17 22:51:48,270 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 37 transitions. [2020-07-17 22:51:48,271 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2020-07-17 22:51:48,271 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:51:48,271 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:51:48,272 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-17 22:51:48,272 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:51:48,273 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:51:48,273 INFO L82 PathProgramCache]: Analyzing trace with hash 89152719, now seen corresponding path program 1 times [2020-07-17 22:51:48,273 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:51:48,274 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [308104408] [2020-07-17 22:51:48,274 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:51:48,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:48,407 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:48,451 INFO L280 TraceCheckUtils]: 0: Hoare triple {232#true} assume true; {232#true} is VALID [2020-07-17 22:51:48,452 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {232#true} {232#true} #78#return; {232#true} is VALID [2020-07-17 22:51:48,452 INFO L263 TraceCheckUtils]: 0: Hoare triple {232#true} call ULTIMATE.init(); {232#true} is VALID [2020-07-17 22:51:48,453 INFO L280 TraceCheckUtils]: 1: Hoare triple {232#true} assume true; {232#true} is VALID [2020-07-17 22:51:48,453 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {232#true} {232#true} #78#return; {232#true} is VALID [2020-07-17 22:51:48,453 INFO L263 TraceCheckUtils]: 3: Hoare triple {232#true} call #t~ret7 := main(); {232#true} is VALID [2020-07-17 22:51:48,454 INFO L280 TraceCheckUtils]: 4: Hoare triple {232#true} havoc ~in~0;assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~inlen~0 := #t~nondet0;havoc #t~nondet0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~bufferlen~0 := #t~nondet1;havoc #t~nondet1;havoc ~buf~0;havoc ~buflim~0; {232#true} is VALID [2020-07-17 22:51:48,454 INFO L280 TraceCheckUtils]: 5: Hoare triple {232#true} assume ~bufferlen~0 > 1; {232#true} is VALID [2020-07-17 22:51:48,455 INFO L280 TraceCheckUtils]: 6: Hoare triple {232#true} assume ~inlen~0 > 0; {232#true} is VALID [2020-07-17 22:51:48,455 INFO L280 TraceCheckUtils]: 7: Hoare triple {232#true} assume ~bufferlen~0 < ~inlen~0; {232#true} is VALID [2020-07-17 22:51:48,459 INFO L280 TraceCheckUtils]: 8: Hoare triple {232#true} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {236#(<= 0 main_~buf~0)} is VALID [2020-07-17 22:51:48,461 INFO L280 TraceCheckUtils]: 9: Hoare triple {236#(<= 0 main_~buf~0)} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {236#(<= 0 main_~buf~0)} is VALID [2020-07-17 22:51:48,463 INFO L280 TraceCheckUtils]: 10: Hoare triple {236#(<= 0 main_~buf~0)} assume !(0 != #t~nondet2);havoc #t~nondet2; {236#(<= 0 main_~buf~0)} is VALID [2020-07-17 22:51:48,467 INFO L263 TraceCheckUtils]: 11: Hoare triple {236#(<= 0 main_~buf~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {237#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:51:48,469 INFO L280 TraceCheckUtils]: 12: Hoare triple {237#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {238#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-17 22:51:48,470 INFO L280 TraceCheckUtils]: 13: Hoare triple {238#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {233#false} is VALID [2020-07-17 22:51:48,471 INFO L280 TraceCheckUtils]: 14: Hoare triple {233#false} assume !false; {233#false} is VALID [2020-07-17 22:51:48,473 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:51:48,474 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [308104408] [2020-07-17 22:51:48,474 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:51:48,478 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-17 22:51:48,478 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1773060259] [2020-07-17 22:51:48,482 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 15 [2020-07-17 22:51:48,482 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:51:48,482 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-17 22:51:48,528 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:51:48,528 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-17 22:51:48,529 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:51:48,529 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-17 22:51:48,529 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-17 22:51:48,530 INFO L87 Difference]: Start difference. First operand 29 states and 37 transitions. Second operand 5 states. [2020-07-17 22:51:48,826 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:48,826 INFO L93 Difference]: Finished difference Result 35 states and 42 transitions. [2020-07-17 22:51:48,826 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-17 22:51:48,827 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 15 [2020-07-17 22:51:48,827 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:51:48,827 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-17 22:51:48,830 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 42 transitions. [2020-07-17 22:51:48,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-17 22:51:48,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 42 transitions. [2020-07-17 22:51:48,834 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 42 transitions. [2020-07-17 22:51:48,922 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:51:48,925 INFO L225 Difference]: With dead ends: 35 [2020-07-17 22:51:48,925 INFO L226 Difference]: Without dead ends: 33 [2020-07-17 22:51:48,927 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2020-07-17 22:51:48,929 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2020-07-17 22:51:48,963 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2020-07-17 22:51:48,964 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:51:48,964 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand 33 states. [2020-07-17 22:51:48,965 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 33 states. [2020-07-17 22:51:48,965 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 33 states. [2020-07-17 22:51:48,971 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:48,972 INFO L93 Difference]: Finished difference Result 33 states and 40 transitions. [2020-07-17 22:51:48,972 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 40 transitions. [2020-07-17 22:51:48,975 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:51:48,976 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:51:48,976 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 33 states. [2020-07-17 22:51:48,976 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 33 states. [2020-07-17 22:51:48,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:48,989 INFO L93 Difference]: Finished difference Result 33 states and 40 transitions. [2020-07-17 22:51:48,989 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 40 transitions. [2020-07-17 22:51:48,991 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:51:48,992 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:51:48,992 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:51:48,994 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:51:48,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2020-07-17 22:51:49,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 40 transitions. [2020-07-17 22:51:49,003 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 40 transitions. Word has length 15 [2020-07-17 22:51:49,004 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:51:49,004 INFO L479 AbstractCegarLoop]: Abstraction has 33 states and 40 transitions. [2020-07-17 22:51:49,004 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-17 22:51:49,004 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 40 transitions. [2020-07-17 22:51:49,006 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2020-07-17 22:51:49,006 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:51:49,006 INFO L422 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:51:49,007 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-17 22:51:49,009 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:51:49,009 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:51:49,010 INFO L82 PathProgramCache]: Analyzing trace with hash 1105875316, now seen corresponding path program 1 times [2020-07-17 22:51:49,011 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:51:49,011 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [870075350] [2020-07-17 22:51:49,011 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:51:49,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:49,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:49,197 INFO L280 TraceCheckUtils]: 0: Hoare triple {407#true} assume true; {407#true} is VALID [2020-07-17 22:51:49,198 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {407#true} {407#true} #78#return; {407#true} is VALID [2020-07-17 22:51:49,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:49,208 INFO L280 TraceCheckUtils]: 0: Hoare triple {407#true} ~cond := #in~cond; {407#true} is VALID [2020-07-17 22:51:49,209 INFO L280 TraceCheckUtils]: 1: Hoare triple {407#true} assume !(0 == ~cond); {407#true} is VALID [2020-07-17 22:51:49,209 INFO L280 TraceCheckUtils]: 2: Hoare triple {407#true} assume true; {407#true} is VALID [2020-07-17 22:51:49,210 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {407#true} {412#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #90#return; {412#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:49,211 INFO L263 TraceCheckUtils]: 0: Hoare triple {407#true} call ULTIMATE.init(); {407#true} is VALID [2020-07-17 22:51:49,211 INFO L280 TraceCheckUtils]: 1: Hoare triple {407#true} assume true; {407#true} is VALID [2020-07-17 22:51:49,212 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {407#true} {407#true} #78#return; {407#true} is VALID [2020-07-17 22:51:49,212 INFO L263 TraceCheckUtils]: 3: Hoare triple {407#true} call #t~ret7 := main(); {407#true} is VALID [2020-07-17 22:51:49,212 INFO L280 TraceCheckUtils]: 4: Hoare triple {407#true} havoc ~in~0;assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~inlen~0 := #t~nondet0;havoc #t~nondet0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~bufferlen~0 := #t~nondet1;havoc #t~nondet1;havoc ~buf~0;havoc ~buflim~0; {407#true} is VALID [2020-07-17 22:51:49,214 INFO L280 TraceCheckUtils]: 5: Hoare triple {407#true} assume ~bufferlen~0 > 1; {411#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:49,215 INFO L280 TraceCheckUtils]: 6: Hoare triple {411#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {411#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:49,216 INFO L280 TraceCheckUtils]: 7: Hoare triple {411#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {411#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:49,218 INFO L280 TraceCheckUtils]: 8: Hoare triple {411#(<= 2 main_~bufferlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {412#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:49,220 INFO L280 TraceCheckUtils]: 9: Hoare triple {412#(<= (+ main_~buf~0 2) main_~bufferlen~0)} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {412#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:49,221 INFO L280 TraceCheckUtils]: 10: Hoare triple {412#(<= (+ main_~buf~0 2) main_~bufferlen~0)} assume !(0 != #t~nondet2);havoc #t~nondet2; {412#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:49,221 INFO L263 TraceCheckUtils]: 11: Hoare triple {412#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {407#true} is VALID [2020-07-17 22:51:49,221 INFO L280 TraceCheckUtils]: 12: Hoare triple {407#true} ~cond := #in~cond; {407#true} is VALID [2020-07-17 22:51:49,222 INFO L280 TraceCheckUtils]: 13: Hoare triple {407#true} assume !(0 == ~cond); {407#true} is VALID [2020-07-17 22:51:49,222 INFO L280 TraceCheckUtils]: 14: Hoare triple {407#true} assume true; {407#true} is VALID [2020-07-17 22:51:49,223 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {407#true} {412#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #90#return; {412#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:49,225 INFO L263 TraceCheckUtils]: 16: Hoare triple {412#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {417#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:51:49,226 INFO L280 TraceCheckUtils]: 17: Hoare triple {417#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {418#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-17 22:51:49,227 INFO L280 TraceCheckUtils]: 18: Hoare triple {418#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {408#false} is VALID [2020-07-17 22:51:49,227 INFO L280 TraceCheckUtils]: 19: Hoare triple {408#false} assume !false; {408#false} is VALID [2020-07-17 22:51:49,229 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:51:49,229 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [870075350] [2020-07-17 22:51:49,230 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:51:49,230 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-17 22:51:49,230 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1618884448] [2020-07-17 22:51:49,231 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 20 [2020-07-17 22:51:49,231 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:51:49,231 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-17 22:51:49,257 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:51:49,257 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-17 22:51:49,257 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:51:49,258 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-17 22:51:49,258 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2020-07-17 22:51:49,258 INFO L87 Difference]: Start difference. First operand 33 states and 40 transitions. Second operand 6 states. [2020-07-17 22:51:49,717 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:49,718 INFO L93 Difference]: Finished difference Result 48 states and 60 transitions. [2020-07-17 22:51:49,718 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-17 22:51:49,718 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 20 [2020-07-17 22:51:49,719 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:51:49,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:51:49,723 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 57 transitions. [2020-07-17 22:51:49,723 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:51:49,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 57 transitions. [2020-07-17 22:51:49,727 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 57 transitions. [2020-07-17 22:51:49,848 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:51:49,851 INFO L225 Difference]: With dead ends: 48 [2020-07-17 22:51:49,855 INFO L226 Difference]: Without dead ends: 46 [2020-07-17 22:51:49,856 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2020-07-17 22:51:49,860 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2020-07-17 22:51:49,917 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 44. [2020-07-17 22:51:49,919 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:51:49,920 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 44 states. [2020-07-17 22:51:49,920 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 44 states. [2020-07-17 22:51:49,920 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 44 states. [2020-07-17 22:51:49,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:49,927 INFO L93 Difference]: Finished difference Result 46 states and 58 transitions. [2020-07-17 22:51:49,932 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 58 transitions. [2020-07-17 22:51:49,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:51:49,934 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:51:49,934 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 46 states. [2020-07-17 22:51:49,934 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 46 states. [2020-07-17 22:51:49,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:49,940 INFO L93 Difference]: Finished difference Result 46 states and 58 transitions. [2020-07-17 22:51:49,940 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 58 transitions. [2020-07-17 22:51:49,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:51:49,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:51:49,942 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:51:49,942 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:51:49,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 44 states. [2020-07-17 22:51:49,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 56 transitions. [2020-07-17 22:51:49,946 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 56 transitions. Word has length 20 [2020-07-17 22:51:49,947 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:51:49,947 INFO L479 AbstractCegarLoop]: Abstraction has 44 states and 56 transitions. [2020-07-17 22:51:49,947 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-17 22:51:49,947 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 56 transitions. [2020-07-17 22:51:49,948 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2020-07-17 22:51:49,948 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:51:49,948 INFO L422 BasicCegarLoop]: 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] [2020-07-17 22:51:49,949 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-17 22:51:49,949 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:51:49,949 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:51:49,950 INFO L82 PathProgramCache]: Analyzing trace with hash 726428669, now seen corresponding path program 1 times [2020-07-17 22:51:49,950 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:51:49,950 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1740247670] [2020-07-17 22:51:49,950 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:51:49,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:50,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:50,030 INFO L280 TraceCheckUtils]: 0: Hoare triple {651#true} assume true; {651#true} is VALID [2020-07-17 22:51:50,031 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {651#true} {651#true} #78#return; {651#true} is VALID [2020-07-17 22:51:50,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:50,039 INFO L280 TraceCheckUtils]: 0: Hoare triple {651#true} ~cond := #in~cond; {651#true} is VALID [2020-07-17 22:51:50,040 INFO L280 TraceCheckUtils]: 1: Hoare triple {651#true} assume !(0 == ~cond); {651#true} is VALID [2020-07-17 22:51:50,040 INFO L280 TraceCheckUtils]: 2: Hoare triple {651#true} assume true; {651#true} is VALID [2020-07-17 22:51:50,041 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {651#true} {655#(<= 0 main_~in~0)} #82#return; {655#(<= 0 main_~in~0)} is VALID [2020-07-17 22:51:50,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:50,049 INFO L280 TraceCheckUtils]: 0: Hoare triple {651#true} ~cond := #in~cond; {651#true} is VALID [2020-07-17 22:51:50,050 INFO L280 TraceCheckUtils]: 1: Hoare triple {651#true} assume !(0 == ~cond); {651#true} is VALID [2020-07-17 22:51:50,050 INFO L280 TraceCheckUtils]: 2: Hoare triple {651#true} assume true; {651#true} is VALID [2020-07-17 22:51:50,051 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {651#true} {655#(<= 0 main_~in~0)} #84#return; {655#(<= 0 main_~in~0)} is VALID [2020-07-17 22:51:50,052 INFO L263 TraceCheckUtils]: 0: Hoare triple {651#true} call ULTIMATE.init(); {651#true} is VALID [2020-07-17 22:51:50,052 INFO L280 TraceCheckUtils]: 1: Hoare triple {651#true} assume true; {651#true} is VALID [2020-07-17 22:51:50,052 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {651#true} {651#true} #78#return; {651#true} is VALID [2020-07-17 22:51:50,053 INFO L263 TraceCheckUtils]: 3: Hoare triple {651#true} call #t~ret7 := main(); {651#true} is VALID [2020-07-17 22:51:50,053 INFO L280 TraceCheckUtils]: 4: Hoare triple {651#true} havoc ~in~0;assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~inlen~0 := #t~nondet0;havoc #t~nondet0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~bufferlen~0 := #t~nondet1;havoc #t~nondet1;havoc ~buf~0;havoc ~buflim~0; {651#true} is VALID [2020-07-17 22:51:50,053 INFO L280 TraceCheckUtils]: 5: Hoare triple {651#true} assume ~bufferlen~0 > 1; {651#true} is VALID [2020-07-17 22:51:50,054 INFO L280 TraceCheckUtils]: 6: Hoare triple {651#true} assume ~inlen~0 > 0; {651#true} is VALID [2020-07-17 22:51:50,054 INFO L280 TraceCheckUtils]: 7: Hoare triple {651#true} assume ~bufferlen~0 < ~inlen~0; {651#true} is VALID [2020-07-17 22:51:50,055 INFO L280 TraceCheckUtils]: 8: Hoare triple {651#true} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {655#(<= 0 main_~in~0)} is VALID [2020-07-17 22:51:50,056 INFO L280 TraceCheckUtils]: 9: Hoare triple {655#(<= 0 main_~in~0)} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {655#(<= 0 main_~in~0)} is VALID [2020-07-17 22:51:50,057 INFO L280 TraceCheckUtils]: 10: Hoare triple {655#(<= 0 main_~in~0)} assume !!(0 != #t~nondet2);havoc #t~nondet2; {655#(<= 0 main_~in~0)} is VALID [2020-07-17 22:51:50,058 INFO L280 TraceCheckUtils]: 11: Hoare triple {655#(<= 0 main_~in~0)} assume !(~buf~0 == ~buflim~0); {655#(<= 0 main_~in~0)} is VALID [2020-07-17 22:51:50,058 INFO L263 TraceCheckUtils]: 12: Hoare triple {655#(<= 0 main_~in~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {651#true} is VALID [2020-07-17 22:51:50,058 INFO L280 TraceCheckUtils]: 13: Hoare triple {651#true} ~cond := #in~cond; {651#true} is VALID [2020-07-17 22:51:50,059 INFO L280 TraceCheckUtils]: 14: Hoare triple {651#true} assume !(0 == ~cond); {651#true} is VALID [2020-07-17 22:51:50,059 INFO L280 TraceCheckUtils]: 15: Hoare triple {651#true} assume true; {651#true} is VALID [2020-07-17 22:51:50,060 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {651#true} {655#(<= 0 main_~in~0)} #82#return; {655#(<= 0 main_~in~0)} is VALID [2020-07-17 22:51:50,061 INFO L263 TraceCheckUtils]: 17: Hoare triple {655#(<= 0 main_~in~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {651#true} is VALID [2020-07-17 22:51:50,061 INFO L280 TraceCheckUtils]: 18: Hoare triple {651#true} ~cond := #in~cond; {651#true} is VALID [2020-07-17 22:51:50,061 INFO L280 TraceCheckUtils]: 19: Hoare triple {651#true} assume !(0 == ~cond); {651#true} is VALID [2020-07-17 22:51:50,062 INFO L280 TraceCheckUtils]: 20: Hoare triple {651#true} assume true; {651#true} is VALID [2020-07-17 22:51:50,063 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {651#true} {655#(<= 0 main_~in~0)} #84#return; {655#(<= 0 main_~in~0)} is VALID [2020-07-17 22:51:50,064 INFO L280 TraceCheckUtils]: 22: Hoare triple {655#(<= 0 main_~in~0)} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {655#(<= 0 main_~in~0)} is VALID [2020-07-17 22:51:50,065 INFO L280 TraceCheckUtils]: 23: Hoare triple {655#(<= 0 main_~in~0)} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {664#(<= 1 main_~in~0)} is VALID [2020-07-17 22:51:50,066 INFO L263 TraceCheckUtils]: 24: Hoare triple {664#(<= 1 main_~in~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {665#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:51:50,067 INFO L280 TraceCheckUtils]: 25: Hoare triple {665#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {666#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-17 22:51:50,068 INFO L280 TraceCheckUtils]: 26: Hoare triple {666#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {652#false} is VALID [2020-07-17 22:51:50,069 INFO L280 TraceCheckUtils]: 27: Hoare triple {652#false} assume !false; {652#false} is VALID [2020-07-17 22:51:50,070 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-17 22:51:50,070 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1740247670] [2020-07-17 22:51:50,071 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:51:50,071 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-17 22:51:50,071 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [459038547] [2020-07-17 22:51:50,072 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 28 [2020-07-17 22:51:50,072 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:51:50,073 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-17 22:51:50,104 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:51:50,105 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-17 22:51:50,105 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:51:50,105 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-17 22:51:50,106 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2020-07-17 22:51:50,106 INFO L87 Difference]: Start difference. First operand 44 states and 56 transitions. Second operand 6 states. [2020-07-17 22:51:50,513 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:50,513 INFO L93 Difference]: Finished difference Result 55 states and 67 transitions. [2020-07-17 22:51:50,514 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-17 22:51:50,514 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 28 [2020-07-17 22:51:50,514 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:51:50,514 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:51:50,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 61 transitions. [2020-07-17 22:51:50,518 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:51:50,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 61 transitions. [2020-07-17 22:51:50,521 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 61 transitions. [2020-07-17 22:51:50,613 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:51:50,616 INFO L225 Difference]: With dead ends: 55 [2020-07-17 22:51:50,616 INFO L226 Difference]: Without dead ends: 53 [2020-07-17 22:51:50,617 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2020-07-17 22:51:50,618 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2020-07-17 22:51:50,687 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 48. [2020-07-17 22:51:50,688 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:51:50,688 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand 48 states. [2020-07-17 22:51:50,688 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 48 states. [2020-07-17 22:51:50,688 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 48 states. [2020-07-17 22:51:50,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:50,695 INFO L93 Difference]: Finished difference Result 53 states and 65 transitions. [2020-07-17 22:51:50,695 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 65 transitions. [2020-07-17 22:51:50,696 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:51:50,696 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:51:50,696 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 53 states. [2020-07-17 22:51:50,696 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 53 states. [2020-07-17 22:51:50,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:50,705 INFO L93 Difference]: Finished difference Result 53 states and 65 transitions. [2020-07-17 22:51:50,705 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 65 transitions. [2020-07-17 22:51:50,705 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:51:50,710 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:51:50,710 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:51:50,710 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:51:50,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2020-07-17 22:51:50,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 59 transitions. [2020-07-17 22:51:50,718 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 59 transitions. Word has length 28 [2020-07-17 22:51:50,719 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:51:50,719 INFO L479 AbstractCegarLoop]: Abstraction has 48 states and 59 transitions. [2020-07-17 22:51:50,719 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-17 22:51:50,719 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2020-07-17 22:51:50,720 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2020-07-17 22:51:50,720 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:51:50,721 INFO L422 BasicCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:51:50,721 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-17 22:51:50,722 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:51:50,722 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:51:50,722 INFO L82 PathProgramCache]: Analyzing trace with hash 239914697, now seen corresponding path program 1 times [2020-07-17 22:51:50,722 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:51:50,723 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [550077194] [2020-07-17 22:51:50,723 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:51:50,767 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:50,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:50,887 INFO L280 TraceCheckUtils]: 0: Hoare triple {926#true} assume true; {926#true} is VALID [2020-07-17 22:51:50,888 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {926#true} {926#true} #78#return; {926#true} is VALID [2020-07-17 22:51:50,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:50,899 INFO L280 TraceCheckUtils]: 0: Hoare triple {926#true} ~cond := #in~cond; {926#true} is VALID [2020-07-17 22:51:50,899 INFO L280 TraceCheckUtils]: 1: Hoare triple {926#true} assume !(0 == ~cond); {926#true} is VALID [2020-07-17 22:51:50,899 INFO L280 TraceCheckUtils]: 2: Hoare triple {926#true} assume true; {926#true} is VALID [2020-07-17 22:51:50,900 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {926#true} {931#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #90#return; {931#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:50,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:50,913 INFO L280 TraceCheckUtils]: 0: Hoare triple {926#true} ~cond := #in~cond; {926#true} is VALID [2020-07-17 22:51:50,913 INFO L280 TraceCheckUtils]: 1: Hoare triple {926#true} assume !(0 == ~cond); {926#true} is VALID [2020-07-17 22:51:50,914 INFO L280 TraceCheckUtils]: 2: Hoare triple {926#true} assume true; {926#true} is VALID [2020-07-17 22:51:50,915 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {926#true} {931#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #92#return; {931#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:50,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:50,925 INFO L280 TraceCheckUtils]: 0: Hoare triple {926#true} ~cond := #in~cond; {926#true} is VALID [2020-07-17 22:51:50,926 INFO L280 TraceCheckUtils]: 1: Hoare triple {926#true} assume !(0 == ~cond); {926#true} is VALID [2020-07-17 22:51:50,926 INFO L280 TraceCheckUtils]: 2: Hoare triple {926#true} assume true; {926#true} is VALID [2020-07-17 22:51:50,927 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {926#true} {940#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #94#return; {940#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2020-07-17 22:51:50,928 INFO L263 TraceCheckUtils]: 0: Hoare triple {926#true} call ULTIMATE.init(); {926#true} is VALID [2020-07-17 22:51:50,928 INFO L280 TraceCheckUtils]: 1: Hoare triple {926#true} assume true; {926#true} is VALID [2020-07-17 22:51:50,928 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {926#true} {926#true} #78#return; {926#true} is VALID [2020-07-17 22:51:50,929 INFO L263 TraceCheckUtils]: 3: Hoare triple {926#true} call #t~ret7 := main(); {926#true} is VALID [2020-07-17 22:51:50,929 INFO L280 TraceCheckUtils]: 4: Hoare triple {926#true} havoc ~in~0;assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~inlen~0 := #t~nondet0;havoc #t~nondet0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~bufferlen~0 := #t~nondet1;havoc #t~nondet1;havoc ~buf~0;havoc ~buflim~0; {926#true} is VALID [2020-07-17 22:51:50,930 INFO L280 TraceCheckUtils]: 5: Hoare triple {926#true} assume ~bufferlen~0 > 1; {930#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:50,931 INFO L280 TraceCheckUtils]: 6: Hoare triple {930#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {930#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:50,931 INFO L280 TraceCheckUtils]: 7: Hoare triple {930#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {930#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:50,932 INFO L280 TraceCheckUtils]: 8: Hoare triple {930#(<= 2 main_~bufferlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {931#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:50,933 INFO L280 TraceCheckUtils]: 9: Hoare triple {931#(<= (+ main_~buf~0 2) main_~bufferlen~0)} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {931#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:50,934 INFO L280 TraceCheckUtils]: 10: Hoare triple {931#(<= (+ main_~buf~0 2) main_~bufferlen~0)} assume !(0 != #t~nondet2);havoc #t~nondet2; {931#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:50,934 INFO L263 TraceCheckUtils]: 11: Hoare triple {931#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {926#true} is VALID [2020-07-17 22:51:50,934 INFO L280 TraceCheckUtils]: 12: Hoare triple {926#true} ~cond := #in~cond; {926#true} is VALID [2020-07-17 22:51:50,935 INFO L280 TraceCheckUtils]: 13: Hoare triple {926#true} assume !(0 == ~cond); {926#true} is VALID [2020-07-17 22:51:50,935 INFO L280 TraceCheckUtils]: 14: Hoare triple {926#true} assume true; {926#true} is VALID [2020-07-17 22:51:50,936 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {926#true} {931#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #90#return; {931#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:50,937 INFO L263 TraceCheckUtils]: 16: Hoare triple {931#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {926#true} is VALID [2020-07-17 22:51:50,937 INFO L280 TraceCheckUtils]: 17: Hoare triple {926#true} ~cond := #in~cond; {926#true} is VALID [2020-07-17 22:51:50,937 INFO L280 TraceCheckUtils]: 18: Hoare triple {926#true} assume !(0 == ~cond); {926#true} is VALID [2020-07-17 22:51:50,938 INFO L280 TraceCheckUtils]: 19: Hoare triple {926#true} assume true; {926#true} is VALID [2020-07-17 22:51:50,939 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {926#true} {931#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #92#return; {931#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:50,940 INFO L280 TraceCheckUtils]: 21: Hoare triple {931#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #t~post5 := ~buf~0;~buf~0 := 1 + #t~post5;havoc #t~post5; {940#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2020-07-17 22:51:50,941 INFO L263 TraceCheckUtils]: 22: Hoare triple {940#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {926#true} is VALID [2020-07-17 22:51:50,941 INFO L280 TraceCheckUtils]: 23: Hoare triple {926#true} ~cond := #in~cond; {926#true} is VALID [2020-07-17 22:51:50,941 INFO L280 TraceCheckUtils]: 24: Hoare triple {926#true} assume !(0 == ~cond); {926#true} is VALID [2020-07-17 22:51:50,941 INFO L280 TraceCheckUtils]: 25: Hoare triple {926#true} assume true; {926#true} is VALID [2020-07-17 22:51:50,942 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {926#true} {940#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #94#return; {940#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2020-07-17 22:51:50,944 INFO L263 TraceCheckUtils]: 27: Hoare triple {940#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {945#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:51:50,958 INFO L280 TraceCheckUtils]: 28: Hoare triple {945#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {946#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-17 22:51:50,960 INFO L280 TraceCheckUtils]: 29: Hoare triple {946#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {927#false} is VALID [2020-07-17 22:51:50,960 INFO L280 TraceCheckUtils]: 30: Hoare triple {927#false} assume !false; {927#false} is VALID [2020-07-17 22:51:50,962 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2020-07-17 22:51:50,963 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [550077194] [2020-07-17 22:51:50,963 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:51:50,963 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-17 22:51:50,963 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2114451268] [2020-07-17 22:51:50,964 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 31 [2020-07-17 22:51:50,964 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:51:50,964 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-17 22:51:50,995 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:51:50,995 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-17 22:51:50,996 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:51:50,996 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-17 22:51:50,996 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2020-07-17 22:51:50,997 INFO L87 Difference]: Start difference. First operand 48 states and 59 transitions. Second operand 7 states. [2020-07-17 22:51:51,601 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:51,601 INFO L93 Difference]: Finished difference Result 70 states and 89 transitions. [2020-07-17 22:51:51,601 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-17 22:51:51,601 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 31 [2020-07-17 22:51:51,602 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:51:51,602 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-17 22:51:51,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 80 transitions. [2020-07-17 22:51:51,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-17 22:51:51,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 80 transitions. [2020-07-17 22:51:51,608 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 80 transitions. [2020-07-17 22:51:51,734 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:51:51,738 INFO L225 Difference]: With dead ends: 70 [2020-07-17 22:51:51,739 INFO L226 Difference]: Without dead ends: 63 [2020-07-17 22:51:51,740 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2020-07-17 22:51:51,740 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2020-07-17 22:51:51,805 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 61. [2020-07-17 22:51:51,806 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:51:51,806 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand 61 states. [2020-07-17 22:51:51,806 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 61 states. [2020-07-17 22:51:51,806 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 61 states. [2020-07-17 22:51:51,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:51,811 INFO L93 Difference]: Finished difference Result 63 states and 77 transitions. [2020-07-17 22:51:51,811 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2020-07-17 22:51:51,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:51:51,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:51:51,814 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 63 states. [2020-07-17 22:51:51,814 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 63 states. [2020-07-17 22:51:51,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:51,819 INFO L93 Difference]: Finished difference Result 63 states and 77 transitions. [2020-07-17 22:51:51,820 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2020-07-17 22:51:51,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:51:51,820 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:51:51,821 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:51:51,821 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:51:51,821 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2020-07-17 22:51:51,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 75 transitions. [2020-07-17 22:51:51,826 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 75 transitions. Word has length 31 [2020-07-17 22:51:51,826 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:51:51,826 INFO L479 AbstractCegarLoop]: Abstraction has 61 states and 75 transitions. [2020-07-17 22:51:51,826 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-17 22:51:51,827 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 75 transitions. [2020-07-17 22:51:51,827 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2020-07-17 22:51:51,827 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:51:51,829 INFO L422 BasicCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:51:51,829 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-17 22:51:51,829 INFO L427 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:51:51,830 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:51:51,830 INFO L82 PathProgramCache]: Analyzing trace with hash 1617190790, now seen corresponding path program 1 times [2020-07-17 22:51:51,831 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:51:51,832 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [645091149] [2020-07-17 22:51:51,832 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:51:51,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:51,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:51,999 INFO L280 TraceCheckUtils]: 0: Hoare triple {1272#true} assume true; {1272#true} is VALID [2020-07-17 22:51:52,000 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {1272#true} {1272#true} #78#return; {1272#true} is VALID [2020-07-17 22:51:52,003 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:52,012 INFO L280 TraceCheckUtils]: 0: Hoare triple {1272#true} ~cond := #in~cond; {1272#true} is VALID [2020-07-17 22:51:52,012 INFO L280 TraceCheckUtils]: 1: Hoare triple {1272#true} assume !(0 == ~cond); {1272#true} is VALID [2020-07-17 22:51:52,013 INFO L280 TraceCheckUtils]: 2: Hoare triple {1272#true} assume true; {1272#true} is VALID [2020-07-17 22:51:52,013 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1272#true} {1278#(<= (+ main_~in~0 3) main_~inlen~0)} #82#return; {1278#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:52,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:52,022 INFO L280 TraceCheckUtils]: 0: Hoare triple {1272#true} ~cond := #in~cond; {1272#true} is VALID [2020-07-17 22:51:52,023 INFO L280 TraceCheckUtils]: 1: Hoare triple {1272#true} assume !(0 == ~cond); {1272#true} is VALID [2020-07-17 22:51:52,023 INFO L280 TraceCheckUtils]: 2: Hoare triple {1272#true} assume true; {1272#true} is VALID [2020-07-17 22:51:52,025 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1272#true} {1278#(<= (+ main_~in~0 3) main_~inlen~0)} #84#return; {1278#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:52,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:52,032 INFO L280 TraceCheckUtils]: 0: Hoare triple {1272#true} ~cond := #in~cond; {1272#true} is VALID [2020-07-17 22:51:52,033 INFO L280 TraceCheckUtils]: 1: Hoare triple {1272#true} assume !(0 == ~cond); {1272#true} is VALID [2020-07-17 22:51:52,033 INFO L280 TraceCheckUtils]: 2: Hoare triple {1272#true} assume true; {1272#true} is VALID [2020-07-17 22:51:52,034 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1272#true} {1287#(<= (+ main_~in~0 2) main_~inlen~0)} #86#return; {1287#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:52,034 INFO L263 TraceCheckUtils]: 0: Hoare triple {1272#true} call ULTIMATE.init(); {1272#true} is VALID [2020-07-17 22:51:52,034 INFO L280 TraceCheckUtils]: 1: Hoare triple {1272#true} assume true; {1272#true} is VALID [2020-07-17 22:51:52,035 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1272#true} {1272#true} #78#return; {1272#true} is VALID [2020-07-17 22:51:52,035 INFO L263 TraceCheckUtils]: 3: Hoare triple {1272#true} call #t~ret7 := main(); {1272#true} is VALID [2020-07-17 22:51:52,035 INFO L280 TraceCheckUtils]: 4: Hoare triple {1272#true} havoc ~in~0;assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~inlen~0 := #t~nondet0;havoc #t~nondet0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~bufferlen~0 := #t~nondet1;havoc #t~nondet1;havoc ~buf~0;havoc ~buflim~0; {1272#true} is VALID [2020-07-17 22:51:52,036 INFO L280 TraceCheckUtils]: 5: Hoare triple {1272#true} assume ~bufferlen~0 > 1; {1276#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:52,038 INFO L280 TraceCheckUtils]: 6: Hoare triple {1276#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {1276#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:52,041 INFO L280 TraceCheckUtils]: 7: Hoare triple {1276#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {1277#(<= 3 main_~inlen~0)} is VALID [2020-07-17 22:51:52,042 INFO L280 TraceCheckUtils]: 8: Hoare triple {1277#(<= 3 main_~inlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {1278#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:52,043 INFO L280 TraceCheckUtils]: 9: Hoare triple {1278#(<= (+ main_~in~0 3) main_~inlen~0)} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {1278#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:52,043 INFO L280 TraceCheckUtils]: 10: Hoare triple {1278#(<= (+ main_~in~0 3) main_~inlen~0)} assume !!(0 != #t~nondet2);havoc #t~nondet2; {1278#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:52,044 INFO L280 TraceCheckUtils]: 11: Hoare triple {1278#(<= (+ main_~in~0 3) main_~inlen~0)} assume !(~buf~0 == ~buflim~0); {1278#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:52,044 INFO L263 TraceCheckUtils]: 12: Hoare triple {1278#(<= (+ main_~in~0 3) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {1272#true} is VALID [2020-07-17 22:51:52,045 INFO L280 TraceCheckUtils]: 13: Hoare triple {1272#true} ~cond := #in~cond; {1272#true} is VALID [2020-07-17 22:51:52,045 INFO L280 TraceCheckUtils]: 14: Hoare triple {1272#true} assume !(0 == ~cond); {1272#true} is VALID [2020-07-17 22:51:52,045 INFO L280 TraceCheckUtils]: 15: Hoare triple {1272#true} assume true; {1272#true} is VALID [2020-07-17 22:51:52,046 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1272#true} {1278#(<= (+ main_~in~0 3) main_~inlen~0)} #82#return; {1278#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:52,046 INFO L263 TraceCheckUtils]: 17: Hoare triple {1278#(<= (+ main_~in~0 3) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {1272#true} is VALID [2020-07-17 22:51:52,047 INFO L280 TraceCheckUtils]: 18: Hoare triple {1272#true} ~cond := #in~cond; {1272#true} is VALID [2020-07-17 22:51:52,047 INFO L280 TraceCheckUtils]: 19: Hoare triple {1272#true} assume !(0 == ~cond); {1272#true} is VALID [2020-07-17 22:51:52,047 INFO L280 TraceCheckUtils]: 20: Hoare triple {1272#true} assume true; {1272#true} is VALID [2020-07-17 22:51:52,048 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {1272#true} {1278#(<= (+ main_~in~0 3) main_~inlen~0)} #84#return; {1278#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:52,049 INFO L280 TraceCheckUtils]: 22: Hoare triple {1278#(<= (+ main_~in~0 3) main_~inlen~0)} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {1278#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:52,050 INFO L280 TraceCheckUtils]: 23: Hoare triple {1278#(<= (+ main_~in~0 3) main_~inlen~0)} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {1287#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:52,050 INFO L263 TraceCheckUtils]: 24: Hoare triple {1287#(<= (+ main_~in~0 2) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {1272#true} is VALID [2020-07-17 22:51:52,051 INFO L280 TraceCheckUtils]: 25: Hoare triple {1272#true} ~cond := #in~cond; {1272#true} is VALID [2020-07-17 22:51:52,051 INFO L280 TraceCheckUtils]: 26: Hoare triple {1272#true} assume !(0 == ~cond); {1272#true} is VALID [2020-07-17 22:51:52,051 INFO L280 TraceCheckUtils]: 27: Hoare triple {1272#true} assume true; {1272#true} is VALID [2020-07-17 22:51:52,053 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {1272#true} {1287#(<= (+ main_~in~0 2) main_~inlen~0)} #86#return; {1287#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:52,054 INFO L263 TraceCheckUtils]: 29: Hoare triple {1287#(<= (+ main_~in~0 2) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {1292#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:51:52,055 INFO L280 TraceCheckUtils]: 30: Hoare triple {1292#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {1293#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-17 22:51:52,056 INFO L280 TraceCheckUtils]: 31: Hoare triple {1293#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {1273#false} is VALID [2020-07-17 22:51:52,056 INFO L280 TraceCheckUtils]: 32: Hoare triple {1273#false} assume !false; {1273#false} is VALID [2020-07-17 22:51:52,058 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2020-07-17 22:51:52,058 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [645091149] [2020-07-17 22:51:52,058 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:51:52,059 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2020-07-17 22:51:52,059 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [685046593] [2020-07-17 22:51:52,060 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 33 [2020-07-17 22:51:52,060 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:51:52,060 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-17 22:51:52,092 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:51:52,093 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-17 22:51:52,093 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:51:52,093 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-17 22:51:52,094 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2020-07-17 22:51:52,094 INFO L87 Difference]: Start difference. First operand 61 states and 75 transitions. Second operand 8 states. [2020-07-17 22:51:52,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:52,730 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2020-07-17 22:51:52,730 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-17 22:51:52,730 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 33 [2020-07-17 22:51:52,731 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:51:52,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-17 22:51:52,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 74 transitions. [2020-07-17 22:51:52,734 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-17 22:51:52,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 74 transitions. [2020-07-17 22:51:52,736 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 74 transitions. [2020-07-17 22:51:52,851 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:51:52,853 INFO L225 Difference]: With dead ends: 72 [2020-07-17 22:51:52,854 INFO L226 Difference]: Without dead ends: 70 [2020-07-17 22:51:52,855 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2020-07-17 22:51:52,856 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2020-07-17 22:51:52,943 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 65. [2020-07-17 22:51:52,943 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:51:52,943 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand 65 states. [2020-07-17 22:51:52,944 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 65 states. [2020-07-17 22:51:52,944 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 65 states. [2020-07-17 22:51:52,948 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:52,948 INFO L93 Difference]: Finished difference Result 70 states and 84 transitions. [2020-07-17 22:51:52,949 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 84 transitions. [2020-07-17 22:51:52,949 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:51:52,950 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:51:52,950 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 70 states. [2020-07-17 22:51:52,950 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 70 states. [2020-07-17 22:51:52,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:52,954 INFO L93 Difference]: Finished difference Result 70 states and 84 transitions. [2020-07-17 22:51:52,955 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 84 transitions. [2020-07-17 22:51:52,955 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:51:52,956 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:51:52,956 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:51:52,956 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:51:52,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 65 states. [2020-07-17 22:51:52,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 78 transitions. [2020-07-17 22:51:52,960 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 78 transitions. Word has length 33 [2020-07-17 22:51:52,960 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:51:52,960 INFO L479 AbstractCegarLoop]: Abstraction has 65 states and 78 transitions. [2020-07-17 22:51:52,960 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-17 22:51:52,961 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 78 transitions. [2020-07-17 22:51:52,962 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2020-07-17 22:51:52,962 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:51:52,962 INFO L422 BasicCegarLoop]: trace histogram [8, 7, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:51:52,963 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-17 22:51:52,963 INFO L427 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:51:52,963 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:51:52,963 INFO L82 PathProgramCache]: Analyzing trace with hash 260855770, now seen corresponding path program 1 times [2020-07-17 22:51:52,964 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:51:52,964 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [862485594] [2020-07-17 22:51:52,964 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:51:52,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:53,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:53,185 INFO L280 TraceCheckUtils]: 0: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:53,186 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {1641#true} {1641#true} #78#return; {1641#true} is VALID [2020-07-17 22:51:53,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:53,198 INFO L280 TraceCheckUtils]: 0: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:53,198 INFO L280 TraceCheckUtils]: 1: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:53,199 INFO L280 TraceCheckUtils]: 2: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:53,200 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1641#true} {1647#(<= (+ main_~buf~0 3) main_~bufferlen~0)} #82#return; {1647#(<= (+ main_~buf~0 3) main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,202 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:53,211 INFO L280 TraceCheckUtils]: 0: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:53,211 INFO L280 TraceCheckUtils]: 1: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:53,211 INFO L280 TraceCheckUtils]: 2: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:53,213 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1641#true} {1647#(<= (+ main_~buf~0 3) main_~bufferlen~0)} #84#return; {1647#(<= (+ main_~buf~0 3) main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,215 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:53,221 INFO L280 TraceCheckUtils]: 0: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:53,221 INFO L280 TraceCheckUtils]: 1: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:53,221 INFO L280 TraceCheckUtils]: 2: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:53,223 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1641#true} {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #86#return; {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,225 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:53,229 INFO L280 TraceCheckUtils]: 0: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:53,230 INFO L280 TraceCheckUtils]: 1: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:53,230 INFO L280 TraceCheckUtils]: 2: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:53,231 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1641#true} {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #88#return; {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:53,239 INFO L280 TraceCheckUtils]: 0: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:53,240 INFO L280 TraceCheckUtils]: 1: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:53,240 INFO L280 TraceCheckUtils]: 2: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:53,242 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1641#true} {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #90#return; {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,244 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:53,251 INFO L280 TraceCheckUtils]: 0: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:53,252 INFO L280 TraceCheckUtils]: 1: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:53,252 INFO L280 TraceCheckUtils]: 2: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:53,254 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1641#true} {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #92#return; {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,258 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:53,262 INFO L280 TraceCheckUtils]: 0: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:53,263 INFO L280 TraceCheckUtils]: 1: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:53,263 INFO L280 TraceCheckUtils]: 2: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:53,265 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1641#true} {1673#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #94#return; {1673#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,265 INFO L263 TraceCheckUtils]: 0: Hoare triple {1641#true} call ULTIMATE.init(); {1641#true} is VALID [2020-07-17 22:51:53,266 INFO L280 TraceCheckUtils]: 1: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:53,266 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1641#true} {1641#true} #78#return; {1641#true} is VALID [2020-07-17 22:51:53,266 INFO L263 TraceCheckUtils]: 3: Hoare triple {1641#true} call #t~ret7 := main(); {1641#true} is VALID [2020-07-17 22:51:53,267 INFO L280 TraceCheckUtils]: 4: Hoare triple {1641#true} havoc ~in~0;assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~inlen~0 := #t~nondet0;havoc #t~nondet0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~bufferlen~0 := #t~nondet1;havoc #t~nondet1;havoc ~buf~0;havoc ~buflim~0; {1641#true} is VALID [2020-07-17 22:51:53,268 INFO L280 TraceCheckUtils]: 5: Hoare triple {1641#true} assume ~bufferlen~0 > 1; {1645#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,269 INFO L280 TraceCheckUtils]: 6: Hoare triple {1645#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {1645#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,270 INFO L280 TraceCheckUtils]: 7: Hoare triple {1645#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {1645#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,272 INFO L280 TraceCheckUtils]: 8: Hoare triple {1645#(<= 2 main_~bufferlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {1646#(and (or (< main_~buflim~0 (+ main_~buf~0 1)) (<= (+ main_~buflim~0 2) main_~bufferlen~0)) (<= main_~buf~0 main_~buflim~0))} is VALID [2020-07-17 22:51:53,274 INFO L280 TraceCheckUtils]: 9: Hoare triple {1646#(and (or (< main_~buflim~0 (+ main_~buf~0 1)) (<= (+ main_~buflim~0 2) main_~bufferlen~0)) (<= main_~buf~0 main_~buflim~0))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {1646#(and (or (< main_~buflim~0 (+ main_~buf~0 1)) (<= (+ main_~buflim~0 2) main_~bufferlen~0)) (<= main_~buf~0 main_~buflim~0))} is VALID [2020-07-17 22:51:53,275 INFO L280 TraceCheckUtils]: 10: Hoare triple {1646#(and (or (< main_~buflim~0 (+ main_~buf~0 1)) (<= (+ main_~buflim~0 2) main_~bufferlen~0)) (<= main_~buf~0 main_~buflim~0))} assume !!(0 != #t~nondet2);havoc #t~nondet2; {1646#(and (or (< main_~buflim~0 (+ main_~buf~0 1)) (<= (+ main_~buflim~0 2) main_~bufferlen~0)) (<= main_~buf~0 main_~buflim~0))} is VALID [2020-07-17 22:51:53,277 INFO L280 TraceCheckUtils]: 11: Hoare triple {1646#(and (or (< main_~buflim~0 (+ main_~buf~0 1)) (<= (+ main_~buflim~0 2) main_~bufferlen~0)) (<= main_~buf~0 main_~buflim~0))} assume !(~buf~0 == ~buflim~0); {1647#(<= (+ main_~buf~0 3) main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,277 INFO L263 TraceCheckUtils]: 12: Hoare triple {1647#(<= (+ main_~buf~0 3) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {1641#true} is VALID [2020-07-17 22:51:53,278 INFO L280 TraceCheckUtils]: 13: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:53,278 INFO L280 TraceCheckUtils]: 14: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:53,279 INFO L280 TraceCheckUtils]: 15: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:53,280 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1641#true} {1647#(<= (+ main_~buf~0 3) main_~bufferlen~0)} #82#return; {1647#(<= (+ main_~buf~0 3) main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,280 INFO L263 TraceCheckUtils]: 17: Hoare triple {1647#(<= (+ main_~buf~0 3) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {1641#true} is VALID [2020-07-17 22:51:53,281 INFO L280 TraceCheckUtils]: 18: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:53,281 INFO L280 TraceCheckUtils]: 19: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:53,282 INFO L280 TraceCheckUtils]: 20: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:53,283 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {1641#true} {1647#(<= (+ main_~buf~0 3) main_~bufferlen~0)} #84#return; {1647#(<= (+ main_~buf~0 3) main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,284 INFO L280 TraceCheckUtils]: 22: Hoare triple {1647#(<= (+ main_~buf~0 3) main_~bufferlen~0)} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,286 INFO L280 TraceCheckUtils]: 23: Hoare triple {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,286 INFO L263 TraceCheckUtils]: 24: Hoare triple {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {1641#true} is VALID [2020-07-17 22:51:53,286 INFO L280 TraceCheckUtils]: 25: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:53,287 INFO L280 TraceCheckUtils]: 26: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:53,287 INFO L280 TraceCheckUtils]: 27: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:53,288 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {1641#true} {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #86#return; {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,289 INFO L263 TraceCheckUtils]: 29: Hoare triple {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {1641#true} is VALID [2020-07-17 22:51:53,289 INFO L280 TraceCheckUtils]: 30: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:53,289 INFO L280 TraceCheckUtils]: 31: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:53,290 INFO L280 TraceCheckUtils]: 32: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:53,291 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {1641#true} {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #88#return; {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,292 INFO L280 TraceCheckUtils]: 34: Hoare triple {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,292 INFO L280 TraceCheckUtils]: 35: Hoare triple {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} assume !(0 != #t~nondet2);havoc #t~nondet2; {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,293 INFO L263 TraceCheckUtils]: 36: Hoare triple {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {1641#true} is VALID [2020-07-17 22:51:53,293 INFO L280 TraceCheckUtils]: 37: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:53,293 INFO L280 TraceCheckUtils]: 38: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:53,294 INFO L280 TraceCheckUtils]: 39: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:53,295 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {1641#true} {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #90#return; {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,295 INFO L263 TraceCheckUtils]: 41: Hoare triple {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {1641#true} is VALID [2020-07-17 22:51:53,295 INFO L280 TraceCheckUtils]: 42: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:53,295 INFO L280 TraceCheckUtils]: 43: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:53,296 INFO L280 TraceCheckUtils]: 44: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:53,296 INFO L275 TraceCheckUtils]: 45: Hoare quadruple {1641#true} {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #92#return; {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,298 INFO L280 TraceCheckUtils]: 46: Hoare triple {1656#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #t~post5 := ~buf~0;~buf~0 := 1 + #t~post5;havoc #t~post5; {1673#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,298 INFO L263 TraceCheckUtils]: 47: Hoare triple {1673#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {1641#true} is VALID [2020-07-17 22:51:53,298 INFO L280 TraceCheckUtils]: 48: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:53,299 INFO L280 TraceCheckUtils]: 49: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:53,299 INFO L280 TraceCheckUtils]: 50: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:53,300 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {1641#true} {1673#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #94#return; {1673#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2020-07-17 22:51:53,302 INFO L263 TraceCheckUtils]: 52: Hoare triple {1673#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {1678#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:51:53,303 INFO L280 TraceCheckUtils]: 53: Hoare triple {1678#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {1679#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-17 22:51:53,304 INFO L280 TraceCheckUtils]: 54: Hoare triple {1679#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {1642#false} is VALID [2020-07-17 22:51:53,304 INFO L280 TraceCheckUtils]: 55: Hoare triple {1642#false} assume !false; {1642#false} is VALID [2020-07-17 22:51:53,314 INFO L134 CoverageAnalysis]: Checked inductivity of 100 backedges. 14 proven. 2 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2020-07-17 22:51:53,315 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [862485594] [2020-07-17 22:51:53,315 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1357759741] [2020-07-17 22:51:53,315 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:51:53,387 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:53,390 INFO L264 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 10 conjunts are in the unsatisfiable core [2020-07-17 22:51:53,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:53,435 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:51:54,337 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-17 22:51:54,420 INFO L263 TraceCheckUtils]: 0: Hoare triple {1641#true} call ULTIMATE.init(); {1641#true} is VALID [2020-07-17 22:51:54,421 INFO L280 TraceCheckUtils]: 1: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:54,421 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1641#true} {1641#true} #78#return; {1641#true} is VALID [2020-07-17 22:51:54,421 INFO L263 TraceCheckUtils]: 3: Hoare triple {1641#true} call #t~ret7 := main(); {1641#true} is VALID [2020-07-17 22:51:54,422 INFO L280 TraceCheckUtils]: 4: Hoare triple {1641#true} havoc ~in~0;assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~inlen~0 := #t~nondet0;havoc #t~nondet0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~bufferlen~0 := #t~nondet1;havoc #t~nondet1;havoc ~buf~0;havoc ~buflim~0; {1641#true} is VALID [2020-07-17 22:51:54,423 INFO L280 TraceCheckUtils]: 5: Hoare triple {1641#true} assume ~bufferlen~0 > 1; {1645#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:54,424 INFO L280 TraceCheckUtils]: 6: Hoare triple {1645#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {1645#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:54,424 INFO L280 TraceCheckUtils]: 7: Hoare triple {1645#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {1645#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:54,425 INFO L280 TraceCheckUtils]: 8: Hoare triple {1645#(<= 2 main_~bufferlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {1707#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (= main_~bufferlen~0 (+ main_~buflim~0 2)))} is VALID [2020-07-17 22:51:54,426 INFO L280 TraceCheckUtils]: 9: Hoare triple {1707#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (= main_~bufferlen~0 (+ main_~buflim~0 2)))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {1707#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (= main_~bufferlen~0 (+ main_~buflim~0 2)))} is VALID [2020-07-17 22:51:54,427 INFO L280 TraceCheckUtils]: 10: Hoare triple {1707#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (= main_~bufferlen~0 (+ main_~buflim~0 2)))} assume !!(0 != #t~nondet2);havoc #t~nondet2; {1707#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (= main_~bufferlen~0 (+ main_~buflim~0 2)))} is VALID [2020-07-17 22:51:54,428 INFO L280 TraceCheckUtils]: 11: Hoare triple {1707#(and (<= 2 main_~bufferlen~0) (<= main_~buf~0 0) (= main_~bufferlen~0 (+ main_~buflim~0 2)))} assume !(~buf~0 == ~buflim~0); {1717#(and (<= 2 main_~bufferlen~0) (not (= main_~bufferlen~0 (+ main_~buf~0 2))) (<= main_~buf~0 0))} is VALID [2020-07-17 22:51:54,428 INFO L263 TraceCheckUtils]: 12: Hoare triple {1717#(and (<= 2 main_~bufferlen~0) (not (= main_~bufferlen~0 (+ main_~buf~0 2))) (<= main_~buf~0 0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {1641#true} is VALID [2020-07-17 22:51:54,428 INFO L280 TraceCheckUtils]: 13: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:54,428 INFO L280 TraceCheckUtils]: 14: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:54,429 INFO L280 TraceCheckUtils]: 15: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:54,430 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1641#true} {1717#(and (<= 2 main_~bufferlen~0) (not (= main_~bufferlen~0 (+ main_~buf~0 2))) (<= main_~buf~0 0))} #82#return; {1717#(and (<= 2 main_~bufferlen~0) (not (= main_~bufferlen~0 (+ main_~buf~0 2))) (<= main_~buf~0 0))} is VALID [2020-07-17 22:51:54,430 INFO L263 TraceCheckUtils]: 17: Hoare triple {1717#(and (<= 2 main_~bufferlen~0) (not (= main_~bufferlen~0 (+ main_~buf~0 2))) (<= main_~buf~0 0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {1641#true} is VALID [2020-07-17 22:51:54,430 INFO L280 TraceCheckUtils]: 18: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:54,430 INFO L280 TraceCheckUtils]: 19: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:54,430 INFO L280 TraceCheckUtils]: 20: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:54,431 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {1641#true} {1717#(and (<= 2 main_~bufferlen~0) (not (= main_~bufferlen~0 (+ main_~buf~0 2))) (<= main_~buf~0 0))} #84#return; {1717#(and (<= 2 main_~bufferlen~0) (not (= main_~bufferlen~0 (+ main_~buf~0 2))) (<= main_~buf~0 0))} is VALID [2020-07-17 22:51:54,432 INFO L280 TraceCheckUtils]: 22: Hoare triple {1717#(and (<= 2 main_~bufferlen~0) (not (= main_~bufferlen~0 (+ main_~buf~0 2))) (<= main_~buf~0 0))} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {1751#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~buf~0 1))} is VALID [2020-07-17 22:51:54,433 INFO L280 TraceCheckUtils]: 23: Hoare triple {1751#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~buf~0 1))} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {1751#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~buf~0 1))} is VALID [2020-07-17 22:51:54,433 INFO L263 TraceCheckUtils]: 24: Hoare triple {1751#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~buf~0 1))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {1641#true} is VALID [2020-07-17 22:51:54,433 INFO L280 TraceCheckUtils]: 25: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:54,433 INFO L280 TraceCheckUtils]: 26: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:54,434 INFO L280 TraceCheckUtils]: 27: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:54,436 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {1641#true} {1751#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~buf~0 1))} #86#return; {1751#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~buf~0 1))} is VALID [2020-07-17 22:51:54,436 INFO L263 TraceCheckUtils]: 29: Hoare triple {1751#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~buf~0 1))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {1641#true} is VALID [2020-07-17 22:51:54,436 INFO L280 TraceCheckUtils]: 30: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:54,437 INFO L280 TraceCheckUtils]: 31: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:54,437 INFO L280 TraceCheckUtils]: 32: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:54,439 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {1641#true} {1751#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~buf~0 1))} #88#return; {1751#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~buf~0 1))} is VALID [2020-07-17 22:51:54,449 INFO L280 TraceCheckUtils]: 34: Hoare triple {1751#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~buf~0 1))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {1751#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~buf~0 1))} is VALID [2020-07-17 22:51:54,451 INFO L280 TraceCheckUtils]: 35: Hoare triple {1751#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~buf~0 1))} assume !(0 != #t~nondet2);havoc #t~nondet2; {1751#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~buf~0 1))} is VALID [2020-07-17 22:51:54,452 INFO L263 TraceCheckUtils]: 36: Hoare triple {1751#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~buf~0 1))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {1641#true} is VALID [2020-07-17 22:51:54,452 INFO L280 TraceCheckUtils]: 37: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:54,452 INFO L280 TraceCheckUtils]: 38: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:54,453 INFO L280 TraceCheckUtils]: 39: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:54,453 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {1641#true} {1751#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~buf~0 1))} #90#return; {1751#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~buf~0 1))} is VALID [2020-07-17 22:51:54,454 INFO L263 TraceCheckUtils]: 41: Hoare triple {1751#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~buf~0 1))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {1641#true} is VALID [2020-07-17 22:51:54,454 INFO L280 TraceCheckUtils]: 42: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:54,454 INFO L280 TraceCheckUtils]: 43: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:54,454 INFO L280 TraceCheckUtils]: 44: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:54,455 INFO L275 TraceCheckUtils]: 45: Hoare quadruple {1641#true} {1751#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~buf~0 1))} #92#return; {1751#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~buf~0 1))} is VALID [2020-07-17 22:51:54,456 INFO L280 TraceCheckUtils]: 46: Hoare triple {1751#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= main_~buf~0 1))} #t~post5 := ~buf~0;~buf~0 := 1 + #t~post5;havoc #t~post5; {1824#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 1) main_~bufferlen~0) (<= main_~buf~0 2))} is VALID [2020-07-17 22:51:54,457 INFO L263 TraceCheckUtils]: 47: Hoare triple {1824#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 1) main_~bufferlen~0) (<= main_~buf~0 2))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {1641#true} is VALID [2020-07-17 22:51:54,457 INFO L280 TraceCheckUtils]: 48: Hoare triple {1641#true} ~cond := #in~cond; {1641#true} is VALID [2020-07-17 22:51:54,457 INFO L280 TraceCheckUtils]: 49: Hoare triple {1641#true} assume !(0 == ~cond); {1641#true} is VALID [2020-07-17 22:51:54,457 INFO L280 TraceCheckUtils]: 50: Hoare triple {1641#true} assume true; {1641#true} is VALID [2020-07-17 22:51:54,458 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {1641#true} {1824#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 1) main_~bufferlen~0) (<= main_~buf~0 2))} #94#return; {1824#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 1) main_~bufferlen~0) (<= main_~buf~0 2))} is VALID [2020-07-17 22:51:54,460 INFO L263 TraceCheckUtils]: 52: Hoare triple {1824#(and (<= 2 main_~bufferlen~0) (<= (+ main_~buf~0 1) main_~bufferlen~0) (<= main_~buf~0 2))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {1843#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2020-07-17 22:51:54,461 INFO L280 TraceCheckUtils]: 53: Hoare triple {1843#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1847#(<= 1 __VERIFIER_assert_~cond)} is VALID [2020-07-17 22:51:54,461 INFO L280 TraceCheckUtils]: 54: Hoare triple {1847#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1642#false} is VALID [2020-07-17 22:51:54,462 INFO L280 TraceCheckUtils]: 55: Hoare triple {1642#false} assume !false; {1642#false} is VALID [2020-07-17 22:51:54,470 INFO L134 CoverageAnalysis]: Checked inductivity of 100 backedges. 14 proven. 2 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2020-07-17 22:51:54,470 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:51:54,471 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 15 [2020-07-17 22:51:54,471 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [143049075] [2020-07-17 22:51:54,472 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 56 [2020-07-17 22:51:54,476 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:51:54,476 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2020-07-17 22:51:54,557 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:51:54,557 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2020-07-17 22:51:54,558 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:51:54,558 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2020-07-17 22:51:54,558 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=160, Unknown=0, NotChecked=0, Total=210 [2020-07-17 22:51:54,559 INFO L87 Difference]: Start difference. First operand 65 states and 78 transitions. Second operand 15 states. [2020-07-17 22:51:56,321 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:56,322 INFO L93 Difference]: Finished difference Result 110 states and 146 transitions. [2020-07-17 22:51:56,322 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2020-07-17 22:51:56,322 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 56 [2020-07-17 22:51:56,323 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:51:56,323 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-17 22:51:56,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 131 transitions. [2020-07-17 22:51:56,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-17 22:51:56,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 131 transitions. [2020-07-17 22:51:56,337 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 131 transitions. [2020-07-17 22:51:56,523 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:51:56,528 INFO L225 Difference]: With dead ends: 110 [2020-07-17 22:51:56,528 INFO L226 Difference]: Without dead ends: 95 [2020-07-17 22:51:56,529 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 66 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=146, Invalid=406, Unknown=0, NotChecked=0, Total=552 [2020-07-17 22:51:56,529 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2020-07-17 22:51:56,639 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 87. [2020-07-17 22:51:56,640 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:51:56,640 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand 87 states. [2020-07-17 22:51:56,640 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand 87 states. [2020-07-17 22:51:56,640 INFO L87 Difference]: Start difference. First operand 95 states. Second operand 87 states. [2020-07-17 22:51:56,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:56,646 INFO L93 Difference]: Finished difference Result 95 states and 119 transitions. [2020-07-17 22:51:56,646 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 119 transitions. [2020-07-17 22:51:56,647 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:51:56,647 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:51:56,648 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand 95 states. [2020-07-17 22:51:56,648 INFO L87 Difference]: Start difference. First operand 87 states. Second operand 95 states. [2020-07-17 22:51:56,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:56,653 INFO L93 Difference]: Finished difference Result 95 states and 119 transitions. [2020-07-17 22:51:56,653 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 119 transitions. [2020-07-17 22:51:56,654 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:51:56,654 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:51:56,654 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:51:56,655 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:51:56,655 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 87 states. [2020-07-17 22:51:56,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 107 transitions. [2020-07-17 22:51:56,659 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 107 transitions. Word has length 56 [2020-07-17 22:51:56,659 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:51:56,659 INFO L479 AbstractCegarLoop]: Abstraction has 87 states and 107 transitions. [2020-07-17 22:51:56,659 INFO L480 AbstractCegarLoop]: Interpolant automaton has 15 states. [2020-07-17 22:51:56,659 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 107 transitions. [2020-07-17 22:51:56,660 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2020-07-17 22:51:56,660 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:51:56,660 INFO L422 BasicCegarLoop]: trace histogram [8, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:51:56,874 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable6 [2020-07-17 22:51:56,875 INFO L427 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:51:56,875 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:51:56,876 INFO L82 PathProgramCache]: Analyzing trace with hash 266725463, now seen corresponding path program 1 times [2020-07-17 22:51:56,876 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:51:56,876 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1320367998] [2020-07-17 22:51:56,877 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:51:56,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:56,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:57,000 INFO L280 TraceCheckUtils]: 0: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,000 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {2352#true} {2352#true} #78#return; {2352#true} is VALID [2020-07-17 22:51:57,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:57,007 INFO L280 TraceCheckUtils]: 0: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,008 INFO L280 TraceCheckUtils]: 1: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,008 INFO L280 TraceCheckUtils]: 2: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,009 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2352#true} {2358#(<= (+ main_~in~0 3) main_~inlen~0)} #82#return; {2358#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:57,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:57,032 INFO L280 TraceCheckUtils]: 0: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,032 INFO L280 TraceCheckUtils]: 1: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,032 INFO L280 TraceCheckUtils]: 2: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,033 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2352#true} {2358#(<= (+ main_~in~0 3) main_~inlen~0)} #84#return; {2358#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:57,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:57,040 INFO L280 TraceCheckUtils]: 0: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,041 INFO L280 TraceCheckUtils]: 1: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,041 INFO L280 TraceCheckUtils]: 2: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,042 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2352#true} {2367#(<= (+ main_~in~0 2) main_~inlen~0)} #86#return; {2367#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:57,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:57,050 INFO L280 TraceCheckUtils]: 0: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,051 INFO L280 TraceCheckUtils]: 1: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,051 INFO L280 TraceCheckUtils]: 2: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,052 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2352#true} {2367#(<= (+ main_~in~0 2) main_~inlen~0)} #88#return; {2367#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:57,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:57,059 INFO L280 TraceCheckUtils]: 0: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,059 INFO L280 TraceCheckUtils]: 1: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,059 INFO L280 TraceCheckUtils]: 2: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,060 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2352#true} {2367#(<= (+ main_~in~0 2) main_~inlen~0)} #82#return; {2367#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:57,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:57,066 INFO L280 TraceCheckUtils]: 0: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,067 INFO L280 TraceCheckUtils]: 1: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,067 INFO L280 TraceCheckUtils]: 2: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,068 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2352#true} {2367#(<= (+ main_~in~0 2) main_~inlen~0)} #84#return; {2367#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:57,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:57,075 INFO L280 TraceCheckUtils]: 0: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,076 INFO L280 TraceCheckUtils]: 1: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,076 INFO L280 TraceCheckUtils]: 2: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,076 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2352#true} {2384#(<= (+ main_~in~0 1) main_~inlen~0)} #86#return; {2384#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2020-07-17 22:51:57,077 INFO L263 TraceCheckUtils]: 0: Hoare triple {2352#true} call ULTIMATE.init(); {2352#true} is VALID [2020-07-17 22:51:57,077 INFO L280 TraceCheckUtils]: 1: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,077 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2352#true} {2352#true} #78#return; {2352#true} is VALID [2020-07-17 22:51:57,077 INFO L263 TraceCheckUtils]: 3: Hoare triple {2352#true} call #t~ret7 := main(); {2352#true} is VALID [2020-07-17 22:51:57,078 INFO L280 TraceCheckUtils]: 4: Hoare triple {2352#true} havoc ~in~0;assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~inlen~0 := #t~nondet0;havoc #t~nondet0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~bufferlen~0 := #t~nondet1;havoc #t~nondet1;havoc ~buf~0;havoc ~buflim~0; {2352#true} is VALID [2020-07-17 22:51:57,078 INFO L280 TraceCheckUtils]: 5: Hoare triple {2352#true} assume ~bufferlen~0 > 1; {2356#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:57,079 INFO L280 TraceCheckUtils]: 6: Hoare triple {2356#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {2356#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:57,081 INFO L280 TraceCheckUtils]: 7: Hoare triple {2356#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {2357#(<= 3 main_~inlen~0)} is VALID [2020-07-17 22:51:57,082 INFO L280 TraceCheckUtils]: 8: Hoare triple {2357#(<= 3 main_~inlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {2358#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:57,083 INFO L280 TraceCheckUtils]: 9: Hoare triple {2358#(<= (+ main_~in~0 3) main_~inlen~0)} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {2358#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:57,083 INFO L280 TraceCheckUtils]: 10: Hoare triple {2358#(<= (+ main_~in~0 3) main_~inlen~0)} assume !!(0 != #t~nondet2);havoc #t~nondet2; {2358#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:57,083 INFO L280 TraceCheckUtils]: 11: Hoare triple {2358#(<= (+ main_~in~0 3) main_~inlen~0)} assume !(~buf~0 == ~buflim~0); {2358#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:57,084 INFO L263 TraceCheckUtils]: 12: Hoare triple {2358#(<= (+ main_~in~0 3) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {2352#true} is VALID [2020-07-17 22:51:57,084 INFO L280 TraceCheckUtils]: 13: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,084 INFO L280 TraceCheckUtils]: 14: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,084 INFO L280 TraceCheckUtils]: 15: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,085 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2352#true} {2358#(<= (+ main_~in~0 3) main_~inlen~0)} #82#return; {2358#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:57,085 INFO L263 TraceCheckUtils]: 17: Hoare triple {2358#(<= (+ main_~in~0 3) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {2352#true} is VALID [2020-07-17 22:51:57,085 INFO L280 TraceCheckUtils]: 18: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,085 INFO L280 TraceCheckUtils]: 19: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,085 INFO L280 TraceCheckUtils]: 20: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,089 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {2352#true} {2358#(<= (+ main_~in~0 3) main_~inlen~0)} #84#return; {2358#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:57,090 INFO L280 TraceCheckUtils]: 22: Hoare triple {2358#(<= (+ main_~in~0 3) main_~inlen~0)} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {2358#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:57,093 INFO L280 TraceCheckUtils]: 23: Hoare triple {2358#(<= (+ main_~in~0 3) main_~inlen~0)} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {2367#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:57,094 INFO L263 TraceCheckUtils]: 24: Hoare triple {2367#(<= (+ main_~in~0 2) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {2352#true} is VALID [2020-07-17 22:51:57,094 INFO L280 TraceCheckUtils]: 25: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,094 INFO L280 TraceCheckUtils]: 26: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,095 INFO L280 TraceCheckUtils]: 27: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,096 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {2352#true} {2367#(<= (+ main_~in~0 2) main_~inlen~0)} #86#return; {2367#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:57,096 INFO L263 TraceCheckUtils]: 29: Hoare triple {2367#(<= (+ main_~in~0 2) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {2352#true} is VALID [2020-07-17 22:51:57,096 INFO L280 TraceCheckUtils]: 30: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,096 INFO L280 TraceCheckUtils]: 31: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,097 INFO L280 TraceCheckUtils]: 32: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,098 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {2352#true} {2367#(<= (+ main_~in~0 2) main_~inlen~0)} #88#return; {2367#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:57,099 INFO L280 TraceCheckUtils]: 34: Hoare triple {2367#(<= (+ main_~in~0 2) main_~inlen~0)} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {2367#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:57,100 INFO L280 TraceCheckUtils]: 35: Hoare triple {2367#(<= (+ main_~in~0 2) main_~inlen~0)} assume !!(0 != #t~nondet2);havoc #t~nondet2; {2367#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:57,101 INFO L280 TraceCheckUtils]: 36: Hoare triple {2367#(<= (+ main_~in~0 2) main_~inlen~0)} assume !(~buf~0 == ~buflim~0); {2367#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:57,101 INFO L263 TraceCheckUtils]: 37: Hoare triple {2367#(<= (+ main_~in~0 2) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {2352#true} is VALID [2020-07-17 22:51:57,101 INFO L280 TraceCheckUtils]: 38: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,102 INFO L280 TraceCheckUtils]: 39: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,102 INFO L280 TraceCheckUtils]: 40: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,103 INFO L275 TraceCheckUtils]: 41: Hoare quadruple {2352#true} {2367#(<= (+ main_~in~0 2) main_~inlen~0)} #82#return; {2367#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:57,103 INFO L263 TraceCheckUtils]: 42: Hoare triple {2367#(<= (+ main_~in~0 2) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {2352#true} is VALID [2020-07-17 22:51:57,103 INFO L280 TraceCheckUtils]: 43: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,104 INFO L280 TraceCheckUtils]: 44: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,104 INFO L280 TraceCheckUtils]: 45: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,105 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {2352#true} {2367#(<= (+ main_~in~0 2) main_~inlen~0)} #84#return; {2367#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:57,106 INFO L280 TraceCheckUtils]: 47: Hoare triple {2367#(<= (+ main_~in~0 2) main_~inlen~0)} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {2367#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:57,107 INFO L280 TraceCheckUtils]: 48: Hoare triple {2367#(<= (+ main_~in~0 2) main_~inlen~0)} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {2384#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2020-07-17 22:51:57,108 INFO L263 TraceCheckUtils]: 49: Hoare triple {2384#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {2352#true} is VALID [2020-07-17 22:51:57,108 INFO L280 TraceCheckUtils]: 50: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,108 INFO L280 TraceCheckUtils]: 51: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,108 INFO L280 TraceCheckUtils]: 52: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,110 INFO L275 TraceCheckUtils]: 53: Hoare quadruple {2352#true} {2384#(<= (+ main_~in~0 1) main_~inlen~0)} #86#return; {2384#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2020-07-17 22:51:57,111 INFO L263 TraceCheckUtils]: 54: Hoare triple {2384#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {2389#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:51:57,113 INFO L280 TraceCheckUtils]: 55: Hoare triple {2389#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {2390#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-17 22:51:57,113 INFO L280 TraceCheckUtils]: 56: Hoare triple {2390#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {2353#false} is VALID [2020-07-17 22:51:57,113 INFO L280 TraceCheckUtils]: 57: Hoare triple {2353#false} assume !false; {2353#false} is VALID [2020-07-17 22:51:57,117 INFO L134 CoverageAnalysis]: Checked inductivity of 107 backedges. 14 proven. 9 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2020-07-17 22:51:57,118 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1320367998] [2020-07-17 22:51:57,118 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [677072093] [2020-07-17 22:51:57,118 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:51:57,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:57,162 INFO L264 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 8 conjunts are in the unsatisfiable core [2020-07-17 22:51:57,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:57,178 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:51:57,386 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-17 22:51:57,403 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-17 22:51:57,452 INFO L263 TraceCheckUtils]: 0: Hoare triple {2352#true} call ULTIMATE.init(); {2352#true} is VALID [2020-07-17 22:51:57,453 INFO L280 TraceCheckUtils]: 1: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,453 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2352#true} {2352#true} #78#return; {2352#true} is VALID [2020-07-17 22:51:57,453 INFO L263 TraceCheckUtils]: 3: Hoare triple {2352#true} call #t~ret7 := main(); {2352#true} is VALID [2020-07-17 22:51:57,453 INFO L280 TraceCheckUtils]: 4: Hoare triple {2352#true} havoc ~in~0;assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~inlen~0 := #t~nondet0;havoc #t~nondet0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~bufferlen~0 := #t~nondet1;havoc #t~nondet1;havoc ~buf~0;havoc ~buflim~0; {2352#true} is VALID [2020-07-17 22:51:57,454 INFO L280 TraceCheckUtils]: 5: Hoare triple {2352#true} assume ~bufferlen~0 > 1; {2356#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:57,455 INFO L280 TraceCheckUtils]: 6: Hoare triple {2356#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {2356#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:57,456 INFO L280 TraceCheckUtils]: 7: Hoare triple {2356#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {2357#(<= 3 main_~inlen~0)} is VALID [2020-07-17 22:51:57,457 INFO L280 TraceCheckUtils]: 8: Hoare triple {2357#(<= 3 main_~inlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {2418#(and (<= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2020-07-17 22:51:57,457 INFO L280 TraceCheckUtils]: 9: Hoare triple {2418#(and (<= main_~in~0 0) (<= 3 main_~inlen~0))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {2418#(and (<= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2020-07-17 22:51:57,458 INFO L280 TraceCheckUtils]: 10: Hoare triple {2418#(and (<= main_~in~0 0) (<= 3 main_~inlen~0))} assume !!(0 != #t~nondet2);havoc #t~nondet2; {2418#(and (<= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2020-07-17 22:51:57,459 INFO L280 TraceCheckUtils]: 11: Hoare triple {2418#(and (<= main_~in~0 0) (<= 3 main_~inlen~0))} assume !(~buf~0 == ~buflim~0); {2418#(and (<= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2020-07-17 22:51:57,459 INFO L263 TraceCheckUtils]: 12: Hoare triple {2418#(and (<= main_~in~0 0) (<= 3 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {2352#true} is VALID [2020-07-17 22:51:57,459 INFO L280 TraceCheckUtils]: 13: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,459 INFO L280 TraceCheckUtils]: 14: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,460 INFO L280 TraceCheckUtils]: 15: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,460 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2352#true} {2418#(and (<= main_~in~0 0) (<= 3 main_~inlen~0))} #82#return; {2418#(and (<= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2020-07-17 22:51:57,461 INFO L263 TraceCheckUtils]: 17: Hoare triple {2418#(and (<= main_~in~0 0) (<= 3 main_~inlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {2352#true} is VALID [2020-07-17 22:51:57,461 INFO L280 TraceCheckUtils]: 18: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,462 INFO L280 TraceCheckUtils]: 19: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,462 INFO L280 TraceCheckUtils]: 20: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,463 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {2352#true} {2418#(and (<= main_~in~0 0) (<= 3 main_~inlen~0))} #84#return; {2418#(and (<= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2020-07-17 22:51:57,464 INFO L280 TraceCheckUtils]: 22: Hoare triple {2418#(and (<= main_~in~0 0) (<= 3 main_~inlen~0))} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {2418#(and (<= main_~in~0 0) (<= 3 main_~inlen~0))} is VALID [2020-07-17 22:51:57,465 INFO L280 TraceCheckUtils]: 23: Hoare triple {2418#(and (<= main_~in~0 0) (<= 3 main_~inlen~0))} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} is VALID [2020-07-17 22:51:57,465 INFO L263 TraceCheckUtils]: 24: Hoare triple {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {2352#true} is VALID [2020-07-17 22:51:57,465 INFO L280 TraceCheckUtils]: 25: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,466 INFO L280 TraceCheckUtils]: 26: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,466 INFO L280 TraceCheckUtils]: 27: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,467 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {2352#true} {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} #86#return; {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} is VALID [2020-07-17 22:51:57,467 INFO L263 TraceCheckUtils]: 29: Hoare triple {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {2352#true} is VALID [2020-07-17 22:51:57,467 INFO L280 TraceCheckUtils]: 30: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,467 INFO L280 TraceCheckUtils]: 31: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,467 INFO L280 TraceCheckUtils]: 32: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,468 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {2352#true} {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} #88#return; {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} is VALID [2020-07-17 22:51:57,469 INFO L280 TraceCheckUtils]: 34: Hoare triple {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} is VALID [2020-07-17 22:51:57,470 INFO L280 TraceCheckUtils]: 35: Hoare triple {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} assume !!(0 != #t~nondet2);havoc #t~nondet2; {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} is VALID [2020-07-17 22:51:57,471 INFO L280 TraceCheckUtils]: 36: Hoare triple {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} assume !(~buf~0 == ~buflim~0); {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} is VALID [2020-07-17 22:51:57,471 INFO L263 TraceCheckUtils]: 37: Hoare triple {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {2352#true} is VALID [2020-07-17 22:51:57,471 INFO L280 TraceCheckUtils]: 38: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,471 INFO L280 TraceCheckUtils]: 39: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,471 INFO L280 TraceCheckUtils]: 40: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,472 INFO L275 TraceCheckUtils]: 41: Hoare quadruple {2352#true} {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} #82#return; {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} is VALID [2020-07-17 22:51:57,473 INFO L263 TraceCheckUtils]: 42: Hoare triple {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {2352#true} is VALID [2020-07-17 22:51:57,473 INFO L280 TraceCheckUtils]: 43: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,473 INFO L280 TraceCheckUtils]: 44: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,473 INFO L280 TraceCheckUtils]: 45: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,474 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {2352#true} {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} #84#return; {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} is VALID [2020-07-17 22:51:57,475 INFO L280 TraceCheckUtils]: 47: Hoare triple {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} is VALID [2020-07-17 22:51:57,476 INFO L280 TraceCheckUtils]: 48: Hoare triple {2464#(and (<= main_~in~0 1) (<= 3 main_~inlen~0))} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {2540#(and (<= main_~in~0 2) (<= 3 main_~inlen~0))} is VALID [2020-07-17 22:51:57,476 INFO L263 TraceCheckUtils]: 49: Hoare triple {2540#(and (<= main_~in~0 2) (<= 3 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {2352#true} is VALID [2020-07-17 22:51:57,477 INFO L280 TraceCheckUtils]: 50: Hoare triple {2352#true} ~cond := #in~cond; {2352#true} is VALID [2020-07-17 22:51:57,477 INFO L280 TraceCheckUtils]: 51: Hoare triple {2352#true} assume !(0 == ~cond); {2352#true} is VALID [2020-07-17 22:51:57,477 INFO L280 TraceCheckUtils]: 52: Hoare triple {2352#true} assume true; {2352#true} is VALID [2020-07-17 22:51:57,478 INFO L275 TraceCheckUtils]: 53: Hoare quadruple {2352#true} {2540#(and (<= main_~in~0 2) (<= 3 main_~inlen~0))} #86#return; {2540#(and (<= main_~in~0 2) (<= 3 main_~inlen~0))} is VALID [2020-07-17 22:51:57,479 INFO L263 TraceCheckUtils]: 54: Hoare triple {2540#(and (<= main_~in~0 2) (<= 3 main_~inlen~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {2559#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2020-07-17 22:51:57,480 INFO L280 TraceCheckUtils]: 55: Hoare triple {2559#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2563#(<= 1 __VERIFIER_assert_~cond)} is VALID [2020-07-17 22:51:57,480 INFO L280 TraceCheckUtils]: 56: Hoare triple {2563#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2353#false} is VALID [2020-07-17 22:51:57,481 INFO L280 TraceCheckUtils]: 57: Hoare triple {2353#false} assume !false; {2353#false} is VALID [2020-07-17 22:51:57,485 INFO L134 CoverageAnalysis]: Checked inductivity of 107 backedges. 14 proven. 9 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2020-07-17 22:51:57,485 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:51:57,485 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2020-07-17 22:51:57,486 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1394047416] [2020-07-17 22:51:57,488 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 58 [2020-07-17 22:51:57,488 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:51:57,488 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2020-07-17 22:51:57,582 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:51:57,582 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2020-07-17 22:51:57,583 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:51:57,583 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2020-07-17 22:51:57,584 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=140, Unknown=0, NotChecked=0, Total=182 [2020-07-17 22:51:57,584 INFO L87 Difference]: Start difference. First operand 87 states and 107 transitions. Second operand 14 states. [2020-07-17 22:51:58,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:58,520 INFO L93 Difference]: Finished difference Result 93 states and 112 transitions. [2020-07-17 22:51:58,520 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-17 22:51:58,520 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 58 [2020-07-17 22:51:58,521 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:51:58,522 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-17 22:51:58,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 77 transitions. [2020-07-17 22:51:58,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-17 22:51:58,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 77 transitions. [2020-07-17 22:51:58,528 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 77 transitions. [2020-07-17 22:51:58,638 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:51:58,642 INFO L225 Difference]: With dead ends: 93 [2020-07-17 22:51:58,642 INFO L226 Difference]: Without dead ends: 91 [2020-07-17 22:51:58,643 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 69 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=82, Invalid=260, Unknown=0, NotChecked=0, Total=342 [2020-07-17 22:51:58,643 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2020-07-17 22:51:58,768 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 91. [2020-07-17 22:51:58,769 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:51:58,769 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand 91 states. [2020-07-17 22:51:58,769 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 91 states. [2020-07-17 22:51:58,769 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 91 states. [2020-07-17 22:51:58,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:58,776 INFO L93 Difference]: Finished difference Result 91 states and 110 transitions. [2020-07-17 22:51:58,776 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 110 transitions. [2020-07-17 22:51:58,777 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:51:58,777 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:51:58,777 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 91 states. [2020-07-17 22:51:58,777 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 91 states. [2020-07-17 22:51:58,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:51:58,782 INFO L93 Difference]: Finished difference Result 91 states and 110 transitions. [2020-07-17 22:51:58,782 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 110 transitions. [2020-07-17 22:51:58,785 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:51:58,786 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:51:58,786 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:51:58,786 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:51:58,786 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2020-07-17 22:51:58,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 110 transitions. [2020-07-17 22:51:58,790 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 110 transitions. Word has length 58 [2020-07-17 22:51:58,791 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:51:58,791 INFO L479 AbstractCegarLoop]: Abstraction has 91 states and 110 transitions. [2020-07-17 22:51:58,791 INFO L480 AbstractCegarLoop]: Interpolant automaton has 14 states. [2020-07-17 22:51:58,791 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 110 transitions. [2020-07-17 22:51:58,794 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 84 [2020-07-17 22:51:58,794 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:51:58,794 INFO L422 BasicCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:51:59,009 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:51:59,010 INFO L427 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:51:59,011 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:51:59,011 INFO L82 PathProgramCache]: Analyzing trace with hash 437927078, now seen corresponding path program 2 times [2020-07-17 22:51:59,011 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:51:59,012 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1237128717] [2020-07-17 22:51:59,012 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:51:59,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:59,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:59,252 INFO L280 TraceCheckUtils]: 0: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,252 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {3027#true} {3027#true} #78#return; {3027#true} is VALID [2020-07-17 22:51:59,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:59,258 INFO L280 TraceCheckUtils]: 0: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,259 INFO L280 TraceCheckUtils]: 1: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,259 INFO L280 TraceCheckUtils]: 2: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,260 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3027#true} {3034#(<= (+ main_~in~0 4) main_~inlen~0)} #82#return; {3034#(<= (+ main_~in~0 4) main_~inlen~0)} is VALID [2020-07-17 22:51:59,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:59,267 INFO L280 TraceCheckUtils]: 0: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,268 INFO L280 TraceCheckUtils]: 1: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,268 INFO L280 TraceCheckUtils]: 2: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,270 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3027#true} {3034#(<= (+ main_~in~0 4) main_~inlen~0)} #84#return; {3034#(<= (+ main_~in~0 4) main_~inlen~0)} is VALID [2020-07-17 22:51:59,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:59,277 INFO L280 TraceCheckUtils]: 0: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,278 INFO L280 TraceCheckUtils]: 1: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,278 INFO L280 TraceCheckUtils]: 2: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,279 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3027#true} {3043#(<= (+ main_~in~0 3) main_~inlen~0)} #86#return; {3043#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:59,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:59,286 INFO L280 TraceCheckUtils]: 0: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,287 INFO L280 TraceCheckUtils]: 1: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,287 INFO L280 TraceCheckUtils]: 2: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,289 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3027#true} {3043#(<= (+ main_~in~0 3) main_~inlen~0)} #88#return; {3043#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:59,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:59,294 INFO L280 TraceCheckUtils]: 0: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,295 INFO L280 TraceCheckUtils]: 1: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,295 INFO L280 TraceCheckUtils]: 2: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,297 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3027#true} {3043#(<= (+ main_~in~0 3) main_~inlen~0)} #82#return; {3043#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:59,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:59,304 INFO L280 TraceCheckUtils]: 0: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,305 INFO L280 TraceCheckUtils]: 1: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,305 INFO L280 TraceCheckUtils]: 2: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,307 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3027#true} {3043#(<= (+ main_~in~0 3) main_~inlen~0)} #84#return; {3043#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:59,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:59,314 INFO L280 TraceCheckUtils]: 0: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,314 INFO L280 TraceCheckUtils]: 1: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,315 INFO L280 TraceCheckUtils]: 2: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,316 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3027#true} {3060#(<= (+ main_~in~0 2) main_~inlen~0)} #86#return; {3060#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:59,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:59,322 INFO L280 TraceCheckUtils]: 0: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,323 INFO L280 TraceCheckUtils]: 1: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,323 INFO L280 TraceCheckUtils]: 2: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,324 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3027#true} {3060#(<= (+ main_~in~0 2) main_~inlen~0)} #88#return; {3060#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:59,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:59,331 INFO L280 TraceCheckUtils]: 0: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,331 INFO L280 TraceCheckUtils]: 1: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,332 INFO L280 TraceCheckUtils]: 2: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,333 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3027#true} {3060#(<= (+ main_~in~0 2) main_~inlen~0)} #82#return; {3060#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:59,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:59,340 INFO L280 TraceCheckUtils]: 0: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,341 INFO L280 TraceCheckUtils]: 1: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,341 INFO L280 TraceCheckUtils]: 2: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,348 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3027#true} {3060#(<= (+ main_~in~0 2) main_~inlen~0)} #84#return; {3060#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:59,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:59,357 INFO L280 TraceCheckUtils]: 0: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,357 INFO L280 TraceCheckUtils]: 1: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,358 INFO L280 TraceCheckUtils]: 2: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,363 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3027#true} {3077#(<= (+ main_~in~0 1) main_~inlen~0)} #86#return; {3077#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2020-07-17 22:51:59,363 INFO L263 TraceCheckUtils]: 0: Hoare triple {3027#true} call ULTIMATE.init(); {3027#true} is VALID [2020-07-17 22:51:59,364 INFO L280 TraceCheckUtils]: 1: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,364 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {3027#true} {3027#true} #78#return; {3027#true} is VALID [2020-07-17 22:51:59,364 INFO L263 TraceCheckUtils]: 3: Hoare triple {3027#true} call #t~ret7 := main(); {3027#true} is VALID [2020-07-17 22:51:59,365 INFO L280 TraceCheckUtils]: 4: Hoare triple {3027#true} havoc ~in~0;assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~inlen~0 := #t~nondet0;havoc #t~nondet0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~bufferlen~0 := #t~nondet1;havoc #t~nondet1;havoc ~buf~0;havoc ~buflim~0; {3027#true} is VALID [2020-07-17 22:51:59,367 INFO L280 TraceCheckUtils]: 5: Hoare triple {3027#true} assume ~bufferlen~0 > 1; {3031#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:59,370 INFO L280 TraceCheckUtils]: 6: Hoare triple {3031#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {3031#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:59,372 INFO L280 TraceCheckUtils]: 7: Hoare triple {3031#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {3032#(and (<= 2 main_~bufferlen~0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} is VALID [2020-07-17 22:51:59,375 INFO L280 TraceCheckUtils]: 8: Hoare triple {3032#(and (<= 2 main_~bufferlen~0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {3033#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} is VALID [2020-07-17 22:51:59,376 INFO L280 TraceCheckUtils]: 9: Hoare triple {3033#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3033#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} is VALID [2020-07-17 22:51:59,378 INFO L280 TraceCheckUtils]: 10: Hoare triple {3033#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} assume !!(0 != #t~nondet2);havoc #t~nondet2; {3033#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} is VALID [2020-07-17 22:51:59,379 INFO L280 TraceCheckUtils]: 11: Hoare triple {3033#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} assume !(~buf~0 == ~buflim~0); {3034#(<= (+ main_~in~0 4) main_~inlen~0)} is VALID [2020-07-17 22:51:59,380 INFO L263 TraceCheckUtils]: 12: Hoare triple {3034#(<= (+ main_~in~0 4) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,380 INFO L280 TraceCheckUtils]: 13: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,380 INFO L280 TraceCheckUtils]: 14: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,381 INFO L280 TraceCheckUtils]: 15: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,382 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {3027#true} {3034#(<= (+ main_~in~0 4) main_~inlen~0)} #82#return; {3034#(<= (+ main_~in~0 4) main_~inlen~0)} is VALID [2020-07-17 22:51:59,383 INFO L263 TraceCheckUtils]: 17: Hoare triple {3034#(<= (+ main_~in~0 4) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,383 INFO L280 TraceCheckUtils]: 18: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,384 INFO L280 TraceCheckUtils]: 19: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,384 INFO L280 TraceCheckUtils]: 20: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,386 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {3027#true} {3034#(<= (+ main_~in~0 4) main_~inlen~0)} #84#return; {3034#(<= (+ main_~in~0 4) main_~inlen~0)} is VALID [2020-07-17 22:51:59,386 INFO L280 TraceCheckUtils]: 22: Hoare triple {3034#(<= (+ main_~in~0 4) main_~inlen~0)} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {3034#(<= (+ main_~in~0 4) main_~inlen~0)} is VALID [2020-07-17 22:51:59,387 INFO L280 TraceCheckUtils]: 23: Hoare triple {3034#(<= (+ main_~in~0 4) main_~inlen~0)} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {3043#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:59,388 INFO L263 TraceCheckUtils]: 24: Hoare triple {3043#(<= (+ main_~in~0 3) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,388 INFO L280 TraceCheckUtils]: 25: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,388 INFO L280 TraceCheckUtils]: 26: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,388 INFO L280 TraceCheckUtils]: 27: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,390 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {3027#true} {3043#(<= (+ main_~in~0 3) main_~inlen~0)} #86#return; {3043#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:59,390 INFO L263 TraceCheckUtils]: 29: Hoare triple {3043#(<= (+ main_~in~0 3) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,390 INFO L280 TraceCheckUtils]: 30: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,390 INFO L280 TraceCheckUtils]: 31: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,390 INFO L280 TraceCheckUtils]: 32: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,391 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {3027#true} {3043#(<= (+ main_~in~0 3) main_~inlen~0)} #88#return; {3043#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:59,392 INFO L280 TraceCheckUtils]: 34: Hoare triple {3043#(<= (+ main_~in~0 3) main_~inlen~0)} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3043#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:59,393 INFO L280 TraceCheckUtils]: 35: Hoare triple {3043#(<= (+ main_~in~0 3) main_~inlen~0)} assume !!(0 != #t~nondet2);havoc #t~nondet2; {3043#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:59,394 INFO L280 TraceCheckUtils]: 36: Hoare triple {3043#(<= (+ main_~in~0 3) main_~inlen~0)} assume !(~buf~0 == ~buflim~0); {3043#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:59,394 INFO L263 TraceCheckUtils]: 37: Hoare triple {3043#(<= (+ main_~in~0 3) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,394 INFO L280 TraceCheckUtils]: 38: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,394 INFO L280 TraceCheckUtils]: 39: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,394 INFO L280 TraceCheckUtils]: 40: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,396 INFO L275 TraceCheckUtils]: 41: Hoare quadruple {3027#true} {3043#(<= (+ main_~in~0 3) main_~inlen~0)} #82#return; {3043#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:59,396 INFO L263 TraceCheckUtils]: 42: Hoare triple {3043#(<= (+ main_~in~0 3) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,397 INFO L280 TraceCheckUtils]: 43: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,397 INFO L280 TraceCheckUtils]: 44: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,397 INFO L280 TraceCheckUtils]: 45: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,400 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {3027#true} {3043#(<= (+ main_~in~0 3) main_~inlen~0)} #84#return; {3043#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:59,403 INFO L280 TraceCheckUtils]: 47: Hoare triple {3043#(<= (+ main_~in~0 3) main_~inlen~0)} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {3043#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:51:59,404 INFO L280 TraceCheckUtils]: 48: Hoare triple {3043#(<= (+ main_~in~0 3) main_~inlen~0)} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {3060#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:59,404 INFO L263 TraceCheckUtils]: 49: Hoare triple {3060#(<= (+ main_~in~0 2) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,405 INFO L280 TraceCheckUtils]: 50: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,405 INFO L280 TraceCheckUtils]: 51: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,405 INFO L280 TraceCheckUtils]: 52: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,407 INFO L275 TraceCheckUtils]: 53: Hoare quadruple {3027#true} {3060#(<= (+ main_~in~0 2) main_~inlen~0)} #86#return; {3060#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:59,407 INFO L263 TraceCheckUtils]: 54: Hoare triple {3060#(<= (+ main_~in~0 2) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,407 INFO L280 TraceCheckUtils]: 55: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,407 INFO L280 TraceCheckUtils]: 56: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,408 INFO L280 TraceCheckUtils]: 57: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,409 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {3027#true} {3060#(<= (+ main_~in~0 2) main_~inlen~0)} #88#return; {3060#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:59,410 INFO L280 TraceCheckUtils]: 59: Hoare triple {3060#(<= (+ main_~in~0 2) main_~inlen~0)} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3060#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:59,410 INFO L280 TraceCheckUtils]: 60: Hoare triple {3060#(<= (+ main_~in~0 2) main_~inlen~0)} assume !!(0 != #t~nondet2);havoc #t~nondet2; {3060#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:59,411 INFO L280 TraceCheckUtils]: 61: Hoare triple {3060#(<= (+ main_~in~0 2) main_~inlen~0)} assume !(~buf~0 == ~buflim~0); {3060#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:59,412 INFO L263 TraceCheckUtils]: 62: Hoare triple {3060#(<= (+ main_~in~0 2) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,412 INFO L280 TraceCheckUtils]: 63: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,412 INFO L280 TraceCheckUtils]: 64: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,412 INFO L280 TraceCheckUtils]: 65: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,432 INFO L275 TraceCheckUtils]: 66: Hoare quadruple {3027#true} {3060#(<= (+ main_~in~0 2) main_~inlen~0)} #82#return; {3060#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:59,433 INFO L263 TraceCheckUtils]: 67: Hoare triple {3060#(<= (+ main_~in~0 2) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,433 INFO L280 TraceCheckUtils]: 68: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,433 INFO L280 TraceCheckUtils]: 69: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,434 INFO L280 TraceCheckUtils]: 70: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,436 INFO L275 TraceCheckUtils]: 71: Hoare quadruple {3027#true} {3060#(<= (+ main_~in~0 2) main_~inlen~0)} #84#return; {3060#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:59,441 INFO L280 TraceCheckUtils]: 72: Hoare triple {3060#(<= (+ main_~in~0 2) main_~inlen~0)} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {3060#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:51:59,442 INFO L280 TraceCheckUtils]: 73: Hoare triple {3060#(<= (+ main_~in~0 2) main_~inlen~0)} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {3077#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2020-07-17 22:51:59,443 INFO L263 TraceCheckUtils]: 74: Hoare triple {3077#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,443 INFO L280 TraceCheckUtils]: 75: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,443 INFO L280 TraceCheckUtils]: 76: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,443 INFO L280 TraceCheckUtils]: 77: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,445 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {3027#true} {3077#(<= (+ main_~in~0 1) main_~inlen~0)} #86#return; {3077#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2020-07-17 22:51:59,446 INFO L263 TraceCheckUtils]: 79: Hoare triple {3077#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3082#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:51:59,446 INFO L280 TraceCheckUtils]: 80: Hoare triple {3082#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {3083#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-17 22:51:59,447 INFO L280 TraceCheckUtils]: 81: Hoare triple {3083#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {3028#false} is VALID [2020-07-17 22:51:59,447 INFO L280 TraceCheckUtils]: 82: Hoare triple {3028#false} assume !false; {3028#false} is VALID [2020-07-17 22:51:59,462 INFO L134 CoverageAnalysis]: Checked inductivity of 269 backedges. 22 proven. 27 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2020-07-17 22:51:59,463 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1237128717] [2020-07-17 22:51:59,463 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1350996411] [2020-07-17 22:51:59,463 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:51:59,532 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-17 22:51:59,532 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-17 22:51:59,533 INFO L264 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 14 conjunts are in the unsatisfiable core [2020-07-17 22:51:59,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:51:59,564 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:51:59,864 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-17 22:51:59,880 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-17 22:51:59,924 INFO L263 TraceCheckUtils]: 0: Hoare triple {3027#true} call ULTIMATE.init(); {3027#true} is VALID [2020-07-17 22:51:59,924 INFO L280 TraceCheckUtils]: 1: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,925 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {3027#true} {3027#true} #78#return; {3027#true} is VALID [2020-07-17 22:51:59,925 INFO L263 TraceCheckUtils]: 3: Hoare triple {3027#true} call #t~ret7 := main(); {3027#true} is VALID [2020-07-17 22:51:59,925 INFO L280 TraceCheckUtils]: 4: Hoare triple {3027#true} havoc ~in~0;assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~inlen~0 := #t~nondet0;havoc #t~nondet0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~bufferlen~0 := #t~nondet1;havoc #t~nondet1;havoc ~buf~0;havoc ~buflim~0; {3027#true} is VALID [2020-07-17 22:51:59,926 INFO L280 TraceCheckUtils]: 5: Hoare triple {3027#true} assume ~bufferlen~0 > 1; {3031#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:59,926 INFO L280 TraceCheckUtils]: 6: Hoare triple {3031#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {3031#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:51:59,927 INFO L280 TraceCheckUtils]: 7: Hoare triple {3031#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {3032#(and (<= 2 main_~bufferlen~0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} is VALID [2020-07-17 22:51:59,927 INFO L280 TraceCheckUtils]: 8: Hoare triple {3032#(and (<= 2 main_~bufferlen~0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {3111#(and (<= 0 main_~buflim~0) (<= main_~in~0 0) (= 0 main_~buf~0) (<= (+ main_~buflim~0 3) main_~inlen~0))} is VALID [2020-07-17 22:51:59,928 INFO L280 TraceCheckUtils]: 9: Hoare triple {3111#(and (<= 0 main_~buflim~0) (<= main_~in~0 0) (= 0 main_~buf~0) (<= (+ main_~buflim~0 3) main_~inlen~0))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3111#(and (<= 0 main_~buflim~0) (<= main_~in~0 0) (= 0 main_~buf~0) (<= (+ main_~buflim~0 3) main_~inlen~0))} is VALID [2020-07-17 22:51:59,929 INFO L280 TraceCheckUtils]: 10: Hoare triple {3111#(and (<= 0 main_~buflim~0) (<= main_~in~0 0) (= 0 main_~buf~0) (<= (+ main_~buflim~0 3) main_~inlen~0))} assume !!(0 != #t~nondet2);havoc #t~nondet2; {3111#(and (<= 0 main_~buflim~0) (<= main_~in~0 0) (= 0 main_~buf~0) (<= (+ main_~buflim~0 3) main_~inlen~0))} is VALID [2020-07-17 22:51:59,929 INFO L280 TraceCheckUtils]: 11: Hoare triple {3111#(and (<= 0 main_~buflim~0) (<= main_~in~0 0) (= 0 main_~buf~0) (<= (+ main_~buflim~0 3) main_~inlen~0))} assume !(~buf~0 == ~buflim~0); {3121#(and (<= main_~in~0 0) (<= 4 main_~inlen~0))} is VALID [2020-07-17 22:51:59,929 INFO L263 TraceCheckUtils]: 12: Hoare triple {3121#(and (<= main_~in~0 0) (<= 4 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,930 INFO L280 TraceCheckUtils]: 13: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,930 INFO L280 TraceCheckUtils]: 14: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,930 INFO L280 TraceCheckUtils]: 15: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,930 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {3027#true} {3121#(and (<= main_~in~0 0) (<= 4 main_~inlen~0))} #82#return; {3121#(and (<= main_~in~0 0) (<= 4 main_~inlen~0))} is VALID [2020-07-17 22:51:59,931 INFO L263 TraceCheckUtils]: 17: Hoare triple {3121#(and (<= main_~in~0 0) (<= 4 main_~inlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,931 INFO L280 TraceCheckUtils]: 18: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,931 INFO L280 TraceCheckUtils]: 19: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,931 INFO L280 TraceCheckUtils]: 20: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,931 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {3027#true} {3121#(and (<= main_~in~0 0) (<= 4 main_~inlen~0))} #84#return; {3121#(and (<= main_~in~0 0) (<= 4 main_~inlen~0))} is VALID [2020-07-17 22:51:59,932 INFO L280 TraceCheckUtils]: 22: Hoare triple {3121#(and (<= main_~in~0 0) (<= 4 main_~inlen~0))} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {3121#(and (<= main_~in~0 0) (<= 4 main_~inlen~0))} is VALID [2020-07-17 22:51:59,932 INFO L280 TraceCheckUtils]: 23: Hoare triple {3121#(and (<= main_~in~0 0) (<= 4 main_~inlen~0))} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} is VALID [2020-07-17 22:51:59,933 INFO L263 TraceCheckUtils]: 24: Hoare triple {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,933 INFO L280 TraceCheckUtils]: 25: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,933 INFO L280 TraceCheckUtils]: 26: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,933 INFO L280 TraceCheckUtils]: 27: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,933 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {3027#true} {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} #86#return; {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} is VALID [2020-07-17 22:51:59,934 INFO L263 TraceCheckUtils]: 29: Hoare triple {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,934 INFO L280 TraceCheckUtils]: 30: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,934 INFO L280 TraceCheckUtils]: 31: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,934 INFO L280 TraceCheckUtils]: 32: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,935 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {3027#true} {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} #88#return; {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} is VALID [2020-07-17 22:51:59,935 INFO L280 TraceCheckUtils]: 34: Hoare triple {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} is VALID [2020-07-17 22:51:59,936 INFO L280 TraceCheckUtils]: 35: Hoare triple {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} assume !!(0 != #t~nondet2);havoc #t~nondet2; {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} is VALID [2020-07-17 22:51:59,937 INFO L280 TraceCheckUtils]: 36: Hoare triple {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} assume !(~buf~0 == ~buflim~0); {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} is VALID [2020-07-17 22:51:59,937 INFO L263 TraceCheckUtils]: 37: Hoare triple {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,937 INFO L280 TraceCheckUtils]: 38: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,937 INFO L280 TraceCheckUtils]: 39: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,938 INFO L280 TraceCheckUtils]: 40: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,938 INFO L275 TraceCheckUtils]: 41: Hoare quadruple {3027#true} {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} #82#return; {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} is VALID [2020-07-17 22:51:59,938 INFO L263 TraceCheckUtils]: 42: Hoare triple {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,939 INFO L280 TraceCheckUtils]: 43: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,939 INFO L280 TraceCheckUtils]: 44: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,939 INFO L280 TraceCheckUtils]: 45: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,942 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {3027#true} {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} #84#return; {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} is VALID [2020-07-17 22:51:59,946 INFO L280 TraceCheckUtils]: 47: Hoare triple {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} is VALID [2020-07-17 22:51:59,948 INFO L280 TraceCheckUtils]: 48: Hoare triple {3158#(and (<= 4 main_~inlen~0) (<= main_~in~0 1))} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} is VALID [2020-07-17 22:51:59,948 INFO L263 TraceCheckUtils]: 49: Hoare triple {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,948 INFO L280 TraceCheckUtils]: 50: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,948 INFO L280 TraceCheckUtils]: 51: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,948 INFO L280 TraceCheckUtils]: 52: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,949 INFO L275 TraceCheckUtils]: 53: Hoare quadruple {3027#true} {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} #86#return; {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} is VALID [2020-07-17 22:51:59,950 INFO L263 TraceCheckUtils]: 54: Hoare triple {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,950 INFO L280 TraceCheckUtils]: 55: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,950 INFO L280 TraceCheckUtils]: 56: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,950 INFO L280 TraceCheckUtils]: 57: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,951 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {3027#true} {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} #88#return; {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} is VALID [2020-07-17 22:51:59,952 INFO L280 TraceCheckUtils]: 59: Hoare triple {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} is VALID [2020-07-17 22:51:59,953 INFO L280 TraceCheckUtils]: 60: Hoare triple {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} assume !!(0 != #t~nondet2);havoc #t~nondet2; {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} is VALID [2020-07-17 22:51:59,953 INFO L280 TraceCheckUtils]: 61: Hoare triple {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} assume !(~buf~0 == ~buflim~0); {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} is VALID [2020-07-17 22:51:59,954 INFO L263 TraceCheckUtils]: 62: Hoare triple {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,954 INFO L280 TraceCheckUtils]: 63: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,954 INFO L280 TraceCheckUtils]: 64: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,954 INFO L280 TraceCheckUtils]: 65: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,955 INFO L275 TraceCheckUtils]: 66: Hoare quadruple {3027#true} {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} #82#return; {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} is VALID [2020-07-17 22:51:59,955 INFO L263 TraceCheckUtils]: 67: Hoare triple {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,955 INFO L280 TraceCheckUtils]: 68: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,955 INFO L280 TraceCheckUtils]: 69: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,956 INFO L280 TraceCheckUtils]: 70: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,956 INFO L275 TraceCheckUtils]: 71: Hoare quadruple {3027#true} {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} #84#return; {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} is VALID [2020-07-17 22:51:59,957 INFO L280 TraceCheckUtils]: 72: Hoare triple {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} is VALID [2020-07-17 22:51:59,958 INFO L280 TraceCheckUtils]: 73: Hoare triple {3234#(and (<= 4 main_~inlen~0) (<= main_~in~0 2))} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {3310#(and (<= main_~in~0 3) (<= 4 main_~inlen~0))} is VALID [2020-07-17 22:51:59,958 INFO L263 TraceCheckUtils]: 74: Hoare triple {3310#(and (<= main_~in~0 3) (<= 4 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3027#true} is VALID [2020-07-17 22:51:59,959 INFO L280 TraceCheckUtils]: 75: Hoare triple {3027#true} ~cond := #in~cond; {3027#true} is VALID [2020-07-17 22:51:59,959 INFO L280 TraceCheckUtils]: 76: Hoare triple {3027#true} assume !(0 == ~cond); {3027#true} is VALID [2020-07-17 22:51:59,959 INFO L280 TraceCheckUtils]: 77: Hoare triple {3027#true} assume true; {3027#true} is VALID [2020-07-17 22:51:59,960 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {3027#true} {3310#(and (<= main_~in~0 3) (<= 4 main_~inlen~0))} #86#return; {3310#(and (<= main_~in~0 3) (<= 4 main_~inlen~0))} is VALID [2020-07-17 22:51:59,961 INFO L263 TraceCheckUtils]: 79: Hoare triple {3310#(and (<= main_~in~0 3) (<= 4 main_~inlen~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3329#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2020-07-17 22:51:59,961 INFO L280 TraceCheckUtils]: 80: Hoare triple {3329#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3333#(<= 1 __VERIFIER_assert_~cond)} is VALID [2020-07-17 22:51:59,961 INFO L280 TraceCheckUtils]: 81: Hoare triple {3333#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3028#false} is VALID [2020-07-17 22:51:59,962 INFO L280 TraceCheckUtils]: 82: Hoare triple {3028#false} assume !false; {3028#false} is VALID [2020-07-17 22:51:59,969 INFO L134 CoverageAnalysis]: Checked inductivity of 269 backedges. 22 proven. 27 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2020-07-17 22:51:59,969 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:51:59,969 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 18 [2020-07-17 22:51:59,970 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [256741865] [2020-07-17 22:51:59,970 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 83 [2020-07-17 22:51:59,971 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:51:59,971 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-17 22:52:00,105 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:52:00,105 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-17 22:52:00,105 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:52:00,106 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-17 22:52:00,106 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=244, Unknown=0, NotChecked=0, Total=306 [2020-07-17 22:52:00,106 INFO L87 Difference]: Start difference. First operand 91 states and 110 transitions. Second operand 18 states. [2020-07-17 22:52:02,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:52:02,111 INFO L93 Difference]: Finished difference Result 112 states and 134 transitions. [2020-07-17 22:52:02,111 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2020-07-17 22:52:02,111 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 83 [2020-07-17 22:52:02,111 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:52:02,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-17 22:52:02,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 110 transitions. [2020-07-17 22:52:02,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-17 22:52:02,119 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 110 transitions. [2020-07-17 22:52:02,119 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 110 transitions. [2020-07-17 22:52:02,301 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:52:02,306 INFO L225 Difference]: With dead ends: 112 [2020-07-17 22:52:02,307 INFO L226 Difference]: Without dead ends: 110 [2020-07-17 22:52:02,307 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 126 GetRequests, 99 SyntacticMatches, 2 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 154 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=155, Invalid=547, Unknown=0, NotChecked=0, Total=702 [2020-07-17 22:52:02,308 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2020-07-17 22:52:02,472 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 99. [2020-07-17 22:52:02,472 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:52:02,473 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand 99 states. [2020-07-17 22:52:02,473 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand 99 states. [2020-07-17 22:52:02,473 INFO L87 Difference]: Start difference. First operand 110 states. Second operand 99 states. [2020-07-17 22:52:02,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:52:02,478 INFO L93 Difference]: Finished difference Result 110 states and 132 transitions. [2020-07-17 22:52:02,478 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 132 transitions. [2020-07-17 22:52:02,480 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:52:02,480 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:52:02,480 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand 110 states. [2020-07-17 22:52:02,480 INFO L87 Difference]: Start difference. First operand 99 states. Second operand 110 states. [2020-07-17 22:52:02,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:52:02,484 INFO L93 Difference]: Finished difference Result 110 states and 132 transitions. [2020-07-17 22:52:02,484 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 132 transitions. [2020-07-17 22:52:02,485 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:52:02,485 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:52:02,485 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:52:02,485 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:52:02,485 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 99 states. [2020-07-17 22:52:02,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 116 transitions. [2020-07-17 22:52:02,489 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 116 transitions. Word has length 83 [2020-07-17 22:52:02,489 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:52:02,489 INFO L479 AbstractCegarLoop]: Abstraction has 99 states and 116 transitions. [2020-07-17 22:52:02,489 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-17 22:52:02,489 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 116 transitions. [2020-07-17 22:52:02,490 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 107 [2020-07-17 22:52:02,490 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:52:02,490 INFO L422 BasicCegarLoop]: trace histogram [16, 15, 15, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:52:02,705 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,4 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:52:02,706 INFO L427 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:52:02,707 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:52:02,707 INFO L82 PathProgramCache]: Analyzing trace with hash 314554042, now seen corresponding path program 2 times [2020-07-17 22:52:02,707 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:52:02,708 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [587136845] [2020-07-17 22:52:02,708 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:52:02,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:02,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:02,995 INFO L280 TraceCheckUtils]: 0: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:02,996 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {3880#true} {3880#true} #78#return; {3880#true} is VALID [2020-07-17 22:52:02,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:03,002 INFO L280 TraceCheckUtils]: 0: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,002 INFO L280 TraceCheckUtils]: 1: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,003 INFO L280 TraceCheckUtils]: 2: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,004 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3880#true} {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} #82#return; {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:03,010 INFO L280 TraceCheckUtils]: 0: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,011 INFO L280 TraceCheckUtils]: 1: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,011 INFO L280 TraceCheckUtils]: 2: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,012 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3880#true} {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} #84#return; {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:03,020 INFO L280 TraceCheckUtils]: 0: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,021 INFO L280 TraceCheckUtils]: 1: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,021 INFO L280 TraceCheckUtils]: 2: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,022 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3880#true} {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} #86#return; {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:03,028 INFO L280 TraceCheckUtils]: 0: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,029 INFO L280 TraceCheckUtils]: 1: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,029 INFO L280 TraceCheckUtils]: 2: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,030 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3880#true} {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} #88#return; {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:03,038 INFO L280 TraceCheckUtils]: 0: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,038 INFO L280 TraceCheckUtils]: 1: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,038 INFO L280 TraceCheckUtils]: 2: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,039 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3880#true} {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} #82#return; {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:03,048 INFO L280 TraceCheckUtils]: 0: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,048 INFO L280 TraceCheckUtils]: 1: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,049 INFO L280 TraceCheckUtils]: 2: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,050 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3880#true} {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} #84#return; {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:03,064 INFO L280 TraceCheckUtils]: 0: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,064 INFO L280 TraceCheckUtils]: 1: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,064 INFO L280 TraceCheckUtils]: 2: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,065 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3880#true} {3911#(and (<= main_~buf~0 main_~buflim~0) (or (<= (+ main_~buflim~0 2) main_~bufferlen~0) (<= main_~buflim~0 main_~buf~0)))} #86#return; {3911#(and (<= main_~buf~0 main_~buflim~0) (or (<= (+ main_~buflim~0 2) main_~bufferlen~0) (<= main_~buflim~0 main_~buf~0)))} is VALID [2020-07-17 22:52:03,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:03,071 INFO L280 TraceCheckUtils]: 0: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,071 INFO L280 TraceCheckUtils]: 1: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,071 INFO L280 TraceCheckUtils]: 2: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,072 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3880#true} {3911#(and (<= main_~buf~0 main_~buflim~0) (or (<= (+ main_~buflim~0 2) main_~bufferlen~0) (<= main_~buflim~0 main_~buf~0)))} #88#return; {3911#(and (<= main_~buf~0 main_~buflim~0) (or (<= (+ main_~buflim~0 2) main_~bufferlen~0) (<= main_~buflim~0 main_~buf~0)))} is VALID [2020-07-17 22:52:03,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:03,077 INFO L280 TraceCheckUtils]: 0: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,077 INFO L280 TraceCheckUtils]: 1: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,078 INFO L280 TraceCheckUtils]: 2: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,078 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3880#true} {3920#(<= (+ main_~buf~0 3) main_~bufferlen~0)} #82#return; {3920#(<= (+ main_~buf~0 3) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:03,083 INFO L280 TraceCheckUtils]: 0: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,084 INFO L280 TraceCheckUtils]: 1: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,084 INFO L280 TraceCheckUtils]: 2: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,085 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3880#true} {3920#(<= (+ main_~buf~0 3) main_~bufferlen~0)} #84#return; {3920#(<= (+ main_~buf~0 3) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:03,089 INFO L280 TraceCheckUtils]: 0: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,089 INFO L280 TraceCheckUtils]: 1: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,089 INFO L280 TraceCheckUtils]: 2: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,090 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3880#true} {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #86#return; {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:03,094 INFO L280 TraceCheckUtils]: 0: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,094 INFO L280 TraceCheckUtils]: 1: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,095 INFO L280 TraceCheckUtils]: 2: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,095 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3880#true} {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #88#return; {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:03,100 INFO L280 TraceCheckUtils]: 0: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,100 INFO L280 TraceCheckUtils]: 1: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,101 INFO L280 TraceCheckUtils]: 2: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,102 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3880#true} {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #90#return; {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,103 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:03,107 INFO L280 TraceCheckUtils]: 0: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,107 INFO L280 TraceCheckUtils]: 1: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,108 INFO L280 TraceCheckUtils]: 2: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,109 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3880#true} {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #92#return; {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:03,127 INFO L280 TraceCheckUtils]: 0: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,128 INFO L280 TraceCheckUtils]: 1: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,128 INFO L280 TraceCheckUtils]: 2: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,129 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3880#true} {3946#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #94#return; {3946#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,129 INFO L263 TraceCheckUtils]: 0: Hoare triple {3880#true} call ULTIMATE.init(); {3880#true} is VALID [2020-07-17 22:52:03,129 INFO L280 TraceCheckUtils]: 1: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,130 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {3880#true} {3880#true} #78#return; {3880#true} is VALID [2020-07-17 22:52:03,130 INFO L263 TraceCheckUtils]: 3: Hoare triple {3880#true} call #t~ret7 := main(); {3880#true} is VALID [2020-07-17 22:52:03,130 INFO L280 TraceCheckUtils]: 4: Hoare triple {3880#true} havoc ~in~0;assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~inlen~0 := #t~nondet0;havoc #t~nondet0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~bufferlen~0 := #t~nondet1;havoc #t~nondet1;havoc ~buf~0;havoc ~buflim~0; {3880#true} is VALID [2020-07-17 22:52:03,131 INFO L280 TraceCheckUtils]: 5: Hoare triple {3880#true} assume ~bufferlen~0 > 1; {3884#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,131 INFO L280 TraceCheckUtils]: 6: Hoare triple {3884#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {3884#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,132 INFO L280 TraceCheckUtils]: 7: Hoare triple {3884#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {3884#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,133 INFO L280 TraceCheckUtils]: 8: Hoare triple {3884#(<= 2 main_~bufferlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,134 INFO L280 TraceCheckUtils]: 9: Hoare triple {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,134 INFO L280 TraceCheckUtils]: 10: Hoare triple {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} assume !!(0 != #t~nondet2);havoc #t~nondet2; {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,135 INFO L280 TraceCheckUtils]: 11: Hoare triple {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} assume !(~buf~0 == ~buflim~0); {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,135 INFO L263 TraceCheckUtils]: 12: Hoare triple {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,136 INFO L280 TraceCheckUtils]: 13: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,136 INFO L280 TraceCheckUtils]: 14: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,136 INFO L280 TraceCheckUtils]: 15: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,137 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {3880#true} {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} #82#return; {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,137 INFO L263 TraceCheckUtils]: 17: Hoare triple {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,137 INFO L280 TraceCheckUtils]: 18: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,137 INFO L280 TraceCheckUtils]: 19: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,138 INFO L280 TraceCheckUtils]: 20: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,138 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {3880#true} {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} #84#return; {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,139 INFO L280 TraceCheckUtils]: 22: Hoare triple {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,140 INFO L280 TraceCheckUtils]: 23: Hoare triple {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,140 INFO L263 TraceCheckUtils]: 24: Hoare triple {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,141 INFO L280 TraceCheckUtils]: 25: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,141 INFO L280 TraceCheckUtils]: 26: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,141 INFO L280 TraceCheckUtils]: 27: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,142 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {3880#true} {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} #86#return; {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,142 INFO L263 TraceCheckUtils]: 29: Hoare triple {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,142 INFO L280 TraceCheckUtils]: 30: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,143 INFO L280 TraceCheckUtils]: 31: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,143 INFO L280 TraceCheckUtils]: 32: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,144 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {3880#true} {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} #88#return; {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,144 INFO L280 TraceCheckUtils]: 34: Hoare triple {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,145 INFO L280 TraceCheckUtils]: 35: Hoare triple {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} assume !!(0 != #t~nondet2);havoc #t~nondet2; {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,146 INFO L280 TraceCheckUtils]: 36: Hoare triple {3885#(and (<= main_~buf~0 main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} assume !(~buf~0 == ~buflim~0); {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,146 INFO L263 TraceCheckUtils]: 37: Hoare triple {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,146 INFO L280 TraceCheckUtils]: 38: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,147 INFO L280 TraceCheckUtils]: 39: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,147 INFO L280 TraceCheckUtils]: 40: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,148 INFO L275 TraceCheckUtils]: 41: Hoare quadruple {3880#true} {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} #82#return; {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,148 INFO L263 TraceCheckUtils]: 42: Hoare triple {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,148 INFO L280 TraceCheckUtils]: 43: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,149 INFO L280 TraceCheckUtils]: 44: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,149 INFO L280 TraceCheckUtils]: 45: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,150 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {3880#true} {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} #84#return; {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} is VALID [2020-07-17 22:52:03,151 INFO L280 TraceCheckUtils]: 47: Hoare triple {3886#(and (<= (+ main_~buf~0 1) main_~buflim~0) (<= (+ main_~buflim~0 2) main_~bufferlen~0))} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {3911#(and (<= main_~buf~0 main_~buflim~0) (or (<= (+ main_~buflim~0 2) main_~bufferlen~0) (<= main_~buflim~0 main_~buf~0)))} is VALID [2020-07-17 22:52:03,152 INFO L280 TraceCheckUtils]: 48: Hoare triple {3911#(and (<= main_~buf~0 main_~buflim~0) (or (<= (+ main_~buflim~0 2) main_~bufferlen~0) (<= main_~buflim~0 main_~buf~0)))} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {3911#(and (<= main_~buf~0 main_~buflim~0) (or (<= (+ main_~buflim~0 2) main_~bufferlen~0) (<= main_~buflim~0 main_~buf~0)))} is VALID [2020-07-17 22:52:03,153 INFO L263 TraceCheckUtils]: 49: Hoare triple {3911#(and (<= main_~buf~0 main_~buflim~0) (or (<= (+ main_~buflim~0 2) main_~bufferlen~0) (<= main_~buflim~0 main_~buf~0)))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,153 INFO L280 TraceCheckUtils]: 50: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,153 INFO L280 TraceCheckUtils]: 51: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,154 INFO L280 TraceCheckUtils]: 52: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,155 INFO L275 TraceCheckUtils]: 53: Hoare quadruple {3880#true} {3911#(and (<= main_~buf~0 main_~buflim~0) (or (<= (+ main_~buflim~0 2) main_~bufferlen~0) (<= main_~buflim~0 main_~buf~0)))} #86#return; {3911#(and (<= main_~buf~0 main_~buflim~0) (or (<= (+ main_~buflim~0 2) main_~bufferlen~0) (<= main_~buflim~0 main_~buf~0)))} is VALID [2020-07-17 22:52:03,155 INFO L263 TraceCheckUtils]: 54: Hoare triple {3911#(and (<= main_~buf~0 main_~buflim~0) (or (<= (+ main_~buflim~0 2) main_~bufferlen~0) (<= main_~buflim~0 main_~buf~0)))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,156 INFO L280 TraceCheckUtils]: 55: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,156 INFO L280 TraceCheckUtils]: 56: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,156 INFO L280 TraceCheckUtils]: 57: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,158 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {3880#true} {3911#(and (<= main_~buf~0 main_~buflim~0) (or (<= (+ main_~buflim~0 2) main_~bufferlen~0) (<= main_~buflim~0 main_~buf~0)))} #88#return; {3911#(and (<= main_~buf~0 main_~buflim~0) (or (<= (+ main_~buflim~0 2) main_~bufferlen~0) (<= main_~buflim~0 main_~buf~0)))} is VALID [2020-07-17 22:52:03,160 INFO L280 TraceCheckUtils]: 59: Hoare triple {3911#(and (<= main_~buf~0 main_~buflim~0) (or (<= (+ main_~buflim~0 2) main_~bufferlen~0) (<= main_~buflim~0 main_~buf~0)))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3911#(and (<= main_~buf~0 main_~buflim~0) (or (<= (+ main_~buflim~0 2) main_~bufferlen~0) (<= main_~buflim~0 main_~buf~0)))} is VALID [2020-07-17 22:52:03,161 INFO L280 TraceCheckUtils]: 60: Hoare triple {3911#(and (<= main_~buf~0 main_~buflim~0) (or (<= (+ main_~buflim~0 2) main_~bufferlen~0) (<= main_~buflim~0 main_~buf~0)))} assume !!(0 != #t~nondet2);havoc #t~nondet2; {3911#(and (<= main_~buf~0 main_~buflim~0) (or (<= (+ main_~buflim~0 2) main_~bufferlen~0) (<= main_~buflim~0 main_~buf~0)))} is VALID [2020-07-17 22:52:03,163 INFO L280 TraceCheckUtils]: 61: Hoare triple {3911#(and (<= main_~buf~0 main_~buflim~0) (or (<= (+ main_~buflim~0 2) main_~bufferlen~0) (<= main_~buflim~0 main_~buf~0)))} assume !(~buf~0 == ~buflim~0); {3920#(<= (+ main_~buf~0 3) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,164 INFO L263 TraceCheckUtils]: 62: Hoare triple {3920#(<= (+ main_~buf~0 3) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,164 INFO L280 TraceCheckUtils]: 63: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,164 INFO L280 TraceCheckUtils]: 64: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,165 INFO L280 TraceCheckUtils]: 65: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,166 INFO L275 TraceCheckUtils]: 66: Hoare quadruple {3880#true} {3920#(<= (+ main_~buf~0 3) main_~bufferlen~0)} #82#return; {3920#(<= (+ main_~buf~0 3) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,166 INFO L263 TraceCheckUtils]: 67: Hoare triple {3920#(<= (+ main_~buf~0 3) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,167 INFO L280 TraceCheckUtils]: 68: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,167 INFO L280 TraceCheckUtils]: 69: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,167 INFO L280 TraceCheckUtils]: 70: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,169 INFO L275 TraceCheckUtils]: 71: Hoare quadruple {3880#true} {3920#(<= (+ main_~buf~0 3) main_~bufferlen~0)} #84#return; {3920#(<= (+ main_~buf~0 3) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,170 INFO L280 TraceCheckUtils]: 72: Hoare triple {3920#(<= (+ main_~buf~0 3) main_~bufferlen~0)} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,172 INFO L280 TraceCheckUtils]: 73: Hoare triple {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,172 INFO L263 TraceCheckUtils]: 74: Hoare triple {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,172 INFO L280 TraceCheckUtils]: 75: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,172 INFO L280 TraceCheckUtils]: 76: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,173 INFO L280 TraceCheckUtils]: 77: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,174 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {3880#true} {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #86#return; {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,174 INFO L263 TraceCheckUtils]: 79: Hoare triple {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,175 INFO L280 TraceCheckUtils]: 80: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,175 INFO L280 TraceCheckUtils]: 81: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,175 INFO L280 TraceCheckUtils]: 82: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,177 INFO L275 TraceCheckUtils]: 83: Hoare quadruple {3880#true} {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #88#return; {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,179 INFO L280 TraceCheckUtils]: 84: Hoare triple {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,181 INFO L280 TraceCheckUtils]: 85: Hoare triple {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} assume !(0 != #t~nondet2);havoc #t~nondet2; {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,181 INFO L263 TraceCheckUtils]: 86: Hoare triple {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,181 INFO L280 TraceCheckUtils]: 87: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,182 INFO L280 TraceCheckUtils]: 88: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,182 INFO L280 TraceCheckUtils]: 89: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,184 INFO L275 TraceCheckUtils]: 90: Hoare quadruple {3880#true} {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #90#return; {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,184 INFO L263 TraceCheckUtils]: 91: Hoare triple {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,185 INFO L280 TraceCheckUtils]: 92: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,185 INFO L280 TraceCheckUtils]: 93: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,185 INFO L280 TraceCheckUtils]: 94: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,187 INFO L275 TraceCheckUtils]: 95: Hoare quadruple {3880#true} {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #92#return; {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,189 INFO L280 TraceCheckUtils]: 96: Hoare triple {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #t~post5 := ~buf~0;~buf~0 := 1 + #t~post5;havoc #t~post5; {3946#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,189 INFO L263 TraceCheckUtils]: 97: Hoare triple {3946#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,189 INFO L280 TraceCheckUtils]: 98: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,190 INFO L280 TraceCheckUtils]: 99: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,190 INFO L280 TraceCheckUtils]: 100: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,192 INFO L275 TraceCheckUtils]: 101: Hoare quadruple {3880#true} {3946#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #94#return; {3946#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,193 INFO L263 TraceCheckUtils]: 102: Hoare triple {3946#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3951#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:52:03,194 INFO L280 TraceCheckUtils]: 103: Hoare triple {3951#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {3952#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-17 22:52:03,194 INFO L280 TraceCheckUtils]: 104: Hoare triple {3952#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {3881#false} is VALID [2020-07-17 22:52:03,195 INFO L280 TraceCheckUtils]: 105: Hoare triple {3881#false} assume !false; {3881#false} is VALID [2020-07-17 22:52:03,219 INFO L134 CoverageAnalysis]: Checked inductivity of 483 backedges. 30 proven. 27 refuted. 0 times theorem prover too weak. 426 trivial. 0 not checked. [2020-07-17 22:52:03,220 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [587136845] [2020-07-17 22:52:03,220 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [653190157] [2020-07-17 22:52:03,220 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:52:03,274 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-17 22:52:03,274 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-17 22:52:03,276 INFO L264 TraceCheckSpWp]: Trace formula consists of 201 conjuncts, 14 conjunts are in the unsatisfiable core [2020-07-17 22:52:03,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:03,304 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:52:03,627 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-17 22:52:03,689 INFO L263 TraceCheckUtils]: 0: Hoare triple {3880#true} call ULTIMATE.init(); {3880#true} is VALID [2020-07-17 22:52:03,689 INFO L280 TraceCheckUtils]: 1: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,689 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {3880#true} {3880#true} #78#return; {3880#true} is VALID [2020-07-17 22:52:03,689 INFO L263 TraceCheckUtils]: 3: Hoare triple {3880#true} call #t~ret7 := main(); {3880#true} is VALID [2020-07-17 22:52:03,690 INFO L280 TraceCheckUtils]: 4: Hoare triple {3880#true} havoc ~in~0;assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~inlen~0 := #t~nondet0;havoc #t~nondet0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~bufferlen~0 := #t~nondet1;havoc #t~nondet1;havoc ~buf~0;havoc ~buflim~0; {3880#true} is VALID [2020-07-17 22:52:03,690 INFO L280 TraceCheckUtils]: 5: Hoare triple {3880#true} assume ~bufferlen~0 > 1; {3880#true} is VALID [2020-07-17 22:52:03,690 INFO L280 TraceCheckUtils]: 6: Hoare triple {3880#true} assume ~inlen~0 > 0; {3880#true} is VALID [2020-07-17 22:52:03,690 INFO L280 TraceCheckUtils]: 7: Hoare triple {3880#true} assume ~bufferlen~0 < ~inlen~0; {3880#true} is VALID [2020-07-17 22:52:03,691 INFO L280 TraceCheckUtils]: 8: Hoare triple {3880#true} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,692 INFO L280 TraceCheckUtils]: 9: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,692 INFO L280 TraceCheckUtils]: 10: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} assume !!(0 != #t~nondet2);havoc #t~nondet2; {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,693 INFO L280 TraceCheckUtils]: 11: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} assume !(~buf~0 == ~buflim~0); {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,693 INFO L263 TraceCheckUtils]: 12: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,693 INFO L280 TraceCheckUtils]: 13: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,693 INFO L280 TraceCheckUtils]: 14: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,693 INFO L280 TraceCheckUtils]: 15: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,694 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {3880#true} {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} #82#return; {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,695 INFO L263 TraceCheckUtils]: 17: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,695 INFO L280 TraceCheckUtils]: 18: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,695 INFO L280 TraceCheckUtils]: 19: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,695 INFO L280 TraceCheckUtils]: 20: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,696 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {3880#true} {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} #84#return; {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,697 INFO L280 TraceCheckUtils]: 22: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,698 INFO L280 TraceCheckUtils]: 23: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,698 INFO L263 TraceCheckUtils]: 24: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,698 INFO L280 TraceCheckUtils]: 25: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,698 INFO L280 TraceCheckUtils]: 26: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,699 INFO L280 TraceCheckUtils]: 27: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,700 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {3880#true} {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} #86#return; {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,700 INFO L263 TraceCheckUtils]: 29: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,700 INFO L280 TraceCheckUtils]: 30: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,700 INFO L280 TraceCheckUtils]: 31: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,701 INFO L280 TraceCheckUtils]: 32: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,702 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {3880#true} {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} #88#return; {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,702 INFO L280 TraceCheckUtils]: 34: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,703 INFO L280 TraceCheckUtils]: 35: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} assume !!(0 != #t~nondet2);havoc #t~nondet2; {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,704 INFO L280 TraceCheckUtils]: 36: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} assume !(~buf~0 == ~buflim~0); {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,704 INFO L263 TraceCheckUtils]: 37: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,704 INFO L280 TraceCheckUtils]: 38: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,704 INFO L280 TraceCheckUtils]: 39: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,705 INFO L280 TraceCheckUtils]: 40: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,705 INFO L275 TraceCheckUtils]: 41: Hoare quadruple {3880#true} {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} #82#return; {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,706 INFO L263 TraceCheckUtils]: 42: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,706 INFO L280 TraceCheckUtils]: 43: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,706 INFO L280 TraceCheckUtils]: 44: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,706 INFO L280 TraceCheckUtils]: 45: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,707 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {3880#true} {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} #84#return; {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,708 INFO L280 TraceCheckUtils]: 47: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,708 INFO L280 TraceCheckUtils]: 48: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,709 INFO L263 TraceCheckUtils]: 49: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,709 INFO L280 TraceCheckUtils]: 50: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,709 INFO L280 TraceCheckUtils]: 51: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,709 INFO L280 TraceCheckUtils]: 52: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,710 INFO L275 TraceCheckUtils]: 53: Hoare quadruple {3880#true} {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} #86#return; {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,710 INFO L263 TraceCheckUtils]: 54: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,710 INFO L280 TraceCheckUtils]: 55: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,711 INFO L280 TraceCheckUtils]: 56: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,711 INFO L280 TraceCheckUtils]: 57: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,712 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {3880#true} {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} #88#return; {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,713 INFO L280 TraceCheckUtils]: 59: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,713 INFO L280 TraceCheckUtils]: 60: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} assume !!(0 != #t~nondet2);havoc #t~nondet2; {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} is VALID [2020-07-17 22:52:03,714 INFO L280 TraceCheckUtils]: 61: Hoare triple {3980#(= main_~bufferlen~0 (+ main_~buflim~0 2))} assume !(~buf~0 == ~buflim~0); {4140#(not (= main_~bufferlen~0 (+ main_~buf~0 2)))} is VALID [2020-07-17 22:52:03,715 INFO L263 TraceCheckUtils]: 62: Hoare triple {4140#(not (= main_~bufferlen~0 (+ main_~buf~0 2)))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,715 INFO L280 TraceCheckUtils]: 63: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,715 INFO L280 TraceCheckUtils]: 64: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,715 INFO L280 TraceCheckUtils]: 65: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,716 INFO L275 TraceCheckUtils]: 66: Hoare quadruple {3880#true} {4140#(not (= main_~bufferlen~0 (+ main_~buf~0 2)))} #82#return; {4140#(not (= main_~bufferlen~0 (+ main_~buf~0 2)))} is VALID [2020-07-17 22:52:03,717 INFO L263 TraceCheckUtils]: 67: Hoare triple {4140#(not (= main_~bufferlen~0 (+ main_~buf~0 2)))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,717 INFO L280 TraceCheckUtils]: 68: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,717 INFO L280 TraceCheckUtils]: 69: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,717 INFO L280 TraceCheckUtils]: 70: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,719 INFO L275 TraceCheckUtils]: 71: Hoare quadruple {3880#true} {4140#(not (= main_~bufferlen~0 (+ main_~buf~0 2)))} #84#return; {4140#(not (= main_~bufferlen~0 (+ main_~buf~0 2)))} is VALID [2020-07-17 22:52:03,720 INFO L280 TraceCheckUtils]: 72: Hoare triple {4140#(not (= main_~bufferlen~0 (+ main_~buf~0 2)))} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {4174#(not (= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2020-07-17 22:52:03,721 INFO L280 TraceCheckUtils]: 73: Hoare triple {4174#(not (= main_~bufferlen~0 (+ main_~buf~0 1)))} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {4174#(not (= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2020-07-17 22:52:03,721 INFO L263 TraceCheckUtils]: 74: Hoare triple {4174#(not (= main_~bufferlen~0 (+ main_~buf~0 1)))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,722 INFO L280 TraceCheckUtils]: 75: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,722 INFO L280 TraceCheckUtils]: 76: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,722 INFO L280 TraceCheckUtils]: 77: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,723 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {3880#true} {4174#(not (= main_~bufferlen~0 (+ main_~buf~0 1)))} #86#return; {4174#(not (= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2020-07-17 22:52:03,723 INFO L263 TraceCheckUtils]: 79: Hoare triple {4174#(not (= main_~bufferlen~0 (+ main_~buf~0 1)))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,724 INFO L280 TraceCheckUtils]: 80: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,724 INFO L280 TraceCheckUtils]: 81: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,724 INFO L280 TraceCheckUtils]: 82: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,725 INFO L275 TraceCheckUtils]: 83: Hoare quadruple {3880#true} {4174#(not (= main_~bufferlen~0 (+ main_~buf~0 1)))} #88#return; {4174#(not (= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2020-07-17 22:52:03,726 INFO L280 TraceCheckUtils]: 84: Hoare triple {4174#(not (= main_~bufferlen~0 (+ main_~buf~0 1)))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {4174#(not (= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2020-07-17 22:52:03,727 INFO L280 TraceCheckUtils]: 85: Hoare triple {4174#(not (= main_~bufferlen~0 (+ main_~buf~0 1)))} assume !(0 != #t~nondet2);havoc #t~nondet2; {4174#(not (= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2020-07-17 22:52:03,727 INFO L263 TraceCheckUtils]: 86: Hoare triple {4174#(not (= main_~bufferlen~0 (+ main_~buf~0 1)))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,727 INFO L280 TraceCheckUtils]: 87: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,727 INFO L280 TraceCheckUtils]: 88: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,727 INFO L280 TraceCheckUtils]: 89: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,728 INFO L275 TraceCheckUtils]: 90: Hoare quadruple {3880#true} {4174#(not (= main_~bufferlen~0 (+ main_~buf~0 1)))} #90#return; {4174#(not (= main_~bufferlen~0 (+ main_~buf~0 1)))} is VALID [2020-07-17 22:52:03,729 INFO L263 TraceCheckUtils]: 91: Hoare triple {4174#(not (= main_~bufferlen~0 (+ main_~buf~0 1)))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,729 INFO L280 TraceCheckUtils]: 92: Hoare triple {3880#true} ~cond := #in~cond; {4235#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2020-07-17 22:52:03,730 INFO L280 TraceCheckUtils]: 93: Hoare triple {4235#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3951#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:52:03,731 INFO L280 TraceCheckUtils]: 94: Hoare triple {3951#(not (= 0 |__VERIFIER_assert_#in~cond|))} assume true; {3951#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:52:03,732 INFO L275 TraceCheckUtils]: 95: Hoare quadruple {3951#(not (= 0 |__VERIFIER_assert_#in~cond|))} {4174#(not (= main_~bufferlen~0 (+ main_~buf~0 1)))} #92#return; {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,733 INFO L280 TraceCheckUtils]: 96: Hoare triple {3929#(<= (+ main_~buf~0 2) main_~bufferlen~0)} #t~post5 := ~buf~0;~buf~0 := 1 + #t~post5;havoc #t~post5; {3946#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,733 INFO L263 TraceCheckUtils]: 97: Hoare triple {3946#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {3880#true} is VALID [2020-07-17 22:52:03,733 INFO L280 TraceCheckUtils]: 98: Hoare triple {3880#true} ~cond := #in~cond; {3880#true} is VALID [2020-07-17 22:52:03,734 INFO L280 TraceCheckUtils]: 99: Hoare triple {3880#true} assume !(0 == ~cond); {3880#true} is VALID [2020-07-17 22:52:03,734 INFO L280 TraceCheckUtils]: 100: Hoare triple {3880#true} assume true; {3880#true} is VALID [2020-07-17 22:52:03,735 INFO L275 TraceCheckUtils]: 101: Hoare quadruple {3880#true} {3946#(<= (+ main_~buf~0 1) main_~bufferlen~0)} #94#return; {3946#(<= (+ main_~buf~0 1) main_~bufferlen~0)} is VALID [2020-07-17 22:52:03,736 INFO L263 TraceCheckUtils]: 102: Hoare triple {3946#(<= (+ main_~buf~0 1) main_~bufferlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4266#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2020-07-17 22:52:03,736 INFO L280 TraceCheckUtils]: 103: Hoare triple {4266#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4270#(<= 1 __VERIFIER_assert_~cond)} is VALID [2020-07-17 22:52:03,737 INFO L280 TraceCheckUtils]: 104: Hoare triple {4270#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3881#false} is VALID [2020-07-17 22:52:03,737 INFO L280 TraceCheckUtils]: 105: Hoare triple {3881#false} assume !false; {3881#false} is VALID [2020-07-17 22:52:03,750 INFO L134 CoverageAnalysis]: Checked inductivity of 483 backedges. 68 proven. 22 refuted. 0 times theorem prover too weak. 393 trivial. 0 not checked. [2020-07-17 22:52:03,750 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:52:03,751 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 17 [2020-07-17 22:52:03,751 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1523912747] [2020-07-17 22:52:03,752 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 106 [2020-07-17 22:52:03,753 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:52:03,754 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-17 22:52:03,886 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:52:03,886 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-17 22:52:03,886 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:52:03,886 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-17 22:52:03,887 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=222, Unknown=0, NotChecked=0, Total=272 [2020-07-17 22:52:03,887 INFO L87 Difference]: Start difference. First operand 99 states and 116 transitions. Second operand 17 states. [2020-07-17 22:52:04,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:52:04,883 INFO L93 Difference]: Finished difference Result 105 states and 121 transitions. [2020-07-17 22:52:04,884 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-17 22:52:04,884 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 106 [2020-07-17 22:52:04,884 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:52:04,884 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-17 22:52:04,886 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 42 transitions. [2020-07-17 22:52:04,886 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-17 22:52:04,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 42 transitions. [2020-07-17 22:52:04,887 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 42 transitions. [2020-07-17 22:52:04,944 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:52:04,946 INFO L225 Difference]: With dead ends: 105 [2020-07-17 22:52:04,947 INFO L226 Difference]: Without dead ends: 96 [2020-07-17 22:52:04,948 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 155 GetRequests, 132 SyntacticMatches, 3 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 74 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=92, Invalid=370, Unknown=0, NotChecked=0, Total=462 [2020-07-17 22:52:04,948 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2020-07-17 22:52:05,074 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 96. [2020-07-17 22:52:05,074 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:52:05,075 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand 96 states. [2020-07-17 22:52:05,075 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand 96 states. [2020-07-17 22:52:05,075 INFO L87 Difference]: Start difference. First operand 96 states. Second operand 96 states. [2020-07-17 22:52:05,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:52:05,078 INFO L93 Difference]: Finished difference Result 96 states and 103 transitions. [2020-07-17 22:52:05,078 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 103 transitions. [2020-07-17 22:52:05,079 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:52:05,079 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:52:05,079 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand 96 states. [2020-07-17 22:52:05,079 INFO L87 Difference]: Start difference. First operand 96 states. Second operand 96 states. [2020-07-17 22:52:05,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:52:05,083 INFO L93 Difference]: Finished difference Result 96 states and 103 transitions. [2020-07-17 22:52:05,083 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 103 transitions. [2020-07-17 22:52:05,084 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:52:05,084 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:52:05,084 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:52:05,084 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:52:05,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 96 states. [2020-07-17 22:52:05,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 103 transitions. [2020-07-17 22:52:05,087 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 103 transitions. Word has length 106 [2020-07-17 22:52:05,090 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:52:05,090 INFO L479 AbstractCegarLoop]: Abstraction has 96 states and 103 transitions. [2020-07-17 22:52:05,090 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-17 22:52:05,090 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 103 transitions. [2020-07-17 22:52:05,091 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2020-07-17 22:52:05,092 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:52:05,092 INFO L422 BasicCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:52:05,304 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,5 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:52:05,305 INFO L427 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:52:05,305 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:52:05,306 INFO L82 PathProgramCache]: Analyzing trace with hash 331157303, now seen corresponding path program 3 times [2020-07-17 22:52:05,306 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:52:05,307 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [169926480] [2020-07-17 22:52:05,307 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:52:05,325 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:05,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:05,605 INFO L280 TraceCheckUtils]: 0: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,606 INFO L275 TraceCheckUtils]: 1: Hoare quadruple {4761#true} {4761#true} #78#return; {4761#true} is VALID [2020-07-17 22:52:05,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:05,613 INFO L280 TraceCheckUtils]: 0: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,614 INFO L280 TraceCheckUtils]: 1: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,614 INFO L280 TraceCheckUtils]: 2: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,615 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4761#true} {4768#(and (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (<= (+ main_~buf~0 1) main_~buflim~0))} #82#return; {4768#(and (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (<= (+ main_~buf~0 1) main_~buflim~0))} is VALID [2020-07-17 22:52:05,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:05,627 INFO L280 TraceCheckUtils]: 0: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,628 INFO L280 TraceCheckUtils]: 1: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,628 INFO L280 TraceCheckUtils]: 2: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,629 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4761#true} {4768#(and (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (<= (+ main_~buf~0 1) main_~buflim~0))} #84#return; {4768#(and (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (<= (+ main_~buf~0 1) main_~buflim~0))} is VALID [2020-07-17 22:52:05,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:05,635 INFO L280 TraceCheckUtils]: 0: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,636 INFO L280 TraceCheckUtils]: 1: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,636 INFO L280 TraceCheckUtils]: 2: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,637 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4761#true} {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} #86#return; {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} is VALID [2020-07-17 22:52:05,640 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:05,645 INFO L280 TraceCheckUtils]: 0: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,645 INFO L280 TraceCheckUtils]: 1: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,646 INFO L280 TraceCheckUtils]: 2: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,647 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4761#true} {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} #88#return; {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} is VALID [2020-07-17 22:52:05,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:05,653 INFO L280 TraceCheckUtils]: 0: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,654 INFO L280 TraceCheckUtils]: 1: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,654 INFO L280 TraceCheckUtils]: 2: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,655 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4761#true} {4786#(<= (+ main_~in~0 4) main_~inlen~0)} #82#return; {4786#(<= (+ main_~in~0 4) main_~inlen~0)} is VALID [2020-07-17 22:52:05,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:05,664 INFO L280 TraceCheckUtils]: 0: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,665 INFO L280 TraceCheckUtils]: 1: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,665 INFO L280 TraceCheckUtils]: 2: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,666 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4761#true} {4786#(<= (+ main_~in~0 4) main_~inlen~0)} #84#return; {4786#(<= (+ main_~in~0 4) main_~inlen~0)} is VALID [2020-07-17 22:52:05,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:05,678 INFO L280 TraceCheckUtils]: 0: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,678 INFO L280 TraceCheckUtils]: 1: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,678 INFO L280 TraceCheckUtils]: 2: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,679 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4761#true} {4795#(<= (+ main_~in~0 3) main_~inlen~0)} #86#return; {4795#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:52:05,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:05,700 INFO L280 TraceCheckUtils]: 0: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,700 INFO L280 TraceCheckUtils]: 1: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,700 INFO L280 TraceCheckUtils]: 2: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,701 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4761#true} {4795#(<= (+ main_~in~0 3) main_~inlen~0)} #88#return; {4795#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:52:05,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:05,708 INFO L280 TraceCheckUtils]: 0: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,709 INFO L280 TraceCheckUtils]: 1: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,709 INFO L280 TraceCheckUtils]: 2: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,710 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4761#true} {4795#(<= (+ main_~in~0 3) main_~inlen~0)} #82#return; {4795#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:52:05,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:05,715 INFO L280 TraceCheckUtils]: 0: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,716 INFO L280 TraceCheckUtils]: 1: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,716 INFO L280 TraceCheckUtils]: 2: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,717 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4761#true} {4795#(<= (+ main_~in~0 3) main_~inlen~0)} #84#return; {4795#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:52:05,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:05,722 INFO L280 TraceCheckUtils]: 0: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,722 INFO L280 TraceCheckUtils]: 1: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,722 INFO L280 TraceCheckUtils]: 2: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,723 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4761#true} {4812#(<= (+ main_~in~0 2) main_~inlen~0)} #86#return; {4812#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:52:05,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:05,728 INFO L280 TraceCheckUtils]: 0: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,728 INFO L280 TraceCheckUtils]: 1: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,728 INFO L280 TraceCheckUtils]: 2: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,729 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4761#true} {4812#(<= (+ main_~in~0 2) main_~inlen~0)} #88#return; {4812#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:52:05,732 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:05,736 INFO L280 TraceCheckUtils]: 0: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,737 INFO L280 TraceCheckUtils]: 1: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,737 INFO L280 TraceCheckUtils]: 2: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,738 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4761#true} {4812#(<= (+ main_~in~0 2) main_~inlen~0)} #82#return; {4812#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:52:05,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:05,743 INFO L280 TraceCheckUtils]: 0: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,743 INFO L280 TraceCheckUtils]: 1: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,743 INFO L280 TraceCheckUtils]: 2: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,744 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4761#true} {4812#(<= (+ main_~in~0 2) main_~inlen~0)} #84#return; {4812#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:52:05,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:05,749 INFO L280 TraceCheckUtils]: 0: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,749 INFO L280 TraceCheckUtils]: 1: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,749 INFO L280 TraceCheckUtils]: 2: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,750 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4761#true} {4829#(<= (+ main_~in~0 1) main_~inlen~0)} #86#return; {4829#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2020-07-17 22:52:05,750 INFO L263 TraceCheckUtils]: 0: Hoare triple {4761#true} call ULTIMATE.init(); {4761#true} is VALID [2020-07-17 22:52:05,750 INFO L280 TraceCheckUtils]: 1: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,750 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {4761#true} {4761#true} #78#return; {4761#true} is VALID [2020-07-17 22:52:05,751 INFO L263 TraceCheckUtils]: 3: Hoare triple {4761#true} call #t~ret7 := main(); {4761#true} is VALID [2020-07-17 22:52:05,751 INFO L280 TraceCheckUtils]: 4: Hoare triple {4761#true} havoc ~in~0;assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~inlen~0 := #t~nondet0;havoc #t~nondet0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~bufferlen~0 := #t~nondet1;havoc #t~nondet1;havoc ~buf~0;havoc ~buflim~0; {4761#true} is VALID [2020-07-17 22:52:05,752 INFO L280 TraceCheckUtils]: 5: Hoare triple {4761#true} assume ~bufferlen~0 > 1; {4765#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:52:05,752 INFO L280 TraceCheckUtils]: 6: Hoare triple {4765#(<= 2 main_~bufferlen~0)} assume ~inlen~0 > 0; {4765#(<= 2 main_~bufferlen~0)} is VALID [2020-07-17 22:52:05,753 INFO L280 TraceCheckUtils]: 7: Hoare triple {4765#(<= 2 main_~bufferlen~0)} assume ~bufferlen~0 < ~inlen~0; {4766#(and (<= 2 main_~bufferlen~0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} is VALID [2020-07-17 22:52:05,754 INFO L280 TraceCheckUtils]: 8: Hoare triple {4766#(and (<= 2 main_~bufferlen~0) (<= (+ main_~bufferlen~0 1) main_~inlen~0))} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} is VALID [2020-07-17 22:52:05,755 INFO L280 TraceCheckUtils]: 9: Hoare triple {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} is VALID [2020-07-17 22:52:05,756 INFO L280 TraceCheckUtils]: 10: Hoare triple {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} assume !!(0 != #t~nondet2);havoc #t~nondet2; {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} is VALID [2020-07-17 22:52:05,757 INFO L280 TraceCheckUtils]: 11: Hoare triple {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} assume !(~buf~0 == ~buflim~0); {4768#(and (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (<= (+ main_~buf~0 1) main_~buflim~0))} is VALID [2020-07-17 22:52:05,757 INFO L263 TraceCheckUtils]: 12: Hoare triple {4768#(and (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (<= (+ main_~buf~0 1) main_~buflim~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:05,758 INFO L280 TraceCheckUtils]: 13: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,758 INFO L280 TraceCheckUtils]: 14: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,758 INFO L280 TraceCheckUtils]: 15: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,759 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4761#true} {4768#(and (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (<= (+ main_~buf~0 1) main_~buflim~0))} #82#return; {4768#(and (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (<= (+ main_~buf~0 1) main_~buflim~0))} is VALID [2020-07-17 22:52:05,759 INFO L263 TraceCheckUtils]: 17: Hoare triple {4768#(and (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (<= (+ main_~buf~0 1) main_~buflim~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:05,760 INFO L280 TraceCheckUtils]: 18: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,760 INFO L280 TraceCheckUtils]: 19: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,760 INFO L280 TraceCheckUtils]: 20: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,761 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {4761#true} {4768#(and (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (<= (+ main_~buf~0 1) main_~buflim~0))} #84#return; {4768#(and (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (<= (+ main_~buf~0 1) main_~buflim~0))} is VALID [2020-07-17 22:52:05,762 INFO L280 TraceCheckUtils]: 22: Hoare triple {4768#(and (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (<= (+ main_~buf~0 1) main_~buflim~0))} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {4777#(and (<= main_~buf~0 main_~buflim~0) (or (<= (+ main_~in~0 main_~buflim~0 4) (+ main_~buf~0 main_~inlen~0)) (<= main_~buflim~0 main_~buf~0)))} is VALID [2020-07-17 22:52:05,764 INFO L280 TraceCheckUtils]: 23: Hoare triple {4777#(and (<= main_~buf~0 main_~buflim~0) (or (<= (+ main_~in~0 main_~buflim~0 4) (+ main_~buf~0 main_~inlen~0)) (<= main_~buflim~0 main_~buf~0)))} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} is VALID [2020-07-17 22:52:05,764 INFO L263 TraceCheckUtils]: 24: Hoare triple {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:05,764 INFO L280 TraceCheckUtils]: 25: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,764 INFO L280 TraceCheckUtils]: 26: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,764 INFO L280 TraceCheckUtils]: 27: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,766 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {4761#true} {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} #86#return; {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} is VALID [2020-07-17 22:52:05,766 INFO L263 TraceCheckUtils]: 29: Hoare triple {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:05,766 INFO L280 TraceCheckUtils]: 30: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,766 INFO L280 TraceCheckUtils]: 31: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,767 INFO L280 TraceCheckUtils]: 32: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,768 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {4761#true} {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} #88#return; {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} is VALID [2020-07-17 22:52:05,769 INFO L280 TraceCheckUtils]: 34: Hoare triple {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} is VALID [2020-07-17 22:52:05,771 INFO L280 TraceCheckUtils]: 35: Hoare triple {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} assume !!(0 != #t~nondet2);havoc #t~nondet2; {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} is VALID [2020-07-17 22:52:05,773 INFO L280 TraceCheckUtils]: 36: Hoare triple {4767#(and (or (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (< main_~buflim~0 (+ main_~buf~0 1))) (<= main_~buf~0 main_~buflim~0))} assume !(~buf~0 == ~buflim~0); {4786#(<= (+ main_~in~0 4) main_~inlen~0)} is VALID [2020-07-17 22:52:05,773 INFO L263 TraceCheckUtils]: 37: Hoare triple {4786#(<= (+ main_~in~0 4) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:05,774 INFO L280 TraceCheckUtils]: 38: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,774 INFO L280 TraceCheckUtils]: 39: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,774 INFO L280 TraceCheckUtils]: 40: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,776 INFO L275 TraceCheckUtils]: 41: Hoare quadruple {4761#true} {4786#(<= (+ main_~in~0 4) main_~inlen~0)} #82#return; {4786#(<= (+ main_~in~0 4) main_~inlen~0)} is VALID [2020-07-17 22:52:05,776 INFO L263 TraceCheckUtils]: 42: Hoare triple {4786#(<= (+ main_~in~0 4) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:05,776 INFO L280 TraceCheckUtils]: 43: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,777 INFO L280 TraceCheckUtils]: 44: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,777 INFO L280 TraceCheckUtils]: 45: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,779 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {4761#true} {4786#(<= (+ main_~in~0 4) main_~inlen~0)} #84#return; {4786#(<= (+ main_~in~0 4) main_~inlen~0)} is VALID [2020-07-17 22:52:05,780 INFO L280 TraceCheckUtils]: 47: Hoare triple {4786#(<= (+ main_~in~0 4) main_~inlen~0)} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {4786#(<= (+ main_~in~0 4) main_~inlen~0)} is VALID [2020-07-17 22:52:05,781 INFO L280 TraceCheckUtils]: 48: Hoare triple {4786#(<= (+ main_~in~0 4) main_~inlen~0)} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {4795#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:52:05,781 INFO L263 TraceCheckUtils]: 49: Hoare triple {4795#(<= (+ main_~in~0 3) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:05,781 INFO L280 TraceCheckUtils]: 50: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,782 INFO L280 TraceCheckUtils]: 51: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,782 INFO L280 TraceCheckUtils]: 52: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,783 INFO L275 TraceCheckUtils]: 53: Hoare quadruple {4761#true} {4795#(<= (+ main_~in~0 3) main_~inlen~0)} #86#return; {4795#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:52:05,784 INFO L263 TraceCheckUtils]: 54: Hoare triple {4795#(<= (+ main_~in~0 3) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:05,784 INFO L280 TraceCheckUtils]: 55: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,784 INFO L280 TraceCheckUtils]: 56: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,785 INFO L280 TraceCheckUtils]: 57: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,786 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {4761#true} {4795#(<= (+ main_~in~0 3) main_~inlen~0)} #88#return; {4795#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:52:05,787 INFO L280 TraceCheckUtils]: 59: Hoare triple {4795#(<= (+ main_~in~0 3) main_~inlen~0)} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {4795#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:52:05,788 INFO L280 TraceCheckUtils]: 60: Hoare triple {4795#(<= (+ main_~in~0 3) main_~inlen~0)} assume !!(0 != #t~nondet2);havoc #t~nondet2; {4795#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:52:05,788 INFO L280 TraceCheckUtils]: 61: Hoare triple {4795#(<= (+ main_~in~0 3) main_~inlen~0)} assume !(~buf~0 == ~buflim~0); {4795#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:52:05,789 INFO L263 TraceCheckUtils]: 62: Hoare triple {4795#(<= (+ main_~in~0 3) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:05,789 INFO L280 TraceCheckUtils]: 63: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,789 INFO L280 TraceCheckUtils]: 64: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,790 INFO L280 TraceCheckUtils]: 65: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,791 INFO L275 TraceCheckUtils]: 66: Hoare quadruple {4761#true} {4795#(<= (+ main_~in~0 3) main_~inlen~0)} #82#return; {4795#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:52:05,792 INFO L263 TraceCheckUtils]: 67: Hoare triple {4795#(<= (+ main_~in~0 3) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:05,792 INFO L280 TraceCheckUtils]: 68: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,792 INFO L280 TraceCheckUtils]: 69: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,792 INFO L280 TraceCheckUtils]: 70: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,794 INFO L275 TraceCheckUtils]: 71: Hoare quadruple {4761#true} {4795#(<= (+ main_~in~0 3) main_~inlen~0)} #84#return; {4795#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:52:05,795 INFO L280 TraceCheckUtils]: 72: Hoare triple {4795#(<= (+ main_~in~0 3) main_~inlen~0)} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {4795#(<= (+ main_~in~0 3) main_~inlen~0)} is VALID [2020-07-17 22:52:05,796 INFO L280 TraceCheckUtils]: 73: Hoare triple {4795#(<= (+ main_~in~0 3) main_~inlen~0)} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {4812#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:52:05,797 INFO L263 TraceCheckUtils]: 74: Hoare triple {4812#(<= (+ main_~in~0 2) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:05,797 INFO L280 TraceCheckUtils]: 75: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,797 INFO L280 TraceCheckUtils]: 76: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,798 INFO L280 TraceCheckUtils]: 77: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,799 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {4761#true} {4812#(<= (+ main_~in~0 2) main_~inlen~0)} #86#return; {4812#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:52:05,799 INFO L263 TraceCheckUtils]: 79: Hoare triple {4812#(<= (+ main_~in~0 2) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:05,799 INFO L280 TraceCheckUtils]: 80: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,800 INFO L280 TraceCheckUtils]: 81: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,800 INFO L280 TraceCheckUtils]: 82: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,801 INFO L275 TraceCheckUtils]: 83: Hoare quadruple {4761#true} {4812#(<= (+ main_~in~0 2) main_~inlen~0)} #88#return; {4812#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:52:05,801 INFO L280 TraceCheckUtils]: 84: Hoare triple {4812#(<= (+ main_~in~0 2) main_~inlen~0)} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {4812#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:52:05,802 INFO L280 TraceCheckUtils]: 85: Hoare triple {4812#(<= (+ main_~in~0 2) main_~inlen~0)} assume !!(0 != #t~nondet2);havoc #t~nondet2; {4812#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:52:05,803 INFO L280 TraceCheckUtils]: 86: Hoare triple {4812#(<= (+ main_~in~0 2) main_~inlen~0)} assume !(~buf~0 == ~buflim~0); {4812#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:52:05,803 INFO L263 TraceCheckUtils]: 87: Hoare triple {4812#(<= (+ main_~in~0 2) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:05,803 INFO L280 TraceCheckUtils]: 88: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,803 INFO L280 TraceCheckUtils]: 89: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,803 INFO L280 TraceCheckUtils]: 90: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,804 INFO L275 TraceCheckUtils]: 91: Hoare quadruple {4761#true} {4812#(<= (+ main_~in~0 2) main_~inlen~0)} #82#return; {4812#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:52:05,805 INFO L263 TraceCheckUtils]: 92: Hoare triple {4812#(<= (+ main_~in~0 2) main_~inlen~0)} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:05,805 INFO L280 TraceCheckUtils]: 93: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,805 INFO L280 TraceCheckUtils]: 94: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,805 INFO L280 TraceCheckUtils]: 95: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,806 INFO L275 TraceCheckUtils]: 96: Hoare quadruple {4761#true} {4812#(<= (+ main_~in~0 2) main_~inlen~0)} #84#return; {4812#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:52:05,807 INFO L280 TraceCheckUtils]: 97: Hoare triple {4812#(<= (+ main_~in~0 2) main_~inlen~0)} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {4812#(<= (+ main_~in~0 2) main_~inlen~0)} is VALID [2020-07-17 22:52:05,808 INFO L280 TraceCheckUtils]: 98: Hoare triple {4812#(<= (+ main_~in~0 2) main_~inlen~0)} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {4829#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2020-07-17 22:52:05,808 INFO L263 TraceCheckUtils]: 99: Hoare triple {4829#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:05,809 INFO L280 TraceCheckUtils]: 100: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:05,809 INFO L280 TraceCheckUtils]: 101: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:05,809 INFO L280 TraceCheckUtils]: 102: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:05,810 INFO L275 TraceCheckUtils]: 103: Hoare quadruple {4761#true} {4829#(<= (+ main_~in~0 1) main_~inlen~0)} #86#return; {4829#(<= (+ main_~in~0 1) main_~inlen~0)} is VALID [2020-07-17 22:52:05,812 INFO L263 TraceCheckUtils]: 104: Hoare triple {4829#(<= (+ main_~in~0 1) main_~inlen~0)} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {4834#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:52:05,813 INFO L280 TraceCheckUtils]: 105: Hoare triple {4834#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {4835#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-17 22:52:05,814 INFO L280 TraceCheckUtils]: 106: Hoare triple {4835#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {4762#false} is VALID [2020-07-17 22:52:05,814 INFO L280 TraceCheckUtils]: 107: Hoare triple {4762#false} assume !false; {4762#false} is VALID [2020-07-17 22:52:05,848 INFO L134 CoverageAnalysis]: Checked inductivity of 504 backedges. 30 proven. 51 refuted. 0 times theorem prover too weak. 423 trivial. 0 not checked. [2020-07-17 22:52:05,849 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [169926480] [2020-07-17 22:52:05,849 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [533932456] [2020-07-17 22:52:05,849 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:52:05,944 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2020-07-17 22:52:05,945 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-17 22:52:05,947 INFO L264 TraceCheckSpWp]: Trace formula consists of 194 conjuncts, 18 conjunts are in the unsatisfiable core [2020-07-17 22:52:05,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:05,992 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:52:06,622 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-17 22:52:06,632 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-17 22:52:06,689 INFO L263 TraceCheckUtils]: 0: Hoare triple {4761#true} call ULTIMATE.init(); {4761#true} is VALID [2020-07-17 22:52:06,689 INFO L280 TraceCheckUtils]: 1: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:06,689 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {4761#true} {4761#true} #78#return; {4761#true} is VALID [2020-07-17 22:52:06,690 INFO L263 TraceCheckUtils]: 3: Hoare triple {4761#true} call #t~ret7 := main(); {4761#true} is VALID [2020-07-17 22:52:06,690 INFO L280 TraceCheckUtils]: 4: Hoare triple {4761#true} havoc ~in~0;assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~inlen~0 := #t~nondet0;havoc #t~nondet0;assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~bufferlen~0 := #t~nondet1;havoc #t~nondet1;havoc ~buf~0;havoc ~buflim~0; {4761#true} is VALID [2020-07-17 22:52:06,690 INFO L280 TraceCheckUtils]: 5: Hoare triple {4761#true} assume ~bufferlen~0 > 1; {4761#true} is VALID [2020-07-17 22:52:06,690 INFO L280 TraceCheckUtils]: 6: Hoare triple {4761#true} assume ~inlen~0 > 0; {4761#true} is VALID [2020-07-17 22:52:06,690 INFO L280 TraceCheckUtils]: 7: Hoare triple {4761#true} assume ~bufferlen~0 < ~inlen~0; {4860#(< main_~bufferlen~0 main_~inlen~0)} is VALID [2020-07-17 22:52:06,691 INFO L280 TraceCheckUtils]: 8: Hoare triple {4860#(< main_~bufferlen~0 main_~inlen~0)} ~buf~0 := 0;~in~0 := 0;~buflim~0 := ~bufferlen~0 - 2; {4864#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 0) (<= 0 main_~buf~0))} is VALID [2020-07-17 22:52:06,692 INFO L280 TraceCheckUtils]: 9: Hoare triple {4864#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 0) (<= 0 main_~buf~0))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {4864#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 0) (<= 0 main_~buf~0))} is VALID [2020-07-17 22:52:06,692 INFO L280 TraceCheckUtils]: 10: Hoare triple {4864#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 0) (<= 0 main_~buf~0))} assume !!(0 != #t~nondet2);havoc #t~nondet2; {4864#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 0) (<= 0 main_~buf~0))} is VALID [2020-07-17 22:52:06,693 INFO L280 TraceCheckUtils]: 11: Hoare triple {4864#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 0) (<= 0 main_~buf~0))} assume !(~buf~0 == ~buflim~0); {4864#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 0) (<= 0 main_~buf~0))} is VALID [2020-07-17 22:52:06,693 INFO L263 TraceCheckUtils]: 12: Hoare triple {4864#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 0) (<= 0 main_~buf~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:06,693 INFO L280 TraceCheckUtils]: 13: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:06,693 INFO L280 TraceCheckUtils]: 14: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:06,693 INFO L280 TraceCheckUtils]: 15: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:06,694 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4761#true} {4864#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 0) (<= 0 main_~buf~0))} #82#return; {4864#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 0) (<= 0 main_~buf~0))} is VALID [2020-07-17 22:52:06,694 INFO L263 TraceCheckUtils]: 17: Hoare triple {4864#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 0) (<= 0 main_~buf~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:06,695 INFO L280 TraceCheckUtils]: 18: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:06,695 INFO L280 TraceCheckUtils]: 19: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:06,695 INFO L280 TraceCheckUtils]: 20: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:06,699 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {4761#true} {4864#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 0) (<= 0 main_~buf~0))} #84#return; {4864#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 0) (<= 0 main_~buf~0))} is VALID [2020-07-17 22:52:06,702 INFO L280 TraceCheckUtils]: 22: Hoare triple {4864#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 0) (<= 0 main_~buf~0))} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {4907#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 0) (<= 1 main_~buf~0))} is VALID [2020-07-17 22:52:06,704 INFO L280 TraceCheckUtils]: 23: Hoare triple {4907#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 0) (<= 1 main_~buf~0))} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {4911#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 1 main_~buf~0))} is VALID [2020-07-17 22:52:06,704 INFO L263 TraceCheckUtils]: 24: Hoare triple {4911#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 1 main_~buf~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:06,704 INFO L280 TraceCheckUtils]: 25: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:06,704 INFO L280 TraceCheckUtils]: 26: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:06,705 INFO L280 TraceCheckUtils]: 27: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:06,705 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {4761#true} {4911#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 1 main_~buf~0))} #86#return; {4911#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 1 main_~buf~0))} is VALID [2020-07-17 22:52:06,706 INFO L263 TraceCheckUtils]: 29: Hoare triple {4911#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 1 main_~buf~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:06,706 INFO L280 TraceCheckUtils]: 30: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:06,706 INFO L280 TraceCheckUtils]: 31: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:06,706 INFO L280 TraceCheckUtils]: 32: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:06,707 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {4761#true} {4911#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 1 main_~buf~0))} #88#return; {4911#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 1 main_~buf~0))} is VALID [2020-07-17 22:52:06,708 INFO L280 TraceCheckUtils]: 34: Hoare triple {4911#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 1 main_~buf~0))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {4911#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 1 main_~buf~0))} is VALID [2020-07-17 22:52:06,709 INFO L280 TraceCheckUtils]: 35: Hoare triple {4911#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 1 main_~buf~0))} assume !!(0 != #t~nondet2);havoc #t~nondet2; {4911#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 1 main_~buf~0))} is VALID [2020-07-17 22:52:06,710 INFO L280 TraceCheckUtils]: 36: Hoare triple {4911#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 1 main_~buf~0))} assume !(~buf~0 == ~buflim~0); {4911#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 1 main_~buf~0))} is VALID [2020-07-17 22:52:06,710 INFO L263 TraceCheckUtils]: 37: Hoare triple {4911#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 1 main_~buf~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:06,710 INFO L280 TraceCheckUtils]: 38: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:06,710 INFO L280 TraceCheckUtils]: 39: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:06,711 INFO L280 TraceCheckUtils]: 40: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:06,712 INFO L275 TraceCheckUtils]: 41: Hoare quadruple {4761#true} {4911#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 1 main_~buf~0))} #82#return; {4911#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 1 main_~buf~0))} is VALID [2020-07-17 22:52:06,712 INFO L263 TraceCheckUtils]: 42: Hoare triple {4911#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 1 main_~buf~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:06,712 INFO L280 TraceCheckUtils]: 43: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:06,712 INFO L280 TraceCheckUtils]: 44: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:06,712 INFO L280 TraceCheckUtils]: 45: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:06,713 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {4761#true} {4911#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 1 main_~buf~0))} #84#return; {4911#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 1 main_~buf~0))} is VALID [2020-07-17 22:52:06,715 INFO L280 TraceCheckUtils]: 47: Hoare triple {4911#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 1 main_~buf~0))} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {4984#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 2 main_~buf~0))} is VALID [2020-07-17 22:52:06,716 INFO L280 TraceCheckUtils]: 48: Hoare triple {4984#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 1) (<= 2 main_~buf~0))} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {4988#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 2 main_~buf~0))} is VALID [2020-07-17 22:52:06,716 INFO L263 TraceCheckUtils]: 49: Hoare triple {4988#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 2 main_~buf~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:06,716 INFO L280 TraceCheckUtils]: 50: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:06,717 INFO L280 TraceCheckUtils]: 51: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:06,717 INFO L280 TraceCheckUtils]: 52: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:06,718 INFO L275 TraceCheckUtils]: 53: Hoare quadruple {4761#true} {4988#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 2 main_~buf~0))} #86#return; {4988#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 2 main_~buf~0))} is VALID [2020-07-17 22:52:06,718 INFO L263 TraceCheckUtils]: 54: Hoare triple {4988#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 2 main_~buf~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:06,718 INFO L280 TraceCheckUtils]: 55: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:06,718 INFO L280 TraceCheckUtils]: 56: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:06,718 INFO L280 TraceCheckUtils]: 57: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:06,719 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {4761#true} {4988#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 2 main_~buf~0))} #88#return; {4988#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 2 main_~buf~0))} is VALID [2020-07-17 22:52:06,720 INFO L280 TraceCheckUtils]: 59: Hoare triple {4988#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 2 main_~buf~0))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {4988#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 2 main_~buf~0))} is VALID [2020-07-17 22:52:06,721 INFO L280 TraceCheckUtils]: 60: Hoare triple {4988#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 2 main_~buf~0))} assume !!(0 != #t~nondet2);havoc #t~nondet2; {4988#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 2 main_~buf~0))} is VALID [2020-07-17 22:52:06,722 INFO L280 TraceCheckUtils]: 61: Hoare triple {4988#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 2 main_~buf~0))} assume !(~buf~0 == ~buflim~0); {4988#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 2 main_~buf~0))} is VALID [2020-07-17 22:52:06,722 INFO L263 TraceCheckUtils]: 62: Hoare triple {4988#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 2 main_~buf~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:06,722 INFO L280 TraceCheckUtils]: 63: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:06,723 INFO L280 TraceCheckUtils]: 64: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:06,723 INFO L280 TraceCheckUtils]: 65: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:06,724 INFO L275 TraceCheckUtils]: 66: Hoare quadruple {4761#true} {4988#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 2 main_~buf~0))} #82#return; {4988#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 2 main_~buf~0))} is VALID [2020-07-17 22:52:06,724 INFO L263 TraceCheckUtils]: 67: Hoare triple {4988#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 2 main_~buf~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:06,724 INFO L280 TraceCheckUtils]: 68: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:06,724 INFO L280 TraceCheckUtils]: 69: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:06,725 INFO L280 TraceCheckUtils]: 70: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:06,726 INFO L275 TraceCheckUtils]: 71: Hoare quadruple {4761#true} {4988#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 2 main_~buf~0))} #84#return; {4988#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 2 main_~buf~0))} is VALID [2020-07-17 22:52:06,727 INFO L280 TraceCheckUtils]: 72: Hoare triple {4988#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 2 main_~buf~0))} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {5061#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 3 main_~buf~0))} is VALID [2020-07-17 22:52:06,728 INFO L280 TraceCheckUtils]: 73: Hoare triple {5061#(and (< main_~bufferlen~0 main_~inlen~0) (<= main_~in~0 2) (<= 3 main_~buf~0))} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {5065#(and (<= main_~in~0 3) (< main_~bufferlen~0 main_~inlen~0) (<= 3 main_~buf~0))} is VALID [2020-07-17 22:52:06,728 INFO L263 TraceCheckUtils]: 74: Hoare triple {5065#(and (<= main_~in~0 3) (< main_~bufferlen~0 main_~inlen~0) (<= 3 main_~buf~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:06,728 INFO L280 TraceCheckUtils]: 75: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:06,729 INFO L280 TraceCheckUtils]: 76: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:06,729 INFO L280 TraceCheckUtils]: 77: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:06,730 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {4761#true} {5065#(and (<= main_~in~0 3) (< main_~bufferlen~0 main_~inlen~0) (<= 3 main_~buf~0))} #86#return; {5065#(and (<= main_~in~0 3) (< main_~bufferlen~0 main_~inlen~0) (<= 3 main_~buf~0))} is VALID [2020-07-17 22:52:06,730 INFO L263 TraceCheckUtils]: 79: Hoare triple {5065#(and (<= main_~in~0 3) (< main_~bufferlen~0 main_~inlen~0) (<= 3 main_~buf~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:06,730 INFO L280 TraceCheckUtils]: 80: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:06,730 INFO L280 TraceCheckUtils]: 81: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:06,731 INFO L280 TraceCheckUtils]: 82: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:06,732 INFO L275 TraceCheckUtils]: 83: Hoare quadruple {4761#true} {5065#(and (<= main_~in~0 3) (< main_~bufferlen~0 main_~inlen~0) (<= 3 main_~buf~0))} #88#return; {5065#(and (<= main_~in~0 3) (< main_~bufferlen~0 main_~inlen~0) (<= 3 main_~buf~0))} is VALID [2020-07-17 22:52:06,732 INFO L280 TraceCheckUtils]: 84: Hoare triple {5065#(and (<= main_~in~0 3) (< main_~bufferlen~0 main_~inlen~0) (<= 3 main_~buf~0))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {5065#(and (<= main_~in~0 3) (< main_~bufferlen~0 main_~inlen~0) (<= 3 main_~buf~0))} is VALID [2020-07-17 22:52:06,733 INFO L280 TraceCheckUtils]: 85: Hoare triple {5065#(and (<= main_~in~0 3) (< main_~bufferlen~0 main_~inlen~0) (<= 3 main_~buf~0))} assume !!(0 != #t~nondet2);havoc #t~nondet2; {5065#(and (<= main_~in~0 3) (< main_~bufferlen~0 main_~inlen~0) (<= 3 main_~buf~0))} is VALID [2020-07-17 22:52:06,734 INFO L280 TraceCheckUtils]: 86: Hoare triple {5065#(and (<= main_~in~0 3) (< main_~bufferlen~0 main_~inlen~0) (<= 3 main_~buf~0))} assume !(~buf~0 == ~buflim~0); {5065#(and (<= main_~in~0 3) (< main_~bufferlen~0 main_~inlen~0) (<= 3 main_~buf~0))} is VALID [2020-07-17 22:52:06,734 INFO L263 TraceCheckUtils]: 87: Hoare triple {5065#(and (<= main_~in~0 3) (< main_~bufferlen~0 main_~inlen~0) (<= 3 main_~buf~0))} call __VERIFIER_assert((if 0 <= ~buf~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:06,734 INFO L280 TraceCheckUtils]: 88: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:06,735 INFO L280 TraceCheckUtils]: 89: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:06,735 INFO L280 TraceCheckUtils]: 90: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:06,736 INFO L275 TraceCheckUtils]: 91: Hoare quadruple {4761#true} {5065#(and (<= main_~in~0 3) (< main_~bufferlen~0 main_~inlen~0) (<= 3 main_~buf~0))} #82#return; {5065#(and (<= main_~in~0 3) (< main_~bufferlen~0 main_~inlen~0) (<= 3 main_~buf~0))} is VALID [2020-07-17 22:52:06,736 INFO L263 TraceCheckUtils]: 92: Hoare triple {5065#(and (<= main_~in~0 3) (< main_~bufferlen~0 main_~inlen~0) (<= 3 main_~buf~0))} call __VERIFIER_assert((if ~buf~0 < ~bufferlen~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:06,737 INFO L280 TraceCheckUtils]: 93: Hoare triple {4761#true} ~cond := #in~cond; {5126#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2020-07-17 22:52:06,737 INFO L280 TraceCheckUtils]: 94: Hoare triple {5126#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4834#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:52:06,738 INFO L280 TraceCheckUtils]: 95: Hoare triple {4834#(not (= 0 |__VERIFIER_assert_#in~cond|))} assume true; {4834#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:52:06,739 INFO L275 TraceCheckUtils]: 96: Hoare quadruple {4834#(not (= 0 |__VERIFIER_assert_#in~cond|))} {5065#(and (<= main_~in~0 3) (< main_~bufferlen~0 main_~inlen~0) (<= 3 main_~buf~0))} #84#return; {5136#(and (<= main_~in~0 3) (<= 5 main_~inlen~0))} is VALID [2020-07-17 22:52:06,740 INFO L280 TraceCheckUtils]: 97: Hoare triple {5136#(and (<= main_~in~0 3) (<= 5 main_~inlen~0))} #t~post3 := ~buf~0;~buf~0 := 1 + #t~post3;havoc #t~post3; {5136#(and (<= main_~in~0 3) (<= 5 main_~inlen~0))} is VALID [2020-07-17 22:52:06,741 INFO L280 TraceCheckUtils]: 98: Hoare triple {5136#(and (<= main_~in~0 3) (<= 5 main_~inlen~0))} #t~post4 := ~in~0;~in~0 := 1 + #t~post4;havoc #t~post4; {5143#(and (<= main_~in~0 4) (<= 5 main_~inlen~0))} is VALID [2020-07-17 22:52:06,742 INFO L263 TraceCheckUtils]: 99: Hoare triple {5143#(and (<= main_~in~0 4) (<= 5 main_~inlen~0))} call __VERIFIER_assert((if 0 <= ~in~0 then 1 else 0)); {4761#true} is VALID [2020-07-17 22:52:06,742 INFO L280 TraceCheckUtils]: 100: Hoare triple {4761#true} ~cond := #in~cond; {4761#true} is VALID [2020-07-17 22:52:06,742 INFO L280 TraceCheckUtils]: 101: Hoare triple {4761#true} assume !(0 == ~cond); {4761#true} is VALID [2020-07-17 22:52:06,742 INFO L280 TraceCheckUtils]: 102: Hoare triple {4761#true} assume true; {4761#true} is VALID [2020-07-17 22:52:06,743 INFO L275 TraceCheckUtils]: 103: Hoare quadruple {4761#true} {5143#(and (<= main_~in~0 4) (<= 5 main_~inlen~0))} #86#return; {5143#(and (<= main_~in~0 4) (<= 5 main_~inlen~0))} is VALID [2020-07-17 22:52:06,744 INFO L263 TraceCheckUtils]: 104: Hoare triple {5143#(and (<= main_~in~0 4) (<= 5 main_~inlen~0))} call __VERIFIER_assert((if ~in~0 < ~inlen~0 then 1 else 0)); {5162#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2020-07-17 22:52:06,745 INFO L280 TraceCheckUtils]: 105: Hoare triple {5162#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5166#(<= 1 __VERIFIER_assert_~cond)} is VALID [2020-07-17 22:52:06,745 INFO L280 TraceCheckUtils]: 106: Hoare triple {5166#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4762#false} is VALID [2020-07-17 22:52:06,746 INFO L280 TraceCheckUtils]: 107: Hoare triple {4762#false} assume !false; {4762#false} is VALID [2020-07-17 22:52:06,761 INFO L134 CoverageAnalysis]: Checked inductivity of 504 backedges. 68 proven. 58 refuted. 0 times theorem prover too weak. 378 trivial. 0 not checked. [2020-07-17 22:52:06,762 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:52:06,762 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 16] total 26 [2020-07-17 22:52:06,765 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1356443790] [2020-07-17 22:52:06,766 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 108 [2020-07-17 22:52:06,769 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:52:06,769 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states. [2020-07-17 22:52:06,939 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:52:06,940 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2020-07-17 22:52:06,940 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:52:06,940 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2020-07-17 22:52:06,941 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=82, Invalid=568, Unknown=0, NotChecked=0, Total=650 [2020-07-17 22:52:06,941 INFO L87 Difference]: Start difference. First operand 96 states and 103 transitions. Second operand 26 states. [2020-07-17 22:52:11,528 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:52:11,529 INFO L93 Difference]: Finished difference Result 111 states and 121 transitions. [2020-07-17 22:52:11,529 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2020-07-17 22:52:11,529 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 108 [2020-07-17 22:52:11,530 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:52:11,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2020-07-17 22:52:11,533 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 91 transitions. [2020-07-17 22:52:11,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2020-07-17 22:52:11,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 91 transitions. [2020-07-17 22:52:11,536 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 91 transitions. [2020-07-17 22:52:11,699 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:52:11,699 INFO L225 Difference]: With dead ends: 111 [2020-07-17 22:52:11,699 INFO L226 Difference]: Without dead ends: 0 [2020-07-17 22:52:11,701 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 174 GetRequests, 128 SyntacticMatches, 1 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 525 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=366, Invalid=1796, Unknown=0, NotChecked=0, Total=2162 [2020-07-17 22:52:11,702 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2020-07-17 22:52:11,702 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2020-07-17 22:52:11,702 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:52:11,702 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand 0 states. [2020-07-17 22:52:11,702 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2020-07-17 22:52:11,702 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2020-07-17 22:52:11,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:52:11,702 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2020-07-17 22:52:11,702 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-17 22:52:11,703 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:52:11,703 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:52:11,703 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2020-07-17 22:52:11,703 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2020-07-17 22:52:11,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:52:11,703 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2020-07-17 22:52:11,704 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-17 22:52:11,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:52:11,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:52:11,704 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:52:11,704 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:52:11,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2020-07-17 22:52:11,705 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2020-07-17 22:52:11,705 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 108 [2020-07-17 22:52:11,705 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:52:11,705 INFO L479 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2020-07-17 22:52:11,705 INFO L480 AbstractCegarLoop]: Interpolant automaton has 26 states. [2020-07-17 22:52:11,706 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-17 22:52:11,706 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:52:11,914 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2020-07-17 22:52:11,918 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2020-07-17 22:52:12,759 INFO L271 CegarLoopResult]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2020-07-17 22:52:12,759 INFO L268 CegarLoopResult]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2020-07-17 22:52:12,760 INFO L268 CegarLoopResult]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2020-07-17 22:52:12,760 INFO L271 CegarLoopResult]: At program point L-1(line -1) the Hoare annotation is: true [2020-07-17 22:52:12,760 INFO L271 CegarLoopResult]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2020-07-17 22:52:12,760 INFO L268 CegarLoopResult]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2020-07-17 22:52:12,760 INFO L268 CegarLoopResult]: For program point assume_abort_if_notENTRY(lines 3 5) no Hoare annotation was computed. [2020-07-17 22:52:12,760 INFO L268 CegarLoopResult]: For program point L4(line 4) no Hoare annotation was computed. [2020-07-17 22:52:12,761 INFO L268 CegarLoopResult]: For program point L4-2(lines 3 5) no Hoare annotation was computed. [2020-07-17 22:52:12,761 INFO L268 CegarLoopResult]: For program point assume_abort_if_notEXIT(lines 3 5) no Hoare annotation was computed. [2020-07-17 22:52:12,761 INFO L268 CegarLoopResult]: For program point L31(line 31) no Hoare annotation was computed. [2020-07-17 22:52:12,761 INFO L268 CegarLoopResult]: For program point mainEXIT(lines 13 45) no Hoare annotation was computed. [2020-07-17 22:52:12,761 INFO L271 CegarLoopResult]: At program point L44(lines 14 45) the Hoare annotation is: true [2020-07-17 22:52:12,761 INFO L264 CegarLoopResult]: At program point L36(lines 26 37) the Hoare annotation is: (let ((.cse0 (= main_~bufferlen~0 (+ main_~buflim~0 2))) (.cse1 (<= (+ main_~bufferlen~0 1) main_~inlen~0))) (or (and (<= main_~in~0 0) (= 0 main_~buf~0) (<= 0 main_~in~0) (<= (+ main_~buf~0 2) main_~bufferlen~0) .cse0 .cse1) (and (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (<= main_~buf~0 main_~buflim~0) (<= 1 main_~in~0) .cse0 .cse1 (<= 0 main_~buf~0)))) [2020-07-17 22:52:12,761 INFO L268 CegarLoopResult]: For program point L28(lines 28 29) no Hoare annotation was computed. [2020-07-17 22:52:12,761 INFO L268 CegarLoopResult]: For program point L20(line 20) no Hoare annotation was computed. [2020-07-17 22:52:12,761 INFO L268 CegarLoopResult]: For program point L20-1(lines 14 45) no Hoare annotation was computed. [2020-07-17 22:52:12,762 INFO L264 CegarLoopResult]: At program point L41(line 41) the Hoare annotation is: (and (<= 2 main_~bufferlen~0) (<= 0 main_~in~0) (<= (+ main_~buf~0 1) main_~bufferlen~0) (<= 0 main_~buf~0)) [2020-07-17 22:52:12,762 INFO L264 CegarLoopResult]: At program point L41-1(line 41) the Hoare annotation is: (and (<= 2 main_~bufferlen~0) (<= 0 main_~in~0) (<= (+ main_~buf~0 1) main_~bufferlen~0) (<= 0 main_~buf~0)) [2020-07-17 22:52:12,762 INFO L268 CegarLoopResult]: For program point L33(lines 33 34) no Hoare annotation was computed. [2020-07-17 22:52:12,762 INFO L268 CegarLoopResult]: For program point L21(lines 14 45) no Hoare annotation was computed. [2020-07-17 22:52:12,762 INFO L268 CegarLoopResult]: For program point mainFINAL(lines 13 45) no Hoare annotation was computed. [2020-07-17 22:52:12,762 INFO L268 CegarLoopResult]: For program point L42(line 42) no Hoare annotation was computed. [2020-07-17 22:52:12,762 INFO L264 CegarLoopResult]: At program point L38(line 38) the Hoare annotation is: (and (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= 0 main_~in~0) (<= 0 main_~buf~0)) [2020-07-17 22:52:12,762 INFO L264 CegarLoopResult]: At program point L30(line 30) the Hoare annotation is: (let ((.cse0 (<= (+ main_~buf~0 1) main_~buflim~0)) (.cse1 (= main_~bufferlen~0 (+ main_~buflim~0 2))) (.cse2 (<= (+ main_~bufferlen~0 1) main_~inlen~0))) (or (and (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) .cse0 (<= 1 main_~in~0) .cse1 .cse2 (<= 0 main_~buf~0)) (and (<= main_~in~0 0) (= 0 main_~buf~0) (<= 0 main_~in~0) .cse0 .cse1 .cse2))) [2020-07-17 22:52:12,762 INFO L271 CegarLoopResult]: At program point mainENTRY(lines 13 45) the Hoare annotation is: true [2020-07-17 22:52:12,763 INFO L264 CegarLoopResult]: At program point L30-1(line 30) the Hoare annotation is: (let ((.cse0 (<= (+ main_~buf~0 1) main_~buflim~0)) (.cse1 (= main_~bufferlen~0 (+ main_~buflim~0 2))) (.cse2 (<= (+ main_~bufferlen~0 1) main_~inlen~0))) (or (and (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) .cse0 (<= 1 main_~in~0) .cse1 .cse2 (<= 0 main_~buf~0)) (and (<= main_~in~0 0) (= 0 main_~buf~0) (<= 0 main_~in~0) .cse0 .cse1 .cse2))) [2020-07-17 22:52:12,763 INFO L268 CegarLoopResult]: For program point L26-1(lines 26 37) no Hoare annotation was computed. [2020-07-17 22:52:12,763 INFO L264 CegarLoopResult]: At program point L26-3(lines 26 37) the Hoare annotation is: (and (<= (+ main_~buf~0 2) main_~bufferlen~0) (<= 0 main_~in~0) (<= 0 main_~buf~0)) [2020-07-17 22:52:12,763 INFO L268 CegarLoopResult]: For program point L22(line 22) no Hoare annotation was computed. [2020-07-17 22:52:12,763 INFO L268 CegarLoopResult]: For program point L39(line 39) no Hoare annotation was computed. [2020-07-17 22:52:12,763 INFO L264 CegarLoopResult]: At program point L35(line 35) the Hoare annotation is: (and (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (<= main_~buf~0 main_~buflim~0) (<= 1 main_~in~0) (= main_~bufferlen~0 (+ main_~buflim~0 2)) (<= (+ main_~bufferlen~0 1) main_~inlen~0) (<= 0 main_~buf~0)) [2020-07-17 22:52:12,764 INFO L264 CegarLoopResult]: At program point L35-1(line 35) the Hoare annotation is: (and (<= (+ main_~in~0 main_~buflim~0 3) (+ main_~buf~0 main_~inlen~0)) (<= main_~buf~0 main_~buflim~0) (<= 1 main_~in~0) (= main_~bufferlen~0 (+ main_~buflim~0 2)) (<= (+ main_~bufferlen~0 1) main_~inlen~0) (<= 0 main_~buf~0)) [2020-07-17 22:52:12,764 INFO L271 CegarLoopResult]: At program point __VERIFIER_assertENTRY(lines 6 11) the Hoare annotation is: true [2020-07-17 22:52:12,764 INFO L268 CegarLoopResult]: For program point __VERIFIER_assertEXIT(lines 6 11) no Hoare annotation was computed. [2020-07-17 22:52:12,764 INFO L268 CegarLoopResult]: For program point L8(line 8) no Hoare annotation was computed. [2020-07-17 22:52:12,764 INFO L268 CegarLoopResult]: For program point L7(lines 7 9) no Hoare annotation was computed. [2020-07-17 22:52:12,764 INFO L268 CegarLoopResult]: For program point L7-2(lines 6 11) no Hoare annotation was computed. [2020-07-17 22:52:12,764 INFO L268 CegarLoopResult]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 8) no Hoare annotation was computed. [2020-07-17 22:52:12,769 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-17 22:52:12,769 WARN L170 areAnnotationChecker]: assume_abort_if_notENTRY has no Hoare annotation [2020-07-17 22:52:12,769 WARN L170 areAnnotationChecker]: L20 has no Hoare annotation [2020-07-17 22:52:12,770 WARN L170 areAnnotationChecker]: L7 has no Hoare annotation [2020-07-17 22:52:12,770 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-17 22:52:12,770 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-17 22:52:12,770 WARN L170 areAnnotationChecker]: L4 has no Hoare annotation [2020-07-17 22:52:12,770 WARN L170 areAnnotationChecker]: L4 has no Hoare annotation [2020-07-17 22:52:12,770 WARN L170 areAnnotationChecker]: L20 has no Hoare annotation [2020-07-17 22:52:12,770 WARN L170 areAnnotationChecker]: L20 has no Hoare annotation [2020-07-17 22:52:12,770 WARN L170 areAnnotationChecker]: L7 has no Hoare annotation [2020-07-17 22:52:12,770 WARN L170 areAnnotationChecker]: L7 has no Hoare annotation [2020-07-17 22:52:12,770 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-17 22:52:12,770 WARN L170 areAnnotationChecker]: L4-2 has no Hoare annotation [2020-07-17 22:52:12,770 WARN L170 areAnnotationChecker]: L20-1 has no Hoare annotation [2020-07-17 22:52:12,770 WARN L170 areAnnotationChecker]: L20-1 has no Hoare annotation [2020-07-17 22:52:12,770 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-17 22:52:12,771 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2020-07-17 22:52:12,771 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2020-07-17 22:52:12,771 WARN L170 areAnnotationChecker]: L7-2 has no Hoare annotation [2020-07-17 22:52:12,771 WARN L170 areAnnotationChecker]: L21 has no Hoare annotation [2020-07-17 22:52:12,771 WARN L170 areAnnotationChecker]: L21 has no Hoare annotation [2020-07-17 22:52:12,771 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-17 22:52:12,771 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2020-07-17 22:52:12,771 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2020-07-17 22:52:12,771 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2020-07-17 22:52:12,771 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2020-07-17 22:52:12,772 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2020-07-17 22:52:12,772 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2020-07-17 22:52:12,772 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2020-07-17 22:52:12,772 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2020-07-17 22:52:12,772 WARN L170 areAnnotationChecker]: L22 has no Hoare annotation [2020-07-17 22:52:12,772 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-17 22:52:12,772 WARN L170 areAnnotationChecker]: L31 has no Hoare annotation [2020-07-17 22:52:12,772 WARN L170 areAnnotationChecker]: L31 has no Hoare annotation [2020-07-17 22:52:12,774 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2020-07-17 22:52:12,774 WARN L170 areAnnotationChecker]: L39 has no Hoare annotation [2020-07-17 22:52:12,774 WARN L170 areAnnotationChecker]: L39 has no Hoare annotation [2020-07-17 22:52:12,774 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2020-07-17 22:52:12,774 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2020-07-17 22:52:12,775 WARN L170 areAnnotationChecker]: L33 has no Hoare annotation [2020-07-17 22:52:12,775 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2020-07-17 22:52:12,775 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2020-07-17 22:52:12,775 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2020-07-17 22:52:12,775 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2020-07-17 22:52:12,775 INFO L163 areAnnotationChecker]: CFG has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2020-07-17 22:52:12,788 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 17.07 10:52:12 BoogieIcfgContainer [2020-07-17 22:52:12,788 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-17 22:52:12,791 INFO L168 Benchmark]: Toolchain (without parser) took 26278.67 ms. Allocated memory was 136.8 MB in the beginning and 436.7 MB in the end (delta: 299.9 MB). Free memory was 101.0 MB in the beginning and 293.3 MB in the end (delta: -192.3 MB). Peak memory consumption was 107.6 MB. Max. memory is 7.1 GB. [2020-07-17 22:52:12,792 INFO L168 Benchmark]: CDTParser took 0.51 ms. Allocated memory is still 136.8 MB. Free memory was 119.9 MB in the beginning and 119.7 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. [2020-07-17 22:52:12,793 INFO L168 Benchmark]: CACSL2BoogieTranslator took 276.92 ms. Allocated memory is still 136.8 MB. Free memory was 100.6 MB in the beginning and 90.4 MB in the end (delta: 10.1 MB). Peak memory consumption was 10.1 MB. Max. memory is 7.1 GB. [2020-07-17 22:52:12,793 INFO L168 Benchmark]: Boogie Preprocessor took 124.93 ms. Allocated memory was 136.8 MB in the beginning and 200.8 MB in the end (delta: 64.0 MB). Free memory was 90.4 MB in the beginning and 178.9 MB in the end (delta: -88.5 MB). Peak memory consumption was 14.3 MB. Max. memory is 7.1 GB. [2020-07-17 22:52:12,794 INFO L168 Benchmark]: RCFGBuilder took 498.41 ms. Allocated memory is still 200.8 MB. Free memory was 178.9 MB in the beginning and 155.2 MB in the end (delta: 23.7 MB). Peak memory consumption was 23.7 MB. Max. memory is 7.1 GB. [2020-07-17 22:52:12,795 INFO L168 Benchmark]: TraceAbstraction took 25369.81 ms. Allocated memory was 200.8 MB in the beginning and 436.7 MB in the end (delta: 235.9 MB). Free memory was 154.5 MB in the beginning and 293.3 MB in the end (delta: -138.8 MB). Peak memory consumption was 97.1 MB. Max. memory is 7.1 GB. [2020-07-17 22:52:12,798 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.51 ms. Allocated memory is still 136.8 MB. Free memory was 119.9 MB in the beginning and 119.7 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 276.92 ms. Allocated memory is still 136.8 MB. Free memory was 100.6 MB in the beginning and 90.4 MB in the end (delta: 10.1 MB). Peak memory consumption was 10.1 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 124.93 ms. Allocated memory was 136.8 MB in the beginning and 200.8 MB in the end (delta: 64.0 MB). Free memory was 90.4 MB in the beginning and 178.9 MB in the end (delta: -88.5 MB). Peak memory consumption was 14.3 MB. Max. memory is 7.1 GB. * RCFGBuilder took 498.41 ms. Allocated memory is still 200.8 MB. Free memory was 178.9 MB in the beginning and 155.2 MB in the end (delta: 23.7 MB). Peak memory consumption was 23.7 MB. Max. memory is 7.1 GB. * TraceAbstraction took 25369.81 ms. Allocated memory was 200.8 MB in the beginning and 436.7 MB in the end (delta: 235.9 MB). Free memory was 154.5 MB in the beginning and 293.3 MB in the end (delta: -138.8 MB). Peak memory consumption was 97.1 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 8]: call of __VERIFIER_error() unreachable For all program executions holds that call of __VERIFIER_error() unreachable at this location - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 14]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 26]: Loop Invariant Derived loop invariant: (((((in <= 0 && 0 == buf) && 0 <= in) && buf + 2 <= bufferlen) && bufferlen == buflim + 2) && bufferlen + 1 <= inlen) || (((((in + buflim + 3 <= buf + inlen && buf <= buflim) && 1 <= in) && bufferlen == buflim + 2) && bufferlen + 1 <= inlen) && 0 <= buf) - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 39 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: SAFE, OverallTime: 24.4s, OverallIterations: 11, TraceHistogramMax: 16, AutomataDifference: 14.4s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.8s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 448 SDtfs, 489 SDslu, 1924 SDs, 0 SdLazy, 1496 SolverSat, 543 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 3.4s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 706 GetRequests, 536 SyntacticMatches, 8 SemanticMatches, 162 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 945 ImplicationChecksByTransitivity, 3.5s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=99occurred in iteration=9, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.1s AutomataMinimizationTime, 11 MinimizatonAttempts, 33 StatesRemovedByMinimization, 6 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 15 LocationsWithAnnotation, 64 PreInvPairs, 113 NumberOfFragments, 282 HoareAnnotationTreeSize, 64 FomulaSimplifications, 1686 FormulaSimplificationTreeSizeReduction, 0.2s HoareSimplificationTime, 15 FomulaSimplificationsInter, 942 FormulaSimplificationTreeSizeReductionInter, 0.5s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 5.9s InterpolantComputationTime, 963 NumberOfCodeBlocks, 958 NumberOfCodeBlocksAsserted, 23 NumberOfCheckSat, 947 ConstructedInterpolants, 0 QuantifiedInterpolants, 248326 SizeOfPredicates, 20 NumberOfNonLiveVariables, 782 ConjunctsInSsa, 64 ConjunctsInUnsatCore, 16 InterpolantComputations, 6 PerfectInterpolantSequences, 2738/2972 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be correct! Received shutdown request...