/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 --traceabstraction.compute.interpolants.along.a.counterexample Craig_NestedInterpolation --traceabstraction.use.separate.solver.for.trace.checks true -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf -i ../../../trunk/examples/svcomp/loops/verisec_OpenSER_cases1_stripFullBoth_arr.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-267fbe0 [2020-07-18 06:34:44,693 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-18 06:34:44,696 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-18 06:34:44,715 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-18 06:34:44,715 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-18 06:34:44,718 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-18 06:34:44,719 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-18 06:34:44,730 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-18 06:34:44,733 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-18 06:34:44,734 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-18 06:34:44,735 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-18 06:34:44,736 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-18 06:34:44,736 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-18 06:34:44,737 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-18 06:34:44,742 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-18 06:34:44,743 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-18 06:34:44,743 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-18 06:34:44,744 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-18 06:34:44,749 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-18 06:34:44,751 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-18 06:34:44,754 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-18 06:34:44,757 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-18 06:34:44,758 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-18 06:34:44,759 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-18 06:34:44,764 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-18 06:34:44,764 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-18 06:34:44,765 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-18 06:34:44,769 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-18 06:34:44,769 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-18 06:34:44,770 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-18 06:34:44,770 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-18 06:34:44,771 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-18 06:34:44,773 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-18 06:34:44,774 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-18 06:34:44,777 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-18 06:34:44,777 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-18 06:34:44,778 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-18 06:34:44,779 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-18 06:34:44,779 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-18 06:34:44,780 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-18 06:34:44,782 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-18 06:34:44,782 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf [2020-07-18 06:34:44,798 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-18 06:34:44,798 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-18 06:34:44,799 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-18 06:34:44,800 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-18 06:34:44,800 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-18 06:34:44,800 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-18 06:34:44,800 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-18 06:34:44,800 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-18 06:34:44,801 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-18 06:34:44,801 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-18 06:34:44,801 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-18 06:34:44,801 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-18 06:34:44,801 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-18 06:34:44,802 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-18 06:34:44,802 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-18 06:34:44,802 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-18 06:34:44,802 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-18 06:34:44,803 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-18 06:34:44,803 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-18 06:34:44,803 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-18 06:34:44,803 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-18 06:34:44,804 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-18 06:34:44,804 INFO L138 SettingsManager]: * Use separate solver for trace checks=false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Compute Interpolants along a Counterexample -> Craig_NestedInterpolation Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Use separate solver for trace checks -> true [2020-07-18 06:34:45,128 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-18 06:34:45,145 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-18 06:34:45,149 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-18 06:34:45,151 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-18 06:34:45,151 INFO L275 PluginConnector]: CDTParser initialized [2020-07-18 06:34:45,152 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loops/verisec_OpenSER_cases1_stripFullBoth_arr.i [2020-07-18 06:34:45,214 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/54f7ffe83/12cc761ae7304c299088929b00850255/FLAGdb316e32c [2020-07-18 06:34:45,734 INFO L306 CDTParser]: Found 1 translation units. [2020-07-18 06:34:45,734 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/verisec_OpenSER_cases1_stripFullBoth_arr.i [2020-07-18 06:34:45,746 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/54f7ffe83/12cc761ae7304c299088929b00850255/FLAGdb316e32c [2020-07-18 06:34:46,064 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/54f7ffe83/12cc761ae7304c299088929b00850255 [2020-07-18 06:34:46,073 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-18 06:34:46,076 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-18 06:34:46,077 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-18 06:34:46,078 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-18 06:34:46,081 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-18 06:34:46,083 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.07 06:34:46" (1/1) ... [2020-07-18 06:34:46,086 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@461264cb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:34:46, skipping insertion in model container [2020-07-18 06:34:46,087 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.07 06:34:46" (1/1) ... [2020-07-18 06:34:46,094 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-18 06:34:46,113 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-18 06:34:46,318 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-18 06:34:46,335 INFO L203 MainTranslator]: Completed pre-run [2020-07-18 06:34:46,468 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-18 06:34:46,492 INFO L208 MainTranslator]: Completed translation [2020-07-18 06:34:46,493 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:34:46 WrapperNode [2020-07-18 06:34:46,493 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-18 06:34:46,494 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-18 06:34:46,494 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-18 06:34:46,494 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-18 06:34:46,509 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:34:46" (1/1) ... [2020-07-18 06:34:46,509 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:34:46" (1/1) ... [2020-07-18 06:34:46,535 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:34:46" (1/1) ... [2020-07-18 06:34:46,535 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:34:46" (1/1) ... [2020-07-18 06:34:46,567 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:34:46" (1/1) ... [2020-07-18 06:34:46,575 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:34:46" (1/1) ... [2020-07-18 06:34:46,577 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:34:46" (1/1) ... [2020-07-18 06:34:46,581 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-18 06:34:46,582 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-18 06:34:46,582 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-18 06:34:46,582 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-18 06:34:46,583 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:34: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-18 06:34:46,651 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-18 06:34:46,651 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-18 06:34:46,651 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2020-07-18 06:34:46,652 INFO L138 BoogieDeclarations]: Found implementation of procedure r_strncpy [2020-07-18 06:34:46,652 INFO L138 BoogieDeclarations]: Found implementation of procedure parse_expression_list [2020-07-18 06:34:46,652 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-18 06:34:46,652 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-18 06:34:46,652 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2020-07-18 06:34:46,652 INFO L130 BoogieDeclarations]: Found specification of procedure strchr [2020-07-18 06:34:46,652 INFO L130 BoogieDeclarations]: Found specification of procedure strrchr [2020-07-18 06:34:46,652 INFO L130 BoogieDeclarations]: Found specification of procedure strstr [2020-07-18 06:34:46,652 INFO L130 BoogieDeclarations]: Found specification of procedure strncpy [2020-07-18 06:34:46,653 INFO L130 BoogieDeclarations]: Found specification of procedure strncpy_ptr [2020-07-18 06:34:46,653 INFO L130 BoogieDeclarations]: Found specification of procedure strcpy [2020-07-18 06:34:46,653 INFO L130 BoogieDeclarations]: Found specification of procedure strlen [2020-07-18 06:34:46,653 INFO L130 BoogieDeclarations]: Found specification of procedure strncmp [2020-07-18 06:34:46,653 INFO L130 BoogieDeclarations]: Found specification of procedure strcmp [2020-07-18 06:34:46,654 INFO L130 BoogieDeclarations]: Found specification of procedure strcat [2020-07-18 06:34:46,654 INFO L130 BoogieDeclarations]: Found specification of procedure memcpy [2020-07-18 06:34:46,654 INFO L130 BoogieDeclarations]: Found specification of procedure isascii [2020-07-18 06:34:46,654 INFO L130 BoogieDeclarations]: Found specification of procedure isspace [2020-07-18 06:34:46,654 INFO L130 BoogieDeclarations]: Found specification of procedure getc [2020-07-18 06:34:46,654 INFO L130 BoogieDeclarations]: Found specification of procedure strrand [2020-07-18 06:34:46,655 INFO L130 BoogieDeclarations]: Found specification of procedure istrrand [2020-07-18 06:34:46,655 INFO L130 BoogieDeclarations]: Found specification of procedure istrchr [2020-07-18 06:34:46,655 INFO L130 BoogieDeclarations]: Found specification of procedure istrrchr [2020-07-18 06:34:46,655 INFO L130 BoogieDeclarations]: Found specification of procedure istrncmp [2020-07-18 06:34:46,655 INFO L130 BoogieDeclarations]: Found specification of procedure istrstr [2020-07-18 06:34:46,660 INFO L130 BoogieDeclarations]: Found specification of procedure r_strncpy [2020-07-18 06:34:46,661 INFO L130 BoogieDeclarations]: Found specification of procedure r_strcpy [2020-07-18 06:34:46,661 INFO L130 BoogieDeclarations]: Found specification of procedure r_strcat [2020-07-18 06:34:46,661 INFO L130 BoogieDeclarations]: Found specification of procedure r_strncat [2020-07-18 06:34:46,661 INFO L130 BoogieDeclarations]: Found specification of procedure r_memcpy [2020-07-18 06:34:46,661 INFO L130 BoogieDeclarations]: Found specification of procedure parse_expression_list [2020-07-18 06:34:46,661 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-18 06:34:46,661 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-18 06:34:46,662 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-18 06:34:46,662 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-18 06:34:46,662 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-18 06:34:46,662 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-18 06:34:46,662 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-18 06:34:47,272 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-18 06:34:47,272 INFO L295 CfgBuilder]: Removed 3 assume(true) statements. [2020-07-18 06:34:47,278 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.07 06:34:47 BoogieIcfgContainer [2020-07-18 06:34:47,278 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-18 06:34:47,280 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-18 06:34:47,280 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-18 06:34:47,283 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-18 06:34:47,284 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 18.07 06:34:46" (1/3) ... [2020-07-18 06:34:47,285 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@a10cfc4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.07 06:34:47, skipping insertion in model container [2020-07-18 06:34:47,285 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 06:34:46" (2/3) ... [2020-07-18 06:34:47,286 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@a10cfc4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.07 06:34:47, skipping insertion in model container [2020-07-18 06:34:47,286 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.07 06:34:47" (3/3) ... [2020-07-18 06:34:47,288 INFO L109 eAbstractionObserver]: Analyzing ICFG verisec_OpenSER_cases1_stripFullBoth_arr.i [2020-07-18 06:34:47,300 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-18 06:34:47,310 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-18 06:34:47,326 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-18 06:34:47,350 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-18 06:34:47,351 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-18 06:34:47,351 INFO L377 AbstractCegarLoop]: Compute interpolants for Craig_NestedInterpolation [2020-07-18 06:34:47,351 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-18 06:34:47,352 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-18 06:34:47,352 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-18 06:34:47,352 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-18 06:34:47,352 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-18 06:34:47,373 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states. [2020-07-18 06:34:47,388 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2020-07-18 06:34:47,389 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:34:47,390 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 06:34:47,391 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:34:47,398 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:34:47,398 INFO L82 PathProgramCache]: Analyzing trace with hash 2116113079, now seen corresponding path program 1 times [2020-07-18 06:34:47,409 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:34:47,409 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1708115465] [2020-07-18 06:34:47,410 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:34:47,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:47,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:47,656 INFO L280 TraceCheckUtils]: 0: Hoare triple {141#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {126#true} is VALID [2020-07-18 06:34:47,657 INFO L280 TraceCheckUtils]: 1: Hoare triple {126#true} #valid := #valid[0 := 0]; {126#true} is VALID [2020-07-18 06:34:47,657 INFO L280 TraceCheckUtils]: 2: Hoare triple {126#true} assume 0 < #StackHeapBarrier; {126#true} is VALID [2020-07-18 06:34:47,658 INFO L280 TraceCheckUtils]: 3: Hoare triple {126#true} assume true; {126#true} is VALID [2020-07-18 06:34:47,658 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {126#true} {126#true} #205#return; {126#true} is VALID [2020-07-18 06:34:47,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:47,674 INFO L280 TraceCheckUtils]: 0: Hoare triple {126#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {126#true} is VALID [2020-07-18 06:34:47,675 INFO L280 TraceCheckUtils]: 1: Hoare triple {126#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {126#true} is VALID [2020-07-18 06:34:47,675 INFO L280 TraceCheckUtils]: 2: Hoare triple {126#true} ~n := #in~n; {126#true} is VALID [2020-07-18 06:34:47,676 INFO L280 TraceCheckUtils]: 3: Hoare triple {126#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {126#true} is VALID [2020-07-18 06:34:47,676 INFO L280 TraceCheckUtils]: 4: Hoare triple {126#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {126#true} is VALID [2020-07-18 06:34:47,676 INFO L280 TraceCheckUtils]: 5: Hoare triple {126#true} havoc #t~ret0.base, #t~ret0.offset; {126#true} is VALID [2020-07-18 06:34:47,677 INFO L280 TraceCheckUtils]: 6: Hoare triple {126#true} assume true; {126#true} is VALID [2020-07-18 06:34:47,677 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {126#true} {127#false} #201#return; {127#false} is VALID [2020-07-18 06:34:47,680 INFO L263 TraceCheckUtils]: 0: Hoare triple {126#true} call ULTIMATE.init(); {141#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:34:47,680 INFO L280 TraceCheckUtils]: 1: Hoare triple {141#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {126#true} is VALID [2020-07-18 06:34:47,681 INFO L280 TraceCheckUtils]: 2: Hoare triple {126#true} #valid := #valid[0 := 0]; {126#true} is VALID [2020-07-18 06:34:47,681 INFO L280 TraceCheckUtils]: 3: Hoare triple {126#true} assume 0 < #StackHeapBarrier; {126#true} is VALID [2020-07-18 06:34:47,681 INFO L280 TraceCheckUtils]: 4: Hoare triple {126#true} assume true; {126#true} is VALID [2020-07-18 06:34:47,682 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {126#true} {126#true} #205#return; {126#true} is VALID [2020-07-18 06:34:47,682 INFO L263 TraceCheckUtils]: 6: Hoare triple {126#true} call #t~ret21 := main(); {126#true} is VALID [2020-07-18 06:34:47,683 INFO L280 TraceCheckUtils]: 7: Hoare triple {126#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {126#true} is VALID [2020-07-18 06:34:47,683 INFO L280 TraceCheckUtils]: 8: Hoare triple {126#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {126#true} is VALID [2020-07-18 06:34:47,683 INFO L263 TraceCheckUtils]: 9: Hoare triple {126#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {126#true} is VALID [2020-07-18 06:34:47,684 INFO L280 TraceCheckUtils]: 10: Hoare triple {126#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {126#true} is VALID [2020-07-18 06:34:47,684 INFO L280 TraceCheckUtils]: 11: Hoare triple {126#true} ~start~0 := 0; {126#true} is VALID [2020-07-18 06:34:47,685 INFO L280 TraceCheckUtils]: 12: Hoare triple {126#true} ~i~0 := -1; {126#true} is VALID [2020-07-18 06:34:47,685 INFO L280 TraceCheckUtils]: 13: Hoare triple {126#true} ~j~0 := -1; {126#true} is VALID [2020-07-18 06:34:47,685 INFO L280 TraceCheckUtils]: 14: Hoare triple {126#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {126#true} is VALID [2020-07-18 06:34:47,686 INFO L280 TraceCheckUtils]: 15: Hoare triple {126#true} assume !(~str.base == 0 && ~str.offset == 0); {126#true} is VALID [2020-07-18 06:34:47,686 INFO L280 TraceCheckUtils]: 16: Hoare triple {126#true} #t~post2 := ~i~0; {126#true} is VALID [2020-07-18 06:34:47,687 INFO L280 TraceCheckUtils]: 17: Hoare triple {126#true} ~i~0 := 1 + #t~post2; {126#true} is VALID [2020-07-18 06:34:47,687 INFO L280 TraceCheckUtils]: 18: Hoare triple {126#true} havoc #t~post2; {126#true} is VALID [2020-07-18 06:34:47,687 INFO L280 TraceCheckUtils]: 19: Hoare triple {126#true} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {126#true} is VALID [2020-07-18 06:34:47,688 INFO L280 TraceCheckUtils]: 20: Hoare triple {126#true} #t~switch4 := 0 == #t~mem3; {126#true} is VALID [2020-07-18 06:34:47,688 INFO L280 TraceCheckUtils]: 21: Hoare triple {126#true} assume #t~switch4; {126#true} is VALID [2020-07-18 06:34:47,690 INFO L280 TraceCheckUtils]: 22: Hoare triple {126#true} assume !true; {127#false} is VALID [2020-07-18 06:34:47,690 INFO L280 TraceCheckUtils]: 23: Hoare triple {127#false} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {127#false} is VALID [2020-07-18 06:34:47,690 INFO L280 TraceCheckUtils]: 24: Hoare triple {127#false} assume !(34 == #t~mem9); {127#false} is VALID [2020-07-18 06:34:47,691 INFO L280 TraceCheckUtils]: 25: Hoare triple {127#false} havoc #t~mem9; {127#false} is VALID [2020-07-18 06:34:47,691 INFO L280 TraceCheckUtils]: 26: Hoare triple {127#false} ~j~0 := ~i~0 - 1; {127#false} is VALID [2020-07-18 06:34:47,692 INFO L280 TraceCheckUtils]: 27: Hoare triple {127#false} assume !true; {127#false} is VALID [2020-07-18 06:34:47,692 INFO L280 TraceCheckUtils]: 28: Hoare triple {127#false} #t~short17 := 0 < ~j~0; {127#false} is VALID [2020-07-18 06:34:47,693 INFO L280 TraceCheckUtils]: 29: Hoare triple {127#false} assume !#t~short17; {127#false} is VALID [2020-07-18 06:34:47,693 INFO L280 TraceCheckUtils]: 30: Hoare triple {127#false} assume !#t~short17; {127#false} is VALID [2020-07-18 06:34:47,693 INFO L280 TraceCheckUtils]: 31: Hoare triple {127#false} havoc #t~short17; {127#false} is VALID [2020-07-18 06:34:47,694 INFO L280 TraceCheckUtils]: 32: Hoare triple {127#false} havoc #t~mem16; {127#false} is VALID [2020-07-18 06:34:47,694 INFO L280 TraceCheckUtils]: 33: Hoare triple {127#false} assume ~start~0 <= ~j~0; {127#false} is VALID [2020-07-18 06:34:47,695 INFO L263 TraceCheckUtils]: 34: Hoare triple {127#false} call #t~ret19.base, #t~ret19.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0, 1 + (~j~0 - ~start~0)); {126#true} is VALID [2020-07-18 06:34:47,695 INFO L280 TraceCheckUtils]: 35: Hoare triple {126#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {126#true} is VALID [2020-07-18 06:34:47,695 INFO L280 TraceCheckUtils]: 36: Hoare triple {126#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {126#true} is VALID [2020-07-18 06:34:47,696 INFO L280 TraceCheckUtils]: 37: Hoare triple {126#true} ~n := #in~n; {126#true} is VALID [2020-07-18 06:34:47,696 INFO L280 TraceCheckUtils]: 38: Hoare triple {126#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {126#true} is VALID [2020-07-18 06:34:47,697 INFO L280 TraceCheckUtils]: 39: Hoare triple {126#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {126#true} is VALID [2020-07-18 06:34:47,697 INFO L280 TraceCheckUtils]: 40: Hoare triple {126#true} havoc #t~ret0.base, #t~ret0.offset; {126#true} is VALID [2020-07-18 06:34:47,697 INFO L280 TraceCheckUtils]: 41: Hoare triple {126#true} assume true; {126#true} is VALID [2020-07-18 06:34:47,698 INFO L275 TraceCheckUtils]: 42: Hoare quadruple {126#true} {127#false} #201#return; {127#false} is VALID [2020-07-18 06:34:47,698 INFO L280 TraceCheckUtils]: 43: Hoare triple {127#false} havoc #t~ret19.base, #t~ret19.offset; {127#false} is VALID [2020-07-18 06:34:47,698 INFO L263 TraceCheckUtils]: 44: Hoare triple {127#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {127#false} is VALID [2020-07-18 06:34:47,699 INFO L280 TraceCheckUtils]: 45: Hoare triple {127#false} ~cond := #in~cond; {127#false} is VALID [2020-07-18 06:34:47,699 INFO L280 TraceCheckUtils]: 46: Hoare triple {127#false} assume 0 == ~cond; {127#false} is VALID [2020-07-18 06:34:47,700 INFO L280 TraceCheckUtils]: 47: Hoare triple {127#false} assume !false; {127#false} is VALID [2020-07-18 06:34:47,709 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-18 06:34:47,711 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1708115465] [2020-07-18 06:34:47,714 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 06:34:47,715 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-07-18 06:34:47,716 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1170662351] [2020-07-18 06:34:47,725 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 48 [2020-07-18 06:34:47,735 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:34:47,740 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-18 06:34:47,838 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:34:47,839 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-18 06:34:47,839 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:34:47,848 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-18 06:34:47,849 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-18 06:34:47,852 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 3 states. [2020-07-18 06:34:48,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:48,446 INFO L93 Difference]: Finished difference Result 227 states and 257 transitions. [2020-07-18 06:34:48,447 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-18 06:34:48,447 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 48 [2020-07-18 06:34:48,447 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:34:48,449 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-18 06:34:48,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 257 transitions. [2020-07-18 06:34:48,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-18 06:34:48,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 257 transitions. [2020-07-18 06:34:48,476 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 257 transitions. [2020-07-18 06:34:48,836 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 257 edges. 257 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:34:48,854 INFO L225 Difference]: With dead ends: 227 [2020-07-18 06:34:48,854 INFO L226 Difference]: Without dead ends: 102 [2020-07-18 06:34:48,859 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-18 06:34:48,878 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2020-07-18 06:34:48,973 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 102. [2020-07-18 06:34:48,973 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:34:48,974 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand 102 states. [2020-07-18 06:34:48,974 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 102 states. [2020-07-18 06:34:48,975 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 102 states. [2020-07-18 06:34:48,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:48,984 INFO L93 Difference]: Finished difference Result 102 states and 111 transitions. [2020-07-18 06:34:48,984 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 111 transitions. [2020-07-18 06:34:48,985 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:48,986 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:48,986 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 102 states. [2020-07-18 06:34:48,986 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 102 states. [2020-07-18 06:34:48,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:48,995 INFO L93 Difference]: Finished difference Result 102 states and 111 transitions. [2020-07-18 06:34:48,995 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 111 transitions. [2020-07-18 06:34:48,996 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:48,997 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:48,997 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:34:48,997 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:34:48,997 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 102 states. [2020-07-18 06:34:49,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 111 transitions. [2020-07-18 06:34:49,005 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 111 transitions. Word has length 48 [2020-07-18 06:34:49,006 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:34:49,006 INFO L479 AbstractCegarLoop]: Abstraction has 102 states and 111 transitions. [2020-07-18 06:34:49,006 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-18 06:34:49,006 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 102 states and 111 transitions. [2020-07-18 06:34:49,124 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:34:49,124 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 111 transitions. [2020-07-18 06:34:49,127 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2020-07-18 06:34:49,127 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:34:49,127 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-18 06:34:49,128 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-18 06:34:49,128 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:34:49,129 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:34:49,129 INFO L82 PathProgramCache]: Analyzing trace with hash 1227098254, now seen corresponding path program 1 times [2020-07-18 06:34:49,129 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:34:49,129 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1034509858] [2020-07-18 06:34:49,130 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:34:49,162 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:49,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:49,258 INFO L280 TraceCheckUtils]: 0: Hoare triple {1022#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1006#true} is VALID [2020-07-18 06:34:49,259 INFO L280 TraceCheckUtils]: 1: Hoare triple {1006#true} #valid := #valid[0 := 0]; {1006#true} is VALID [2020-07-18 06:34:49,259 INFO L280 TraceCheckUtils]: 2: Hoare triple {1006#true} assume 0 < #StackHeapBarrier; {1006#true} is VALID [2020-07-18 06:34:49,259 INFO L280 TraceCheckUtils]: 3: Hoare triple {1006#true} assume true; {1006#true} is VALID [2020-07-18 06:34:49,260 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1006#true} {1006#true} #205#return; {1006#true} is VALID [2020-07-18 06:34:49,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:49,267 INFO L280 TraceCheckUtils]: 0: Hoare triple {1006#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {1006#true} is VALID [2020-07-18 06:34:49,267 INFO L280 TraceCheckUtils]: 1: Hoare triple {1006#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {1006#true} is VALID [2020-07-18 06:34:49,268 INFO L280 TraceCheckUtils]: 2: Hoare triple {1006#true} ~n := #in~n; {1006#true} is VALID [2020-07-18 06:34:49,268 INFO L280 TraceCheckUtils]: 3: Hoare triple {1006#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {1006#true} is VALID [2020-07-18 06:34:49,268 INFO L280 TraceCheckUtils]: 4: Hoare triple {1006#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {1006#true} is VALID [2020-07-18 06:34:49,269 INFO L280 TraceCheckUtils]: 5: Hoare triple {1006#true} havoc #t~ret0.base, #t~ret0.offset; {1006#true} is VALID [2020-07-18 06:34:49,269 INFO L280 TraceCheckUtils]: 6: Hoare triple {1006#true} assume true; {1006#true} is VALID [2020-07-18 06:34:49,269 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {1006#true} {1007#false} #201#return; {1007#false} is VALID [2020-07-18 06:34:49,271 INFO L263 TraceCheckUtils]: 0: Hoare triple {1006#true} call ULTIMATE.init(); {1022#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:34:49,271 INFO L280 TraceCheckUtils]: 1: Hoare triple {1022#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1006#true} is VALID [2020-07-18 06:34:49,271 INFO L280 TraceCheckUtils]: 2: Hoare triple {1006#true} #valid := #valid[0 := 0]; {1006#true} is VALID [2020-07-18 06:34:49,272 INFO L280 TraceCheckUtils]: 3: Hoare triple {1006#true} assume 0 < #StackHeapBarrier; {1006#true} is VALID [2020-07-18 06:34:49,272 INFO L280 TraceCheckUtils]: 4: Hoare triple {1006#true} assume true; {1006#true} is VALID [2020-07-18 06:34:49,272 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1006#true} {1006#true} #205#return; {1006#true} is VALID [2020-07-18 06:34:49,272 INFO L263 TraceCheckUtils]: 6: Hoare triple {1006#true} call #t~ret21 := main(); {1006#true} is VALID [2020-07-18 06:34:49,273 INFO L280 TraceCheckUtils]: 7: Hoare triple {1006#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {1006#true} is VALID [2020-07-18 06:34:49,273 INFO L280 TraceCheckUtils]: 8: Hoare triple {1006#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {1006#true} is VALID [2020-07-18 06:34:49,273 INFO L263 TraceCheckUtils]: 9: Hoare triple {1006#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {1006#true} is VALID [2020-07-18 06:34:49,274 INFO L280 TraceCheckUtils]: 10: Hoare triple {1006#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {1006#true} is VALID [2020-07-18 06:34:49,274 INFO L280 TraceCheckUtils]: 11: Hoare triple {1006#true} ~start~0 := 0; {1006#true} is VALID [2020-07-18 06:34:49,274 INFO L280 TraceCheckUtils]: 12: Hoare triple {1006#true} ~i~0 := -1; {1006#true} is VALID [2020-07-18 06:34:49,274 INFO L280 TraceCheckUtils]: 13: Hoare triple {1006#true} ~j~0 := -1; {1006#true} is VALID [2020-07-18 06:34:49,275 INFO L280 TraceCheckUtils]: 14: Hoare triple {1006#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {1006#true} is VALID [2020-07-18 06:34:49,275 INFO L280 TraceCheckUtils]: 15: Hoare triple {1006#true} assume !(~str.base == 0 && ~str.offset == 0); {1006#true} is VALID [2020-07-18 06:34:49,275 INFO L280 TraceCheckUtils]: 16: Hoare triple {1006#true} #t~post2 := ~i~0; {1006#true} is VALID [2020-07-18 06:34:49,276 INFO L280 TraceCheckUtils]: 17: Hoare triple {1006#true} ~i~0 := 1 + #t~post2; {1006#true} is VALID [2020-07-18 06:34:49,276 INFO L280 TraceCheckUtils]: 18: Hoare triple {1006#true} havoc #t~post2; {1006#true} is VALID [2020-07-18 06:34:49,276 INFO L280 TraceCheckUtils]: 19: Hoare triple {1006#true} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {1006#true} is VALID [2020-07-18 06:34:49,277 INFO L280 TraceCheckUtils]: 20: Hoare triple {1006#true} #t~switch4 := 0 == #t~mem3; {1006#true} is VALID [2020-07-18 06:34:49,277 INFO L280 TraceCheckUtils]: 21: Hoare triple {1006#true} assume #t~switch4; {1006#true} is VALID [2020-07-18 06:34:49,277 INFO L280 TraceCheckUtils]: 22: Hoare triple {1006#true} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {1006#true} is VALID [2020-07-18 06:34:49,277 INFO L280 TraceCheckUtils]: 23: Hoare triple {1006#true} #t~short7 := 32 == #t~mem5; {1006#true} is VALID [2020-07-18 06:34:49,278 INFO L280 TraceCheckUtils]: 24: Hoare triple {1006#true} assume #t~short7; {1013#|parse_expression_list_#t~short7|} is VALID [2020-07-18 06:34:49,279 INFO L280 TraceCheckUtils]: 25: Hoare triple {1013#|parse_expression_list_#t~short7|} assume !#t~short7; {1007#false} is VALID [2020-07-18 06:34:49,279 INFO L280 TraceCheckUtils]: 26: Hoare triple {1007#false} havoc #t~mem5; {1007#false} is VALID [2020-07-18 06:34:49,280 INFO L280 TraceCheckUtils]: 27: Hoare triple {1007#false} havoc #t~short7; {1007#false} is VALID [2020-07-18 06:34:49,280 INFO L280 TraceCheckUtils]: 28: Hoare triple {1007#false} havoc #t~mem6; {1007#false} is VALID [2020-07-18 06:34:49,280 INFO L280 TraceCheckUtils]: 29: Hoare triple {1007#false} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {1007#false} is VALID [2020-07-18 06:34:49,281 INFO L280 TraceCheckUtils]: 30: Hoare triple {1007#false} assume !(34 == #t~mem9); {1007#false} is VALID [2020-07-18 06:34:49,281 INFO L280 TraceCheckUtils]: 31: Hoare triple {1007#false} havoc #t~mem9; {1007#false} is VALID [2020-07-18 06:34:49,281 INFO L280 TraceCheckUtils]: 32: Hoare triple {1007#false} ~j~0 := ~i~0 - 1; {1007#false} is VALID [2020-07-18 06:34:49,282 INFO L280 TraceCheckUtils]: 33: Hoare triple {1007#false} #t~short14 := 0 < ~j~0; {1007#false} is VALID [2020-07-18 06:34:49,282 INFO L280 TraceCheckUtils]: 34: Hoare triple {1007#false} assume !#t~short14; {1007#false} is VALID [2020-07-18 06:34:49,282 INFO L280 TraceCheckUtils]: 35: Hoare triple {1007#false} assume !#t~short14; {1007#false} is VALID [2020-07-18 06:34:49,282 INFO L280 TraceCheckUtils]: 36: Hoare triple {1007#false} havoc #t~short14; {1007#false} is VALID [2020-07-18 06:34:49,283 INFO L280 TraceCheckUtils]: 37: Hoare triple {1007#false} havoc #t~short13; {1007#false} is VALID [2020-07-18 06:34:49,283 INFO L280 TraceCheckUtils]: 38: Hoare triple {1007#false} havoc #t~mem12; {1007#false} is VALID [2020-07-18 06:34:49,283 INFO L280 TraceCheckUtils]: 39: Hoare triple {1007#false} havoc #t~mem11; {1007#false} is VALID [2020-07-18 06:34:49,284 INFO L280 TraceCheckUtils]: 40: Hoare triple {1007#false} #t~short17 := 0 < ~j~0; {1007#false} is VALID [2020-07-18 06:34:49,284 INFO L280 TraceCheckUtils]: 41: Hoare triple {1007#false} assume !#t~short17; {1007#false} is VALID [2020-07-18 06:34:49,284 INFO L280 TraceCheckUtils]: 42: Hoare triple {1007#false} assume !#t~short17; {1007#false} is VALID [2020-07-18 06:34:49,284 INFO L280 TraceCheckUtils]: 43: Hoare triple {1007#false} havoc #t~short17; {1007#false} is VALID [2020-07-18 06:34:49,285 INFO L280 TraceCheckUtils]: 44: Hoare triple {1007#false} havoc #t~mem16; {1007#false} is VALID [2020-07-18 06:34:49,285 INFO L280 TraceCheckUtils]: 45: Hoare triple {1007#false} assume ~start~0 <= ~j~0; {1007#false} is VALID [2020-07-18 06:34:49,285 INFO L263 TraceCheckUtils]: 46: Hoare triple {1007#false} call #t~ret19.base, #t~ret19.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0, 1 + (~j~0 - ~start~0)); {1006#true} is VALID [2020-07-18 06:34:49,286 INFO L280 TraceCheckUtils]: 47: Hoare triple {1006#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {1006#true} is VALID [2020-07-18 06:34:49,286 INFO L280 TraceCheckUtils]: 48: Hoare triple {1006#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {1006#true} is VALID [2020-07-18 06:34:49,286 INFO L280 TraceCheckUtils]: 49: Hoare triple {1006#true} ~n := #in~n; {1006#true} is VALID [2020-07-18 06:34:49,287 INFO L280 TraceCheckUtils]: 50: Hoare triple {1006#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {1006#true} is VALID [2020-07-18 06:34:49,287 INFO L280 TraceCheckUtils]: 51: Hoare triple {1006#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {1006#true} is VALID [2020-07-18 06:34:49,287 INFO L280 TraceCheckUtils]: 52: Hoare triple {1006#true} havoc #t~ret0.base, #t~ret0.offset; {1006#true} is VALID [2020-07-18 06:34:49,288 INFO L280 TraceCheckUtils]: 53: Hoare triple {1006#true} assume true; {1006#true} is VALID [2020-07-18 06:34:49,288 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {1006#true} {1007#false} #201#return; {1007#false} is VALID [2020-07-18 06:34:49,288 INFO L280 TraceCheckUtils]: 55: Hoare triple {1007#false} havoc #t~ret19.base, #t~ret19.offset; {1007#false} is VALID [2020-07-18 06:34:49,288 INFO L263 TraceCheckUtils]: 56: Hoare triple {1007#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {1007#false} is VALID [2020-07-18 06:34:49,289 INFO L280 TraceCheckUtils]: 57: Hoare triple {1007#false} ~cond := #in~cond; {1007#false} is VALID [2020-07-18 06:34:49,289 INFO L280 TraceCheckUtils]: 58: Hoare triple {1007#false} assume 0 == ~cond; {1007#false} is VALID [2020-07-18 06:34:49,289 INFO L280 TraceCheckUtils]: 59: Hoare triple {1007#false} assume !false; {1007#false} is VALID [2020-07-18 06:34:49,293 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-18 06:34:49,294 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1034509858] [2020-07-18 06:34:49,294 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 06:34:49,294 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-18 06:34:49,294 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [800977144] [2020-07-18 06:34:49,296 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 60 [2020-07-18 06:34:49,297 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:34:49,297 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-18 06:34:49,357 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:34:49,358 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-18 06:34:49,358 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:34:49,358 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-18 06:34:49,359 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-18 06:34:49,359 INFO L87 Difference]: Start difference. First operand 102 states and 111 transitions. Second operand 4 states. [2020-07-18 06:34:49,880 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:49,880 INFO L93 Difference]: Finished difference Result 189 states and 208 transitions. [2020-07-18 06:34:49,881 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-18 06:34:49,881 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 60 [2020-07-18 06:34:49,881 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:34:49,881 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-18 06:34:49,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 208 transitions. [2020-07-18 06:34:49,887 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-18 06:34:49,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 208 transitions. [2020-07-18 06:34:49,893 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 208 transitions. [2020-07-18 06:34:50,093 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 208 edges. 208 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:34:50,098 INFO L225 Difference]: With dead ends: 189 [2020-07-18 06:34:50,098 INFO L226 Difference]: Without dead ends: 103 [2020-07-18 06:34:50,100 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-18 06:34:50,100 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2020-07-18 06:34:50,161 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2020-07-18 06:34:50,162 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:34:50,162 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand 103 states. [2020-07-18 06:34:50,162 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand 103 states. [2020-07-18 06:34:50,162 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 103 states. [2020-07-18 06:34:50,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:50,167 INFO L93 Difference]: Finished difference Result 103 states and 112 transitions. [2020-07-18 06:34:50,167 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 112 transitions. [2020-07-18 06:34:50,168 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:50,169 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:50,169 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand 103 states. [2020-07-18 06:34:50,169 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 103 states. [2020-07-18 06:34:50,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:50,174 INFO L93 Difference]: Finished difference Result 103 states and 112 transitions. [2020-07-18 06:34:50,174 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 112 transitions. [2020-07-18 06:34:50,175 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:50,175 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:50,175 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:34:50,175 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:34:50,176 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 103 states. [2020-07-18 06:34:50,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 112 transitions. [2020-07-18 06:34:50,180 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 112 transitions. Word has length 60 [2020-07-18 06:34:50,180 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:34:50,180 INFO L479 AbstractCegarLoop]: Abstraction has 103 states and 112 transitions. [2020-07-18 06:34:50,181 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-18 06:34:50,181 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 103 states and 112 transitions. [2020-07-18 06:34:50,302 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:34:50,302 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 112 transitions. [2020-07-18 06:34:50,305 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2020-07-18 06:34:50,305 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:34:50,306 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-18 06:34:50,306 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-18 06:34:50,306 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:34:50,309 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:34:50,310 INFO L82 PathProgramCache]: Analyzing trace with hash 1578191403, now seen corresponding path program 1 times [2020-07-18 06:34:50,310 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:34:50,310 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1301250803] [2020-07-18 06:34:50,310 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:34:50,337 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:50,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:50,504 INFO L280 TraceCheckUtils]: 0: Hoare triple {1835#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1815#true} is VALID [2020-07-18 06:34:50,505 INFO L280 TraceCheckUtils]: 1: Hoare triple {1815#true} #valid := #valid[0 := 0]; {1815#true} is VALID [2020-07-18 06:34:50,505 INFO L280 TraceCheckUtils]: 2: Hoare triple {1815#true} assume 0 < #StackHeapBarrier; {1815#true} is VALID [2020-07-18 06:34:50,505 INFO L280 TraceCheckUtils]: 3: Hoare triple {1815#true} assume true; {1815#true} is VALID [2020-07-18 06:34:50,506 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1815#true} {1815#true} #205#return; {1815#true} is VALID [2020-07-18 06:34:50,508 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:50,527 INFO L280 TraceCheckUtils]: 0: Hoare triple {1815#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {1815#true} is VALID [2020-07-18 06:34:50,527 INFO L280 TraceCheckUtils]: 1: Hoare triple {1815#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {1815#true} is VALID [2020-07-18 06:34:50,527 INFO L280 TraceCheckUtils]: 2: Hoare triple {1815#true} ~n := #in~n; {1815#true} is VALID [2020-07-18 06:34:50,528 INFO L280 TraceCheckUtils]: 3: Hoare triple {1815#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {1815#true} is VALID [2020-07-18 06:34:50,528 INFO L280 TraceCheckUtils]: 4: Hoare triple {1815#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {1815#true} is VALID [2020-07-18 06:34:50,528 INFO L280 TraceCheckUtils]: 5: Hoare triple {1815#true} havoc #t~ret0.base, #t~ret0.offset; {1815#true} is VALID [2020-07-18 06:34:50,529 INFO L280 TraceCheckUtils]: 6: Hoare triple {1815#true} assume true; {1815#true} is VALID [2020-07-18 06:34:50,529 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {1815#true} {1816#false} #201#return; {1816#false} is VALID [2020-07-18 06:34:50,535 INFO L263 TraceCheckUtils]: 0: Hoare triple {1815#true} call ULTIMATE.init(); {1835#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:34:50,536 INFO L280 TraceCheckUtils]: 1: Hoare triple {1835#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1815#true} is VALID [2020-07-18 06:34:50,536 INFO L280 TraceCheckUtils]: 2: Hoare triple {1815#true} #valid := #valid[0 := 0]; {1815#true} is VALID [2020-07-18 06:34:50,536 INFO L280 TraceCheckUtils]: 3: Hoare triple {1815#true} assume 0 < #StackHeapBarrier; {1815#true} is VALID [2020-07-18 06:34:50,536 INFO L280 TraceCheckUtils]: 4: Hoare triple {1815#true} assume true; {1815#true} is VALID [2020-07-18 06:34:50,537 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1815#true} {1815#true} #205#return; {1815#true} is VALID [2020-07-18 06:34:50,537 INFO L263 TraceCheckUtils]: 6: Hoare triple {1815#true} call #t~ret21 := main(); {1815#true} is VALID [2020-07-18 06:34:50,537 INFO L280 TraceCheckUtils]: 7: Hoare triple {1815#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {1815#true} is VALID [2020-07-18 06:34:50,537 INFO L280 TraceCheckUtils]: 8: Hoare triple {1815#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {1815#true} is VALID [2020-07-18 06:34:50,538 INFO L263 TraceCheckUtils]: 9: Hoare triple {1815#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {1815#true} is VALID [2020-07-18 06:34:50,538 INFO L280 TraceCheckUtils]: 10: Hoare triple {1815#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {1815#true} is VALID [2020-07-18 06:34:50,539 INFO L280 TraceCheckUtils]: 11: Hoare triple {1815#true} ~start~0 := 0; {1822#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:34:50,539 INFO L280 TraceCheckUtils]: 12: Hoare triple {1822#(= 0 parse_expression_list_~start~0)} ~i~0 := -1; {1823#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-18 06:34:50,540 INFO L280 TraceCheckUtils]: 13: Hoare triple {1823#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} ~j~0 := -1; {1823#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-18 06:34:50,541 INFO L280 TraceCheckUtils]: 14: Hoare triple {1823#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {1823#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-18 06:34:50,542 INFO L280 TraceCheckUtils]: 15: Hoare triple {1823#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} assume !(~str.base == 0 && ~str.offset == 0); {1823#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-18 06:34:50,543 INFO L280 TraceCheckUtils]: 16: Hoare triple {1823#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} #t~post2 := ~i~0; {1824#(and (<= (+ |parse_expression_list_#t~post2| 1) 0) (= 0 parse_expression_list_~start~0))} is VALID [2020-07-18 06:34:50,544 INFO L280 TraceCheckUtils]: 17: Hoare triple {1824#(and (<= (+ |parse_expression_list_#t~post2| 1) 0) (= 0 parse_expression_list_~start~0))} ~i~0 := 1 + #t~post2; {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:50,544 INFO L280 TraceCheckUtils]: 18: Hoare triple {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~post2; {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:50,545 INFO L280 TraceCheckUtils]: 19: Hoare triple {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:50,546 INFO L280 TraceCheckUtils]: 20: Hoare triple {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~switch4 := 0 == #t~mem3; {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:50,547 INFO L280 TraceCheckUtils]: 21: Hoare triple {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume #t~switch4; {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:50,549 INFO L280 TraceCheckUtils]: 22: Hoare triple {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:50,551 INFO L280 TraceCheckUtils]: 23: Hoare triple {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~short7 := 32 == #t~mem5; {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:50,552 INFO L280 TraceCheckUtils]: 24: Hoare triple {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume !#t~short7; {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:50,552 INFO L280 TraceCheckUtils]: 25: Hoare triple {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:50,554 INFO L280 TraceCheckUtils]: 26: Hoare triple {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~short7 := 9 == #t~mem6; {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:50,556 INFO L280 TraceCheckUtils]: 27: Hoare triple {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume !#t~short7; {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:50,556 INFO L280 TraceCheckUtils]: 28: Hoare triple {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem5; {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:50,557 INFO L280 TraceCheckUtils]: 29: Hoare triple {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~short7; {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:50,558 INFO L280 TraceCheckUtils]: 30: Hoare triple {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem6; {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:50,559 INFO L280 TraceCheckUtils]: 31: Hoare triple {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:50,560 INFO L280 TraceCheckUtils]: 32: Hoare triple {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume !(34 == #t~mem9); {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:50,560 INFO L280 TraceCheckUtils]: 33: Hoare triple {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem9; {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:50,561 INFO L280 TraceCheckUtils]: 34: Hoare triple {1825#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} ~j~0 := ~i~0 - 1; {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:50,569 INFO L280 TraceCheckUtils]: 35: Hoare triple {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} #t~short14 := 0 < ~j~0; {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:50,570 INFO L280 TraceCheckUtils]: 36: Hoare triple {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} assume !#t~short14; {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:50,572 INFO L280 TraceCheckUtils]: 37: Hoare triple {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} assume !#t~short14; {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:50,572 INFO L280 TraceCheckUtils]: 38: Hoare triple {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~short14; {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:50,573 INFO L280 TraceCheckUtils]: 39: Hoare triple {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~short13; {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:50,579 INFO L280 TraceCheckUtils]: 40: Hoare triple {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~mem12; {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:50,582 INFO L280 TraceCheckUtils]: 41: Hoare triple {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~mem11; {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:50,583 INFO L280 TraceCheckUtils]: 42: Hoare triple {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} #t~short17 := 0 < ~j~0; {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:50,584 INFO L280 TraceCheckUtils]: 43: Hoare triple {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} assume !#t~short17; {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:50,585 INFO L280 TraceCheckUtils]: 44: Hoare triple {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} assume !#t~short17; {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:50,586 INFO L280 TraceCheckUtils]: 45: Hoare triple {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~short17; {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:50,587 INFO L280 TraceCheckUtils]: 46: Hoare triple {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~mem16; {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:50,587 INFO L280 TraceCheckUtils]: 47: Hoare triple {1826#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} assume ~start~0 <= ~j~0; {1816#false} is VALID [2020-07-18 06:34:50,588 INFO L263 TraceCheckUtils]: 48: Hoare triple {1816#false} call #t~ret19.base, #t~ret19.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0, 1 + (~j~0 - ~start~0)); {1815#true} is VALID [2020-07-18 06:34:50,588 INFO L280 TraceCheckUtils]: 49: Hoare triple {1815#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {1815#true} is VALID [2020-07-18 06:34:50,588 INFO L280 TraceCheckUtils]: 50: Hoare triple {1815#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {1815#true} is VALID [2020-07-18 06:34:50,589 INFO L280 TraceCheckUtils]: 51: Hoare triple {1815#true} ~n := #in~n; {1815#true} is VALID [2020-07-18 06:34:50,589 INFO L280 TraceCheckUtils]: 52: Hoare triple {1815#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {1815#true} is VALID [2020-07-18 06:34:50,589 INFO L280 TraceCheckUtils]: 53: Hoare triple {1815#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {1815#true} is VALID [2020-07-18 06:34:50,589 INFO L280 TraceCheckUtils]: 54: Hoare triple {1815#true} havoc #t~ret0.base, #t~ret0.offset; {1815#true} is VALID [2020-07-18 06:34:50,590 INFO L280 TraceCheckUtils]: 55: Hoare triple {1815#true} assume true; {1815#true} is VALID [2020-07-18 06:34:50,590 INFO L275 TraceCheckUtils]: 56: Hoare quadruple {1815#true} {1816#false} #201#return; {1816#false} is VALID [2020-07-18 06:34:50,590 INFO L280 TraceCheckUtils]: 57: Hoare triple {1816#false} havoc #t~ret19.base, #t~ret19.offset; {1816#false} is VALID [2020-07-18 06:34:50,590 INFO L263 TraceCheckUtils]: 58: Hoare triple {1816#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {1816#false} is VALID [2020-07-18 06:34:50,591 INFO L280 TraceCheckUtils]: 59: Hoare triple {1816#false} ~cond := #in~cond; {1816#false} is VALID [2020-07-18 06:34:50,591 INFO L280 TraceCheckUtils]: 60: Hoare triple {1816#false} assume 0 == ~cond; {1816#false} is VALID [2020-07-18 06:34:50,591 INFO L280 TraceCheckUtils]: 61: Hoare triple {1816#false} assume !false; {1816#false} is VALID [2020-07-18 06:34:50,600 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-18 06:34:50,601 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1301250803] [2020-07-18 06:34:50,601 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 06:34:50,601 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2020-07-18 06:34:50,602 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1503080064] [2020-07-18 06:34:50,602 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 62 [2020-07-18 06:34:50,603 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:34:50,603 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-18 06:34:50,673 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:34:50,673 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-18 06:34:50,673 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:34:50,674 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-18 06:34:50,674 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=38, Unknown=0, NotChecked=0, Total=56 [2020-07-18 06:34:50,674 INFO L87 Difference]: Start difference. First operand 103 states and 112 transitions. Second operand 8 states. [2020-07-18 06:34:52,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:52,421 INFO L93 Difference]: Finished difference Result 365 states and 410 transitions. [2020-07-18 06:34:52,421 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2020-07-18 06:34:52,421 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 62 [2020-07-18 06:34:52,421 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:34:52,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-18 06:34:52,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 406 transitions. [2020-07-18 06:34:52,430 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-18 06:34:52,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 406 transitions. [2020-07-18 06:34:52,437 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 406 transitions. [2020-07-18 06:34:52,891 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 406 edges. 406 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:34:52,900 INFO L225 Difference]: With dead ends: 365 [2020-07-18 06:34:52,901 INFO L226 Difference]: Without dead ends: 275 [2020-07-18 06:34:52,902 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=69, Invalid=141, Unknown=0, NotChecked=0, Total=210 [2020-07-18 06:34:52,903 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 275 states. [2020-07-18 06:34:53,066 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 275 to 140. [2020-07-18 06:34:53,066 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:34:53,066 INFO L82 GeneralOperation]: Start isEquivalent. First operand 275 states. Second operand 140 states. [2020-07-18 06:34:53,066 INFO L74 IsIncluded]: Start isIncluded. First operand 275 states. Second operand 140 states. [2020-07-18 06:34:53,067 INFO L87 Difference]: Start difference. First operand 275 states. Second operand 140 states. [2020-07-18 06:34:53,088 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:53,088 INFO L93 Difference]: Finished difference Result 275 states and 310 transitions. [2020-07-18 06:34:53,089 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 310 transitions. [2020-07-18 06:34:53,090 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:53,090 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:53,090 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand 275 states. [2020-07-18 06:34:53,091 INFO L87 Difference]: Start difference. First operand 140 states. Second operand 275 states. [2020-07-18 06:34:53,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:53,105 INFO L93 Difference]: Finished difference Result 275 states and 310 transitions. [2020-07-18 06:34:53,105 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 310 transitions. [2020-07-18 06:34:53,107 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:53,107 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:53,107 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:34:53,107 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:34:53,107 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 140 states. [2020-07-18 06:34:53,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 140 states to 140 states and 157 transitions. [2020-07-18 06:34:53,116 INFO L78 Accepts]: Start accepts. Automaton has 140 states and 157 transitions. Word has length 62 [2020-07-18 06:34:53,118 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:34:53,119 INFO L479 AbstractCegarLoop]: Abstraction has 140 states and 157 transitions. [2020-07-18 06:34:53,119 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-18 06:34:53,119 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 140 states and 157 transitions. [2020-07-18 06:34:53,288 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 157 edges. 157 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:34:53,288 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 157 transitions. [2020-07-18 06:34:53,290 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2020-07-18 06:34:53,290 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:34:53,290 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-18 06:34:53,291 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-18 06:34:53,291 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:34:53,291 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:34:53,292 INFO L82 PathProgramCache]: Analyzing trace with hash 1116699365, now seen corresponding path program 1 times [2020-07-18 06:34:53,292 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:34:53,292 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2128357801] [2020-07-18 06:34:53,293 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:34:53,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:53,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:53,518 INFO L280 TraceCheckUtils]: 0: Hoare triple {3434#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {3412#true} is VALID [2020-07-18 06:34:53,518 INFO L280 TraceCheckUtils]: 1: Hoare triple {3412#true} #valid := #valid[0 := 0]; {3412#true} is VALID [2020-07-18 06:34:53,519 INFO L280 TraceCheckUtils]: 2: Hoare triple {3412#true} assume 0 < #StackHeapBarrier; {3412#true} is VALID [2020-07-18 06:34:53,519 INFO L280 TraceCheckUtils]: 3: Hoare triple {3412#true} assume true; {3412#true} is VALID [2020-07-18 06:34:53,519 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {3412#true} {3412#true} #205#return; {3412#true} is VALID [2020-07-18 06:34:53,521 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:53,529 INFO L280 TraceCheckUtils]: 0: Hoare triple {3412#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {3412#true} is VALID [2020-07-18 06:34:53,530 INFO L280 TraceCheckUtils]: 1: Hoare triple {3412#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {3412#true} is VALID [2020-07-18 06:34:53,530 INFO L280 TraceCheckUtils]: 2: Hoare triple {3412#true} ~n := #in~n; {3412#true} is VALID [2020-07-18 06:34:53,530 INFO L280 TraceCheckUtils]: 3: Hoare triple {3412#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {3412#true} is VALID [2020-07-18 06:34:53,531 INFO L280 TraceCheckUtils]: 4: Hoare triple {3412#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {3412#true} is VALID [2020-07-18 06:34:53,531 INFO L280 TraceCheckUtils]: 5: Hoare triple {3412#true} havoc #t~ret0.base, #t~ret0.offset; {3412#true} is VALID [2020-07-18 06:34:53,531 INFO L280 TraceCheckUtils]: 6: Hoare triple {3412#true} assume true; {3412#true} is VALID [2020-07-18 06:34:53,531 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {3412#true} {3413#false} #201#return; {3413#false} is VALID [2020-07-18 06:34:53,533 INFO L263 TraceCheckUtils]: 0: Hoare triple {3412#true} call ULTIMATE.init(); {3434#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:34:53,533 INFO L280 TraceCheckUtils]: 1: Hoare triple {3434#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {3412#true} is VALID [2020-07-18 06:34:53,533 INFO L280 TraceCheckUtils]: 2: Hoare triple {3412#true} #valid := #valid[0 := 0]; {3412#true} is VALID [2020-07-18 06:34:53,534 INFO L280 TraceCheckUtils]: 3: Hoare triple {3412#true} assume 0 < #StackHeapBarrier; {3412#true} is VALID [2020-07-18 06:34:53,534 INFO L280 TraceCheckUtils]: 4: Hoare triple {3412#true} assume true; {3412#true} is VALID [2020-07-18 06:34:53,534 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {3412#true} {3412#true} #205#return; {3412#true} is VALID [2020-07-18 06:34:53,534 INFO L263 TraceCheckUtils]: 6: Hoare triple {3412#true} call #t~ret21 := main(); {3412#true} is VALID [2020-07-18 06:34:53,535 INFO L280 TraceCheckUtils]: 7: Hoare triple {3412#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {3412#true} is VALID [2020-07-18 06:34:53,535 INFO L280 TraceCheckUtils]: 8: Hoare triple {3412#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {3412#true} is VALID [2020-07-18 06:34:53,535 INFO L263 TraceCheckUtils]: 9: Hoare triple {3412#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {3412#true} is VALID [2020-07-18 06:34:53,535 INFO L280 TraceCheckUtils]: 10: Hoare triple {3412#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {3412#true} is VALID [2020-07-18 06:34:53,536 INFO L280 TraceCheckUtils]: 11: Hoare triple {3412#true} ~start~0 := 0; {3419#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:34:53,537 INFO L280 TraceCheckUtils]: 12: Hoare triple {3419#(= 0 parse_expression_list_~start~0)} ~i~0 := -1; {3420#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-18 06:34:53,538 INFO L280 TraceCheckUtils]: 13: Hoare triple {3420#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} ~j~0 := -1; {3420#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-18 06:34:53,539 INFO L280 TraceCheckUtils]: 14: Hoare triple {3420#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {3420#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-18 06:34:53,540 INFO L280 TraceCheckUtils]: 15: Hoare triple {3420#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} assume !(~str.base == 0 && ~str.offset == 0); {3420#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-18 06:34:53,541 INFO L280 TraceCheckUtils]: 16: Hoare triple {3420#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} #t~post2 := ~i~0; {3421#(and (<= (+ |parse_expression_list_#t~post2| 1) 0) (= 0 parse_expression_list_~start~0))} is VALID [2020-07-18 06:34:53,542 INFO L280 TraceCheckUtils]: 17: Hoare triple {3421#(and (<= (+ |parse_expression_list_#t~post2| 1) 0) (= 0 parse_expression_list_~start~0))} ~i~0 := 1 + #t~post2; {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:53,542 INFO L280 TraceCheckUtils]: 18: Hoare triple {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~post2; {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:53,543 INFO L280 TraceCheckUtils]: 19: Hoare triple {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:53,544 INFO L280 TraceCheckUtils]: 20: Hoare triple {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~switch4 := 0 == #t~mem3; {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:53,545 INFO L280 TraceCheckUtils]: 21: Hoare triple {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume #t~switch4; {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:53,546 INFO L280 TraceCheckUtils]: 22: Hoare triple {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:53,547 INFO L280 TraceCheckUtils]: 23: Hoare triple {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~short7 := 32 == #t~mem5; {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:53,547 INFO L280 TraceCheckUtils]: 24: Hoare triple {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume !#t~short7; {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:53,548 INFO L280 TraceCheckUtils]: 25: Hoare triple {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:53,549 INFO L280 TraceCheckUtils]: 26: Hoare triple {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~short7 := 9 == #t~mem6; {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:53,550 INFO L280 TraceCheckUtils]: 27: Hoare triple {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume !#t~short7; {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:53,551 INFO L280 TraceCheckUtils]: 28: Hoare triple {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem5; {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:53,552 INFO L280 TraceCheckUtils]: 29: Hoare triple {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~short7; {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:53,552 INFO L280 TraceCheckUtils]: 30: Hoare triple {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem6; {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:53,553 INFO L280 TraceCheckUtils]: 31: Hoare triple {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:53,554 INFO L280 TraceCheckUtils]: 32: Hoare triple {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume 34 == #t~mem9; {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:53,555 INFO L280 TraceCheckUtils]: 33: Hoare triple {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem9; {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:53,556 INFO L280 TraceCheckUtils]: 34: Hoare triple {3422#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~post10 := ~start~0; {3423#(and (= 0 |parse_expression_list_#t~post10|) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:53,557 INFO L280 TraceCheckUtils]: 35: Hoare triple {3423#(and (= 0 |parse_expression_list_#t~post10|) (<= parse_expression_list_~i~0 0))} ~start~0 := 1 + #t~post10; {3424#(<= (+ parse_expression_list_~i~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:34:53,557 INFO L280 TraceCheckUtils]: 36: Hoare triple {3424#(<= (+ parse_expression_list_~i~0 1) parse_expression_list_~start~0)} havoc #t~post10; {3424#(<= (+ parse_expression_list_~i~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:34:53,558 INFO L280 TraceCheckUtils]: 37: Hoare triple {3424#(<= (+ parse_expression_list_~i~0 1) parse_expression_list_~start~0)} ~j~0 := ~i~0 - 1; {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:34:53,559 INFO L280 TraceCheckUtils]: 38: Hoare triple {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #t~short14 := 0 < ~j~0; {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:34:53,560 INFO L280 TraceCheckUtils]: 39: Hoare triple {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short14; {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:34:53,560 INFO L280 TraceCheckUtils]: 40: Hoare triple {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short14; {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:34:53,561 INFO L280 TraceCheckUtils]: 41: Hoare triple {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short14; {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:34:53,562 INFO L280 TraceCheckUtils]: 42: Hoare triple {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short13; {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:34:53,562 INFO L280 TraceCheckUtils]: 43: Hoare triple {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem12; {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:34:53,563 INFO L280 TraceCheckUtils]: 44: Hoare triple {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem11; {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:34:53,564 INFO L280 TraceCheckUtils]: 45: Hoare triple {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #t~short17 := 0 < ~j~0; {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:34:53,564 INFO L280 TraceCheckUtils]: 46: Hoare triple {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short17; {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:34:53,565 INFO L280 TraceCheckUtils]: 47: Hoare triple {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short17; {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:34:53,565 INFO L280 TraceCheckUtils]: 48: Hoare triple {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short17; {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:34:53,566 INFO L280 TraceCheckUtils]: 49: Hoare triple {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem16; {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:34:53,567 INFO L280 TraceCheckUtils]: 50: Hoare triple {3425#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume ~start~0 <= ~j~0; {3413#false} is VALID [2020-07-18 06:34:53,567 INFO L263 TraceCheckUtils]: 51: Hoare triple {3413#false} call #t~ret19.base, #t~ret19.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0, 1 + (~j~0 - ~start~0)); {3412#true} is VALID [2020-07-18 06:34:53,567 INFO L280 TraceCheckUtils]: 52: Hoare triple {3412#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {3412#true} is VALID [2020-07-18 06:34:53,568 INFO L280 TraceCheckUtils]: 53: Hoare triple {3412#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {3412#true} is VALID [2020-07-18 06:34:53,568 INFO L280 TraceCheckUtils]: 54: Hoare triple {3412#true} ~n := #in~n; {3412#true} is VALID [2020-07-18 06:34:53,568 INFO L280 TraceCheckUtils]: 55: Hoare triple {3412#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {3412#true} is VALID [2020-07-18 06:34:53,568 INFO L280 TraceCheckUtils]: 56: Hoare triple {3412#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {3412#true} is VALID [2020-07-18 06:34:53,569 INFO L280 TraceCheckUtils]: 57: Hoare triple {3412#true} havoc #t~ret0.base, #t~ret0.offset; {3412#true} is VALID [2020-07-18 06:34:53,569 INFO L280 TraceCheckUtils]: 58: Hoare triple {3412#true} assume true; {3412#true} is VALID [2020-07-18 06:34:53,569 INFO L275 TraceCheckUtils]: 59: Hoare quadruple {3412#true} {3413#false} #201#return; {3413#false} is VALID [2020-07-18 06:34:53,569 INFO L280 TraceCheckUtils]: 60: Hoare triple {3413#false} havoc #t~ret19.base, #t~ret19.offset; {3413#false} is VALID [2020-07-18 06:34:53,570 INFO L263 TraceCheckUtils]: 61: Hoare triple {3413#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {3413#false} is VALID [2020-07-18 06:34:53,570 INFO L280 TraceCheckUtils]: 62: Hoare triple {3413#false} ~cond := #in~cond; {3413#false} is VALID [2020-07-18 06:34:53,570 INFO L280 TraceCheckUtils]: 63: Hoare triple {3413#false} assume 0 == ~cond; {3413#false} is VALID [2020-07-18 06:34:53,570 INFO L280 TraceCheckUtils]: 64: Hoare triple {3413#false} assume !false; {3413#false} is VALID [2020-07-18 06:34:53,577 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-18 06:34:53,578 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2128357801] [2020-07-18 06:34:53,578 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 06:34:53,578 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2020-07-18 06:34:53,579 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1718763655] [2020-07-18 06:34:53,579 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 65 [2020-07-18 06:34:53,579 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:34:53,580 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-18 06:34:53,647 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:34:53,647 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-18 06:34:53,647 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:34:53,647 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-18 06:34:53,648 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2020-07-18 06:34:53,648 INFO L87 Difference]: Start difference. First operand 140 states and 157 transitions. Second operand 10 states. [2020-07-18 06:34:55,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:55,759 INFO L93 Difference]: Finished difference Result 430 states and 486 transitions. [2020-07-18 06:34:55,760 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-18 06:34:55,760 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 65 [2020-07-18 06:34:55,760 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:34:55,760 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-18 06:34:55,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 460 transitions. [2020-07-18 06:34:55,768 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-18 06:34:55,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 460 transitions. [2020-07-18 06:34:55,776 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 460 transitions. [2020-07-18 06:34:56,283 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 460 edges. 460 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:34:56,293 INFO L225 Difference]: With dead ends: 430 [2020-07-18 06:34:56,293 INFO L226 Difference]: Without dead ends: 340 [2020-07-18 06:34:56,295 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=60, Invalid=212, Unknown=0, NotChecked=0, Total=272 [2020-07-18 06:34:56,295 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 340 states. [2020-07-18 06:34:56,477 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 340 to 144. [2020-07-18 06:34:56,478 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:34:56,478 INFO L82 GeneralOperation]: Start isEquivalent. First operand 340 states. Second operand 144 states. [2020-07-18 06:34:56,478 INFO L74 IsIncluded]: Start isIncluded. First operand 340 states. Second operand 144 states. [2020-07-18 06:34:56,478 INFO L87 Difference]: Start difference. First operand 340 states. Second operand 144 states. [2020-07-18 06:34:56,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:56,496 INFO L93 Difference]: Finished difference Result 340 states and 386 transitions. [2020-07-18 06:34:56,496 INFO L276 IsEmpty]: Start isEmpty. Operand 340 states and 386 transitions. [2020-07-18 06:34:56,497 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:56,498 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:56,498 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand 340 states. [2020-07-18 06:34:56,498 INFO L87 Difference]: Start difference. First operand 144 states. Second operand 340 states. [2020-07-18 06:34:56,514 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:56,514 INFO L93 Difference]: Finished difference Result 340 states and 386 transitions. [2020-07-18 06:34:56,515 INFO L276 IsEmpty]: Start isEmpty. Operand 340 states and 386 transitions. [2020-07-18 06:34:56,516 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:56,516 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:56,516 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:34:56,516 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:34:56,516 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 144 states. [2020-07-18 06:34:56,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 161 transitions. [2020-07-18 06:34:56,521 INFO L78 Accepts]: Start accepts. Automaton has 144 states and 161 transitions. Word has length 65 [2020-07-18 06:34:56,521 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:34:56,522 INFO L479 AbstractCegarLoop]: Abstraction has 144 states and 161 transitions. [2020-07-18 06:34:56,522 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-18 06:34:56,522 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 144 states and 161 transitions. [2020-07-18 06:34:56,701 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 161 edges. 161 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:34:56,701 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 161 transitions. [2020-07-18 06:34:56,703 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2020-07-18 06:34:56,703 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:34:56,703 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-18 06:34:56,703 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-18 06:34:56,704 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:34:56,704 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:34:56,704 INFO L82 PathProgramCache]: Analyzing trace with hash 1492663361, now seen corresponding path program 1 times [2020-07-18 06:34:56,704 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:34:56,704 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [867755950] [2020-07-18 06:34:56,705 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:34:56,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:56,758 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:56,761 INFO L280 TraceCheckUtils]: 0: Hoare triple {5295#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {5279#true} is VALID [2020-07-18 06:34:56,762 INFO L280 TraceCheckUtils]: 1: Hoare triple {5279#true} #valid := #valid[0 := 0]; {5279#true} is VALID [2020-07-18 06:34:56,762 INFO L280 TraceCheckUtils]: 2: Hoare triple {5279#true} assume 0 < #StackHeapBarrier; {5279#true} is VALID [2020-07-18 06:34:56,762 INFO L280 TraceCheckUtils]: 3: Hoare triple {5279#true} assume true; {5279#true} is VALID [2020-07-18 06:34:56,762 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {5279#true} {5279#true} #205#return; {5279#true} is VALID [2020-07-18 06:34:56,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:56,768 INFO L280 TraceCheckUtils]: 0: Hoare triple {5279#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {5279#true} is VALID [2020-07-18 06:34:56,769 INFO L280 TraceCheckUtils]: 1: Hoare triple {5279#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {5279#true} is VALID [2020-07-18 06:34:56,769 INFO L280 TraceCheckUtils]: 2: Hoare triple {5279#true} ~n := #in~n; {5279#true} is VALID [2020-07-18 06:34:56,769 INFO L280 TraceCheckUtils]: 3: Hoare triple {5279#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {5279#true} is VALID [2020-07-18 06:34:56,769 INFO L280 TraceCheckUtils]: 4: Hoare triple {5279#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {5279#true} is VALID [2020-07-18 06:34:56,770 INFO L280 TraceCheckUtils]: 5: Hoare triple {5279#true} havoc #t~ret0.base, #t~ret0.offset; {5279#true} is VALID [2020-07-18 06:34:56,770 INFO L280 TraceCheckUtils]: 6: Hoare triple {5279#true} assume true; {5279#true} is VALID [2020-07-18 06:34:56,770 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {5279#true} {5280#false} #201#return; {5280#false} is VALID [2020-07-18 06:34:56,771 INFO L263 TraceCheckUtils]: 0: Hoare triple {5279#true} call ULTIMATE.init(); {5295#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:34:56,772 INFO L280 TraceCheckUtils]: 1: Hoare triple {5295#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {5279#true} is VALID [2020-07-18 06:34:56,772 INFO L280 TraceCheckUtils]: 2: Hoare triple {5279#true} #valid := #valid[0 := 0]; {5279#true} is VALID [2020-07-18 06:34:56,772 INFO L280 TraceCheckUtils]: 3: Hoare triple {5279#true} assume 0 < #StackHeapBarrier; {5279#true} is VALID [2020-07-18 06:34:56,772 INFO L280 TraceCheckUtils]: 4: Hoare triple {5279#true} assume true; {5279#true} is VALID [2020-07-18 06:34:56,772 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {5279#true} {5279#true} #205#return; {5279#true} is VALID [2020-07-18 06:34:56,773 INFO L263 TraceCheckUtils]: 6: Hoare triple {5279#true} call #t~ret21 := main(); {5279#true} is VALID [2020-07-18 06:34:56,773 INFO L280 TraceCheckUtils]: 7: Hoare triple {5279#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {5279#true} is VALID [2020-07-18 06:34:56,773 INFO L280 TraceCheckUtils]: 8: Hoare triple {5279#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {5279#true} is VALID [2020-07-18 06:34:56,773 INFO L263 TraceCheckUtils]: 9: Hoare triple {5279#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {5279#true} is VALID [2020-07-18 06:34:56,774 INFO L280 TraceCheckUtils]: 10: Hoare triple {5279#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {5279#true} is VALID [2020-07-18 06:34:56,774 INFO L280 TraceCheckUtils]: 11: Hoare triple {5279#true} ~start~0 := 0; {5279#true} is VALID [2020-07-18 06:34:56,774 INFO L280 TraceCheckUtils]: 12: Hoare triple {5279#true} ~i~0 := -1; {5279#true} is VALID [2020-07-18 06:34:56,774 INFO L280 TraceCheckUtils]: 13: Hoare triple {5279#true} ~j~0 := -1; {5279#true} is VALID [2020-07-18 06:34:56,775 INFO L280 TraceCheckUtils]: 14: Hoare triple {5279#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {5279#true} is VALID [2020-07-18 06:34:56,775 INFO L280 TraceCheckUtils]: 15: Hoare triple {5279#true} assume !(~str.base == 0 && ~str.offset == 0); {5279#true} is VALID [2020-07-18 06:34:56,775 INFO L280 TraceCheckUtils]: 16: Hoare triple {5279#true} #t~post2 := ~i~0; {5279#true} is VALID [2020-07-18 06:34:56,775 INFO L280 TraceCheckUtils]: 17: Hoare triple {5279#true} ~i~0 := 1 + #t~post2; {5279#true} is VALID [2020-07-18 06:34:56,776 INFO L280 TraceCheckUtils]: 18: Hoare triple {5279#true} havoc #t~post2; {5279#true} is VALID [2020-07-18 06:34:56,776 INFO L280 TraceCheckUtils]: 19: Hoare triple {5279#true} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {5279#true} is VALID [2020-07-18 06:34:56,776 INFO L280 TraceCheckUtils]: 20: Hoare triple {5279#true} #t~switch4 := 0 == #t~mem3; {5279#true} is VALID [2020-07-18 06:34:56,776 INFO L280 TraceCheckUtils]: 21: Hoare triple {5279#true} assume #t~switch4; {5279#true} is VALID [2020-07-18 06:34:56,776 INFO L280 TraceCheckUtils]: 22: Hoare triple {5279#true} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {5279#true} is VALID [2020-07-18 06:34:56,777 INFO L280 TraceCheckUtils]: 23: Hoare triple {5279#true} #t~short7 := 32 == #t~mem5; {5279#true} is VALID [2020-07-18 06:34:56,777 INFO L280 TraceCheckUtils]: 24: Hoare triple {5279#true} assume !#t~short7; {5279#true} is VALID [2020-07-18 06:34:56,777 INFO L280 TraceCheckUtils]: 25: Hoare triple {5279#true} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {5279#true} is VALID [2020-07-18 06:34:56,777 INFO L280 TraceCheckUtils]: 26: Hoare triple {5279#true} #t~short7 := 9 == #t~mem6; {5279#true} is VALID [2020-07-18 06:34:56,778 INFO L280 TraceCheckUtils]: 27: Hoare triple {5279#true} assume !#t~short7; {5279#true} is VALID [2020-07-18 06:34:56,778 INFO L280 TraceCheckUtils]: 28: Hoare triple {5279#true} havoc #t~mem5; {5279#true} is VALID [2020-07-18 06:34:56,778 INFO L280 TraceCheckUtils]: 29: Hoare triple {5279#true} havoc #t~short7; {5279#true} is VALID [2020-07-18 06:34:56,778 INFO L280 TraceCheckUtils]: 30: Hoare triple {5279#true} havoc #t~mem6; {5279#true} is VALID [2020-07-18 06:34:56,779 INFO L280 TraceCheckUtils]: 31: Hoare triple {5279#true} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {5279#true} is VALID [2020-07-18 06:34:56,779 INFO L280 TraceCheckUtils]: 32: Hoare triple {5279#true} assume !(34 == #t~mem9); {5279#true} is VALID [2020-07-18 06:34:56,779 INFO L280 TraceCheckUtils]: 33: Hoare triple {5279#true} havoc #t~mem9; {5279#true} is VALID [2020-07-18 06:34:56,779 INFO L280 TraceCheckUtils]: 34: Hoare triple {5279#true} ~j~0 := ~i~0 - 1; {5279#true} is VALID [2020-07-18 06:34:56,780 INFO L280 TraceCheckUtils]: 35: Hoare triple {5279#true} #t~short14 := 0 < ~j~0; {5279#true} is VALID [2020-07-18 06:34:56,780 INFO L280 TraceCheckUtils]: 36: Hoare triple {5279#true} assume !#t~short14; {5279#true} is VALID [2020-07-18 06:34:56,780 INFO L280 TraceCheckUtils]: 37: Hoare triple {5279#true} assume !#t~short14; {5279#true} is VALID [2020-07-18 06:34:56,780 INFO L280 TraceCheckUtils]: 38: Hoare triple {5279#true} havoc #t~short14; {5279#true} is VALID [2020-07-18 06:34:56,780 INFO L280 TraceCheckUtils]: 39: Hoare triple {5279#true} havoc #t~short13; {5279#true} is VALID [2020-07-18 06:34:56,781 INFO L280 TraceCheckUtils]: 40: Hoare triple {5279#true} havoc #t~mem12; {5279#true} is VALID [2020-07-18 06:34:56,781 INFO L280 TraceCheckUtils]: 41: Hoare triple {5279#true} havoc #t~mem11; {5279#true} is VALID [2020-07-18 06:34:56,781 INFO L280 TraceCheckUtils]: 42: Hoare triple {5279#true} #t~short17 := 0 < ~j~0; {5279#true} is VALID [2020-07-18 06:34:56,782 INFO L280 TraceCheckUtils]: 43: Hoare triple {5279#true} assume !#t~short17; {5286#(not |parse_expression_list_#t~short17|)} is VALID [2020-07-18 06:34:56,783 INFO L280 TraceCheckUtils]: 44: Hoare triple {5286#(not |parse_expression_list_#t~short17|)} assume #t~short17; {5280#false} is VALID [2020-07-18 06:34:56,783 INFO L280 TraceCheckUtils]: 45: Hoare triple {5280#false} havoc #t~short17; {5280#false} is VALID [2020-07-18 06:34:56,783 INFO L280 TraceCheckUtils]: 46: Hoare triple {5280#false} havoc #t~mem16; {5280#false} is VALID [2020-07-18 06:34:56,783 INFO L280 TraceCheckUtils]: 47: Hoare triple {5280#false} #t~post18 := ~j~0; {5280#false} is VALID [2020-07-18 06:34:56,784 INFO L280 TraceCheckUtils]: 48: Hoare triple {5280#false} ~j~0 := #t~post18 - 1; {5280#false} is VALID [2020-07-18 06:34:56,784 INFO L280 TraceCheckUtils]: 49: Hoare triple {5280#false} havoc #t~post18; {5280#false} is VALID [2020-07-18 06:34:56,784 INFO L280 TraceCheckUtils]: 50: Hoare triple {5280#false} assume ~start~0 <= ~j~0; {5280#false} is VALID [2020-07-18 06:34:56,784 INFO L263 TraceCheckUtils]: 51: Hoare triple {5280#false} call #t~ret19.base, #t~ret19.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0, 1 + (~j~0 - ~start~0)); {5279#true} is VALID [2020-07-18 06:34:56,784 INFO L280 TraceCheckUtils]: 52: Hoare triple {5279#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {5279#true} is VALID [2020-07-18 06:34:56,785 INFO L280 TraceCheckUtils]: 53: Hoare triple {5279#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {5279#true} is VALID [2020-07-18 06:34:56,785 INFO L280 TraceCheckUtils]: 54: Hoare triple {5279#true} ~n := #in~n; {5279#true} is VALID [2020-07-18 06:34:56,785 INFO L280 TraceCheckUtils]: 55: Hoare triple {5279#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {5279#true} is VALID [2020-07-18 06:34:56,785 INFO L280 TraceCheckUtils]: 56: Hoare triple {5279#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {5279#true} is VALID [2020-07-18 06:34:56,786 INFO L280 TraceCheckUtils]: 57: Hoare triple {5279#true} havoc #t~ret0.base, #t~ret0.offset; {5279#true} is VALID [2020-07-18 06:34:56,786 INFO L280 TraceCheckUtils]: 58: Hoare triple {5279#true} assume true; {5279#true} is VALID [2020-07-18 06:34:56,786 INFO L275 TraceCheckUtils]: 59: Hoare quadruple {5279#true} {5280#false} #201#return; {5280#false} is VALID [2020-07-18 06:34:56,786 INFO L280 TraceCheckUtils]: 60: Hoare triple {5280#false} havoc #t~ret19.base, #t~ret19.offset; {5280#false} is VALID [2020-07-18 06:34:56,786 INFO L263 TraceCheckUtils]: 61: Hoare triple {5280#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {5280#false} is VALID [2020-07-18 06:34:56,787 INFO L280 TraceCheckUtils]: 62: Hoare triple {5280#false} ~cond := #in~cond; {5280#false} is VALID [2020-07-18 06:34:56,787 INFO L280 TraceCheckUtils]: 63: Hoare triple {5280#false} assume 0 == ~cond; {5280#false} is VALID [2020-07-18 06:34:56,787 INFO L280 TraceCheckUtils]: 64: Hoare triple {5280#false} assume !false; {5280#false} is VALID [2020-07-18 06:34:56,789 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-18 06:34:56,790 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [867755950] [2020-07-18 06:34:56,790 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 06:34:56,790 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-18 06:34:56,791 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [285914448] [2020-07-18 06:34:56,791 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 65 [2020-07-18 06:34:56,791 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:34:56,792 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-18 06:34:56,870 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:34:56,871 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-18 06:34:56,871 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:34:56,871 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-18 06:34:56,872 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-18 06:34:56,872 INFO L87 Difference]: Start difference. First operand 144 states and 161 transitions. Second operand 4 states. [2020-07-18 06:34:57,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:57,427 INFO L93 Difference]: Finished difference Result 233 states and 260 transitions. [2020-07-18 06:34:57,427 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-18 06:34:57,428 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 65 [2020-07-18 06:34:57,428 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:34:57,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-18 06:34:57,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 208 transitions. [2020-07-18 06:34:57,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-18 06:34:57,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 208 transitions. [2020-07-18 06:34:57,437 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 208 transitions. [2020-07-18 06:34:57,634 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 208 edges. 208 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:34:57,638 INFO L225 Difference]: With dead ends: 233 [2020-07-18 06:34:57,638 INFO L226 Difference]: Without dead ends: 145 [2020-07-18 06:34:57,639 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-18 06:34:57,640 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 145 states. [2020-07-18 06:34:57,815 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 145 to 145. [2020-07-18 06:34:57,816 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:34:57,816 INFO L82 GeneralOperation]: Start isEquivalent. First operand 145 states. Second operand 145 states. [2020-07-18 06:34:57,816 INFO L74 IsIncluded]: Start isIncluded. First operand 145 states. Second operand 145 states. [2020-07-18 06:34:57,816 INFO L87 Difference]: Start difference. First operand 145 states. Second operand 145 states. [2020-07-18 06:34:57,831 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:57,831 INFO L93 Difference]: Finished difference Result 145 states and 161 transitions. [2020-07-18 06:34:57,831 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 161 transitions. [2020-07-18 06:34:57,832 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:57,832 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:57,833 INFO L74 IsIncluded]: Start isIncluded. First operand 145 states. Second operand 145 states. [2020-07-18 06:34:57,833 INFO L87 Difference]: Start difference. First operand 145 states. Second operand 145 states. [2020-07-18 06:34:57,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:34:57,848 INFO L93 Difference]: Finished difference Result 145 states and 161 transitions. [2020-07-18 06:34:57,848 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 161 transitions. [2020-07-18 06:34:57,849 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:34:57,852 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:34:57,852 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:34:57,853 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:34:57,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 145 states. [2020-07-18 06:34:57,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 145 states to 145 states and 161 transitions. [2020-07-18 06:34:57,864 INFO L78 Accepts]: Start accepts. Automaton has 145 states and 161 transitions. Word has length 65 [2020-07-18 06:34:57,865 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:34:57,865 INFO L479 AbstractCegarLoop]: Abstraction has 145 states and 161 transitions. [2020-07-18 06:34:57,865 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-18 06:34:57,865 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 145 states and 161 transitions. [2020-07-18 06:34:58,081 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 161 edges. 161 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:34:58,081 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 161 transitions. [2020-07-18 06:34:58,083 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2020-07-18 06:34:58,083 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:34:58,083 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 06:34:58,084 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-18 06:34:58,084 INFO L427 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:34:58,084 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:34:58,084 INFO L82 PathProgramCache]: Analyzing trace with hash -1492389340, now seen corresponding path program 1 times [2020-07-18 06:34:58,085 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:34:58,085 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [925241420] [2020-07-18 06:34:58,087 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:34:58,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:58,349 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:58,359 INFO L280 TraceCheckUtils]: 0: Hoare triple {6366#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {6344#true} is VALID [2020-07-18 06:34:58,359 INFO L280 TraceCheckUtils]: 1: Hoare triple {6344#true} #valid := #valid[0 := 0]; {6344#true} is VALID [2020-07-18 06:34:58,360 INFO L280 TraceCheckUtils]: 2: Hoare triple {6344#true} assume 0 < #StackHeapBarrier; {6344#true} is VALID [2020-07-18 06:34:58,360 INFO L280 TraceCheckUtils]: 3: Hoare triple {6344#true} assume true; {6344#true} is VALID [2020-07-18 06:34:58,360 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {6344#true} {6344#true} #205#return; {6344#true} is VALID [2020-07-18 06:34:58,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:34:58,365 INFO L280 TraceCheckUtils]: 0: Hoare triple {6344#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {6344#true} is VALID [2020-07-18 06:34:58,365 INFO L280 TraceCheckUtils]: 1: Hoare triple {6344#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {6344#true} is VALID [2020-07-18 06:34:58,365 INFO L280 TraceCheckUtils]: 2: Hoare triple {6344#true} ~n := #in~n; {6344#true} is VALID [2020-07-18 06:34:58,365 INFO L280 TraceCheckUtils]: 3: Hoare triple {6344#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {6344#true} is VALID [2020-07-18 06:34:58,366 INFO L280 TraceCheckUtils]: 4: Hoare triple {6344#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {6344#true} is VALID [2020-07-18 06:34:58,366 INFO L280 TraceCheckUtils]: 5: Hoare triple {6344#true} havoc #t~ret0.base, #t~ret0.offset; {6344#true} is VALID [2020-07-18 06:34:58,366 INFO L280 TraceCheckUtils]: 6: Hoare triple {6344#true} assume true; {6344#true} is VALID [2020-07-18 06:34:58,366 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {6344#true} {6345#false} #201#return; {6345#false} is VALID [2020-07-18 06:34:58,367 INFO L263 TraceCheckUtils]: 0: Hoare triple {6344#true} call ULTIMATE.init(); {6366#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:34:58,368 INFO L280 TraceCheckUtils]: 1: Hoare triple {6366#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {6344#true} is VALID [2020-07-18 06:34:58,368 INFO L280 TraceCheckUtils]: 2: Hoare triple {6344#true} #valid := #valid[0 := 0]; {6344#true} is VALID [2020-07-18 06:34:58,368 INFO L280 TraceCheckUtils]: 3: Hoare triple {6344#true} assume 0 < #StackHeapBarrier; {6344#true} is VALID [2020-07-18 06:34:58,368 INFO L280 TraceCheckUtils]: 4: Hoare triple {6344#true} assume true; {6344#true} is VALID [2020-07-18 06:34:58,368 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {6344#true} {6344#true} #205#return; {6344#true} is VALID [2020-07-18 06:34:58,369 INFO L263 TraceCheckUtils]: 6: Hoare triple {6344#true} call #t~ret21 := main(); {6344#true} is VALID [2020-07-18 06:34:58,369 INFO L280 TraceCheckUtils]: 7: Hoare triple {6344#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {6344#true} is VALID [2020-07-18 06:34:58,369 INFO L280 TraceCheckUtils]: 8: Hoare triple {6344#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {6344#true} is VALID [2020-07-18 06:34:58,369 INFO L263 TraceCheckUtils]: 9: Hoare triple {6344#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {6344#true} is VALID [2020-07-18 06:34:58,370 INFO L280 TraceCheckUtils]: 10: Hoare triple {6344#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {6344#true} is VALID [2020-07-18 06:34:58,370 INFO L280 TraceCheckUtils]: 11: Hoare triple {6344#true} ~start~0 := 0; {6351#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:34:58,371 INFO L280 TraceCheckUtils]: 12: Hoare triple {6351#(= 0 parse_expression_list_~start~0)} ~i~0 := -1; {6352#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-18 06:34:58,372 INFO L280 TraceCheckUtils]: 13: Hoare triple {6352#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} ~j~0 := -1; {6352#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-18 06:34:58,373 INFO L280 TraceCheckUtils]: 14: Hoare triple {6352#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {6352#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-18 06:34:58,374 INFO L280 TraceCheckUtils]: 15: Hoare triple {6352#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} assume !(~str.base == 0 && ~str.offset == 0); {6352#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-18 06:34:58,375 INFO L280 TraceCheckUtils]: 16: Hoare triple {6352#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} #t~post2 := ~i~0; {6353#(and (<= (+ |parse_expression_list_#t~post2| 1) 0) (= 0 parse_expression_list_~start~0))} is VALID [2020-07-18 06:34:58,376 INFO L280 TraceCheckUtils]: 17: Hoare triple {6353#(and (<= (+ |parse_expression_list_#t~post2| 1) 0) (= 0 parse_expression_list_~start~0))} ~i~0 := 1 + #t~post2; {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:58,377 INFO L280 TraceCheckUtils]: 18: Hoare triple {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~post2; {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:58,377 INFO L280 TraceCheckUtils]: 19: Hoare triple {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:58,378 INFO L280 TraceCheckUtils]: 20: Hoare triple {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~switch4 := 0 == #t~mem3; {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:58,379 INFO L280 TraceCheckUtils]: 21: Hoare triple {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume #t~switch4; {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:58,380 INFO L280 TraceCheckUtils]: 22: Hoare triple {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:58,381 INFO L280 TraceCheckUtils]: 23: Hoare triple {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~short7 := 32 == #t~mem5; {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:58,381 INFO L280 TraceCheckUtils]: 24: Hoare triple {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume !#t~short7; {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:58,382 INFO L280 TraceCheckUtils]: 25: Hoare triple {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:58,383 INFO L280 TraceCheckUtils]: 26: Hoare triple {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~short7 := 9 == #t~mem6; {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:58,384 INFO L280 TraceCheckUtils]: 27: Hoare triple {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume !#t~short7; {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:58,384 INFO L280 TraceCheckUtils]: 28: Hoare triple {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem5; {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:58,385 INFO L280 TraceCheckUtils]: 29: Hoare triple {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~short7; {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:58,386 INFO L280 TraceCheckUtils]: 30: Hoare triple {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem6; {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:58,387 INFO L280 TraceCheckUtils]: 31: Hoare triple {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:58,388 INFO L280 TraceCheckUtils]: 32: Hoare triple {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume !(34 == #t~mem9); {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:58,388 INFO L280 TraceCheckUtils]: 33: Hoare triple {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem9; {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:34:58,390 INFO L280 TraceCheckUtils]: 34: Hoare triple {6354#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} ~j~0 := ~i~0 - 1; {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:58,391 INFO L280 TraceCheckUtils]: 35: Hoare triple {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} #t~short14 := 0 < ~j~0; {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:58,392 INFO L280 TraceCheckUtils]: 36: Hoare triple {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} assume !#t~short14; {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:58,392 INFO L280 TraceCheckUtils]: 37: Hoare triple {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} assume !#t~short14; {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:58,393 INFO L280 TraceCheckUtils]: 38: Hoare triple {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~short14; {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:58,394 INFO L280 TraceCheckUtils]: 39: Hoare triple {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~short13; {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:58,395 INFO L280 TraceCheckUtils]: 40: Hoare triple {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~mem12; {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:58,395 INFO L280 TraceCheckUtils]: 41: Hoare triple {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~mem11; {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:58,396 INFO L280 TraceCheckUtils]: 42: Hoare triple {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} #t~short17 := 0 < ~j~0; {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:58,397 INFO L280 TraceCheckUtils]: 43: Hoare triple {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} assume #t~short17; {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:58,398 INFO L280 TraceCheckUtils]: 44: Hoare triple {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} SUMMARY for call #t~mem16 := read~int(~str.base, ~str.offset + ~j~0, 1); srcloc: L59-1 {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:58,399 INFO L280 TraceCheckUtils]: 45: Hoare triple {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} #t~short17 := 34 == #t~mem16; {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:58,400 INFO L280 TraceCheckUtils]: 46: Hoare triple {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} assume #t~short17; {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:58,400 INFO L280 TraceCheckUtils]: 47: Hoare triple {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~short17; {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:58,401 INFO L280 TraceCheckUtils]: 48: Hoare triple {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~mem16; {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-18 06:34:58,402 INFO L280 TraceCheckUtils]: 49: Hoare triple {6355#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} #t~post18 := ~j~0; {6356#(and (= 0 parse_expression_list_~start~0) (<= (+ |parse_expression_list_#t~post18| 1) 0))} is VALID [2020-07-18 06:34:58,403 INFO L280 TraceCheckUtils]: 50: Hoare triple {6356#(and (= 0 parse_expression_list_~start~0) (<= (+ |parse_expression_list_#t~post18| 1) 0))} ~j~0 := #t~post18 - 1; {6357#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 2) 0))} is VALID [2020-07-18 06:34:58,403 INFO L280 TraceCheckUtils]: 51: Hoare triple {6357#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 2) 0))} havoc #t~post18; {6357#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 2) 0))} is VALID [2020-07-18 06:34:58,404 INFO L280 TraceCheckUtils]: 52: Hoare triple {6357#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 2) 0))} assume ~start~0 <= ~j~0; {6345#false} is VALID [2020-07-18 06:34:58,404 INFO L263 TraceCheckUtils]: 53: Hoare triple {6345#false} call #t~ret19.base, #t~ret19.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0, 1 + (~j~0 - ~start~0)); {6344#true} is VALID [2020-07-18 06:34:58,405 INFO L280 TraceCheckUtils]: 54: Hoare triple {6344#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {6344#true} is VALID [2020-07-18 06:34:58,405 INFO L280 TraceCheckUtils]: 55: Hoare triple {6344#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {6344#true} is VALID [2020-07-18 06:34:58,405 INFO L280 TraceCheckUtils]: 56: Hoare triple {6344#true} ~n := #in~n; {6344#true} is VALID [2020-07-18 06:34:58,405 INFO L280 TraceCheckUtils]: 57: Hoare triple {6344#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {6344#true} is VALID [2020-07-18 06:34:58,405 INFO L280 TraceCheckUtils]: 58: Hoare triple {6344#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {6344#true} is VALID [2020-07-18 06:34:58,406 INFO L280 TraceCheckUtils]: 59: Hoare triple {6344#true} havoc #t~ret0.base, #t~ret0.offset; {6344#true} is VALID [2020-07-18 06:34:58,406 INFO L280 TraceCheckUtils]: 60: Hoare triple {6344#true} assume true; {6344#true} is VALID [2020-07-18 06:34:58,406 INFO L275 TraceCheckUtils]: 61: Hoare quadruple {6344#true} {6345#false} #201#return; {6345#false} is VALID [2020-07-18 06:34:58,406 INFO L280 TraceCheckUtils]: 62: Hoare triple {6345#false} havoc #t~ret19.base, #t~ret19.offset; {6345#false} is VALID [2020-07-18 06:34:58,407 INFO L263 TraceCheckUtils]: 63: Hoare triple {6345#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {6345#false} is VALID [2020-07-18 06:34:58,407 INFO L280 TraceCheckUtils]: 64: Hoare triple {6345#false} ~cond := #in~cond; {6345#false} is VALID [2020-07-18 06:34:58,407 INFO L280 TraceCheckUtils]: 65: Hoare triple {6345#false} assume 0 == ~cond; {6345#false} is VALID [2020-07-18 06:34:58,407 INFO L280 TraceCheckUtils]: 66: Hoare triple {6345#false} assume !false; {6345#false} is VALID [2020-07-18 06:34:58,416 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-18 06:34:58,416 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [925241420] [2020-07-18 06:34:58,416 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 06:34:58,417 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2020-07-18 06:34:58,417 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1417413304] [2020-07-18 06:34:58,418 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 67 [2020-07-18 06:34:58,418 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:34:58,418 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-18 06:34:58,496 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:34:58,496 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-18 06:34:58,496 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:34:58,496 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-18 06:34:58,497 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2020-07-18 06:34:58,497 INFO L87 Difference]: Start difference. First operand 145 states and 161 transitions. Second operand 10 states. [2020-07-18 06:35:00,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:00,727 INFO L93 Difference]: Finished difference Result 388 states and 434 transitions. [2020-07-18 06:35:00,727 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2020-07-18 06:35:00,727 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 67 [2020-07-18 06:35:00,727 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:35:00,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-18 06:35:00,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 403 transitions. [2020-07-18 06:35:00,737 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-18 06:35:00,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 403 transitions. [2020-07-18 06:35:00,742 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 403 transitions. [2020-07-18 06:35:01,187 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 403 edges. 403 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:01,196 INFO L225 Difference]: With dead ends: 388 [2020-07-18 06:35:01,196 INFO L226 Difference]: Without dead ends: 285 [2020-07-18 06:35:01,199 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=100, Invalid=280, Unknown=0, NotChecked=0, Total=380 [2020-07-18 06:35:01,200 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 285 states. [2020-07-18 06:35:01,415 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 285 to 155. [2020-07-18 06:35:01,416 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:35:01,416 INFO L82 GeneralOperation]: Start isEquivalent. First operand 285 states. Second operand 155 states. [2020-07-18 06:35:01,416 INFO L74 IsIncluded]: Start isIncluded. First operand 285 states. Second operand 155 states. [2020-07-18 06:35:01,416 INFO L87 Difference]: Start difference. First operand 285 states. Second operand 155 states. [2020-07-18 06:35:01,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:01,427 INFO L93 Difference]: Finished difference Result 285 states and 321 transitions. [2020-07-18 06:35:01,428 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 321 transitions. [2020-07-18 06:35:01,429 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:01,429 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:01,429 INFO L74 IsIncluded]: Start isIncluded. First operand 155 states. Second operand 285 states. [2020-07-18 06:35:01,429 INFO L87 Difference]: Start difference. First operand 155 states. Second operand 285 states. [2020-07-18 06:35:01,437 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:01,438 INFO L93 Difference]: Finished difference Result 285 states and 321 transitions. [2020-07-18 06:35:01,438 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 321 transitions. [2020-07-18 06:35:01,439 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:01,439 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:01,439 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:35:01,439 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:35:01,439 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 155 states. [2020-07-18 06:35:01,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 155 states to 155 states and 173 transitions. [2020-07-18 06:35:01,444 INFO L78 Accepts]: Start accepts. Automaton has 155 states and 173 transitions. Word has length 67 [2020-07-18 06:35:01,444 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:35:01,445 INFO L479 AbstractCegarLoop]: Abstraction has 155 states and 173 transitions. [2020-07-18 06:35:01,445 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-18 06:35:01,445 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 155 states and 173 transitions. [2020-07-18 06:35:01,643 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 173 edges. 173 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:01,643 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 173 transitions. [2020-07-18 06:35:01,644 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 71 [2020-07-18 06:35:01,645 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:35:01,645 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 06:35:01,645 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-18 06:35:01,645 INFO L427 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:35:01,646 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:35:01,646 INFO L82 PathProgramCache]: Analyzing trace with hash 122758570, now seen corresponding path program 1 times [2020-07-18 06:35:01,646 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:35:01,647 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [480137612] [2020-07-18 06:35:01,647 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:35:01,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:01,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:01,851 INFO L280 TraceCheckUtils]: 0: Hoare triple {8069#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {8045#true} is VALID [2020-07-18 06:35:01,851 INFO L280 TraceCheckUtils]: 1: Hoare triple {8045#true} #valid := #valid[0 := 0]; {8045#true} is VALID [2020-07-18 06:35:01,851 INFO L280 TraceCheckUtils]: 2: Hoare triple {8045#true} assume 0 < #StackHeapBarrier; {8045#true} is VALID [2020-07-18 06:35:01,851 INFO L280 TraceCheckUtils]: 3: Hoare triple {8045#true} assume true; {8045#true} is VALID [2020-07-18 06:35:01,852 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {8045#true} {8045#true} #205#return; {8045#true} is VALID [2020-07-18 06:35:01,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:01,865 INFO L280 TraceCheckUtils]: 0: Hoare triple {8045#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {8045#true} is VALID [2020-07-18 06:35:01,865 INFO L280 TraceCheckUtils]: 1: Hoare triple {8045#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {8045#true} is VALID [2020-07-18 06:35:01,866 INFO L280 TraceCheckUtils]: 2: Hoare triple {8045#true} ~n := #in~n; {8045#true} is VALID [2020-07-18 06:35:01,866 INFO L280 TraceCheckUtils]: 3: Hoare triple {8045#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {8045#true} is VALID [2020-07-18 06:35:01,866 INFO L280 TraceCheckUtils]: 4: Hoare triple {8045#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {8045#true} is VALID [2020-07-18 06:35:01,866 INFO L280 TraceCheckUtils]: 5: Hoare triple {8045#true} havoc #t~ret0.base, #t~ret0.offset; {8045#true} is VALID [2020-07-18 06:35:01,866 INFO L280 TraceCheckUtils]: 6: Hoare triple {8045#true} assume true; {8045#true} is VALID [2020-07-18 06:35:01,866 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {8045#true} {8046#false} #201#return; {8046#false} is VALID [2020-07-18 06:35:01,867 INFO L263 TraceCheckUtils]: 0: Hoare triple {8045#true} call ULTIMATE.init(); {8069#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:35:01,867 INFO L280 TraceCheckUtils]: 1: Hoare triple {8069#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {8045#true} is VALID [2020-07-18 06:35:01,867 INFO L280 TraceCheckUtils]: 2: Hoare triple {8045#true} #valid := #valid[0 := 0]; {8045#true} is VALID [2020-07-18 06:35:01,868 INFO L280 TraceCheckUtils]: 3: Hoare triple {8045#true} assume 0 < #StackHeapBarrier; {8045#true} is VALID [2020-07-18 06:35:01,868 INFO L280 TraceCheckUtils]: 4: Hoare triple {8045#true} assume true; {8045#true} is VALID [2020-07-18 06:35:01,868 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {8045#true} {8045#true} #205#return; {8045#true} is VALID [2020-07-18 06:35:01,868 INFO L263 TraceCheckUtils]: 6: Hoare triple {8045#true} call #t~ret21 := main(); {8045#true} is VALID [2020-07-18 06:35:01,868 INFO L280 TraceCheckUtils]: 7: Hoare triple {8045#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {8045#true} is VALID [2020-07-18 06:35:01,869 INFO L280 TraceCheckUtils]: 8: Hoare triple {8045#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {8045#true} is VALID [2020-07-18 06:35:01,869 INFO L263 TraceCheckUtils]: 9: Hoare triple {8045#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {8045#true} is VALID [2020-07-18 06:35:01,870 INFO L280 TraceCheckUtils]: 10: Hoare triple {8045#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {8045#true} is VALID [2020-07-18 06:35:01,870 INFO L280 TraceCheckUtils]: 11: Hoare triple {8045#true} ~start~0 := 0; {8052#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,873 INFO L280 TraceCheckUtils]: 12: Hoare triple {8052#(= 0 parse_expression_list_~start~0)} ~i~0 := -1; {8053#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-18 06:35:01,875 INFO L280 TraceCheckUtils]: 13: Hoare triple {8053#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} ~j~0 := -1; {8053#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-18 06:35:01,876 INFO L280 TraceCheckUtils]: 14: Hoare triple {8053#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {8053#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-18 06:35:01,878 INFO L280 TraceCheckUtils]: 15: Hoare triple {8053#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} assume !(~str.base == 0 && ~str.offset == 0); {8053#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-18 06:35:01,880 INFO L280 TraceCheckUtils]: 16: Hoare triple {8053#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} #t~post2 := ~i~0; {8054#(and (<= (+ |parse_expression_list_#t~post2| 1) 0) (= 0 parse_expression_list_~start~0))} is VALID [2020-07-18 06:35:01,881 INFO L280 TraceCheckUtils]: 17: Hoare triple {8054#(and (<= (+ |parse_expression_list_#t~post2| 1) 0) (= 0 parse_expression_list_~start~0))} ~i~0 := 1 + #t~post2; {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:35:01,881 INFO L280 TraceCheckUtils]: 18: Hoare triple {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~post2; {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:35:01,882 INFO L280 TraceCheckUtils]: 19: Hoare triple {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:35:01,883 INFO L280 TraceCheckUtils]: 20: Hoare triple {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~switch4 := 0 == #t~mem3; {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:35:01,883 INFO L280 TraceCheckUtils]: 21: Hoare triple {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume #t~switch4; {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:35:01,884 INFO L280 TraceCheckUtils]: 22: Hoare triple {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:35:01,884 INFO L280 TraceCheckUtils]: 23: Hoare triple {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~short7 := 32 == #t~mem5; {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:35:01,885 INFO L280 TraceCheckUtils]: 24: Hoare triple {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume !#t~short7; {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:35:01,886 INFO L280 TraceCheckUtils]: 25: Hoare triple {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:35:01,887 INFO L280 TraceCheckUtils]: 26: Hoare triple {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~short7 := 9 == #t~mem6; {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:35:01,887 INFO L280 TraceCheckUtils]: 27: Hoare triple {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume !#t~short7; {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:35:01,888 INFO L280 TraceCheckUtils]: 28: Hoare triple {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem5; {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:35:01,889 INFO L280 TraceCheckUtils]: 29: Hoare triple {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~short7; {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:35:01,889 INFO L280 TraceCheckUtils]: 30: Hoare triple {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem6; {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:35:01,890 INFO L280 TraceCheckUtils]: 31: Hoare triple {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:35:01,891 INFO L280 TraceCheckUtils]: 32: Hoare triple {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume 34 == #t~mem9; {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:35:01,891 INFO L280 TraceCheckUtils]: 33: Hoare triple {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem9; {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:35:01,892 INFO L280 TraceCheckUtils]: 34: Hoare triple {8055#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~post10 := ~start~0; {8056#(and (= 0 |parse_expression_list_#t~post10|) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-18 06:35:01,893 INFO L280 TraceCheckUtils]: 35: Hoare triple {8056#(and (= 0 |parse_expression_list_#t~post10|) (<= parse_expression_list_~i~0 0))} ~start~0 := 1 + #t~post10; {8057#(<= (+ parse_expression_list_~i~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,893 INFO L280 TraceCheckUtils]: 36: Hoare triple {8057#(<= (+ parse_expression_list_~i~0 1) parse_expression_list_~start~0)} havoc #t~post10; {8057#(<= (+ parse_expression_list_~i~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,894 INFO L280 TraceCheckUtils]: 37: Hoare triple {8057#(<= (+ parse_expression_list_~i~0 1) parse_expression_list_~start~0)} ~j~0 := ~i~0 - 1; {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,895 INFO L280 TraceCheckUtils]: 38: Hoare triple {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #t~short14 := 0 < ~j~0; {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,895 INFO L280 TraceCheckUtils]: 39: Hoare triple {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short14; {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,896 INFO L280 TraceCheckUtils]: 40: Hoare triple {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short14; {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,896 INFO L280 TraceCheckUtils]: 41: Hoare triple {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short14; {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,897 INFO L280 TraceCheckUtils]: 42: Hoare triple {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short13; {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,897 INFO L280 TraceCheckUtils]: 43: Hoare triple {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem12; {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,898 INFO L280 TraceCheckUtils]: 44: Hoare triple {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem11; {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,898 INFO L280 TraceCheckUtils]: 45: Hoare triple {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #t~short17 := 0 < ~j~0; {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,899 INFO L280 TraceCheckUtils]: 46: Hoare triple {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume #t~short17; {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,900 INFO L280 TraceCheckUtils]: 47: Hoare triple {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} SUMMARY for call #t~mem16 := read~int(~str.base, ~str.offset + ~j~0, 1); srcloc: L59-1 {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,900 INFO L280 TraceCheckUtils]: 48: Hoare triple {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #t~short17 := 34 == #t~mem16; {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,901 INFO L280 TraceCheckUtils]: 49: Hoare triple {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume #t~short17; {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,901 INFO L280 TraceCheckUtils]: 50: Hoare triple {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short17; {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,902 INFO L280 TraceCheckUtils]: 51: Hoare triple {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem16; {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,903 INFO L280 TraceCheckUtils]: 52: Hoare triple {8058#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #t~post18 := ~j~0; {8059#(<= (+ |parse_expression_list_#t~post18| 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,904 INFO L280 TraceCheckUtils]: 53: Hoare triple {8059#(<= (+ |parse_expression_list_#t~post18| 2) parse_expression_list_~start~0)} ~j~0 := #t~post18 - 1; {8060#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,904 INFO L280 TraceCheckUtils]: 54: Hoare triple {8060#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} havoc #t~post18; {8060#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:01,905 INFO L280 TraceCheckUtils]: 55: Hoare triple {8060#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} assume ~start~0 <= ~j~0; {8046#false} is VALID [2020-07-18 06:35:01,905 INFO L263 TraceCheckUtils]: 56: Hoare triple {8046#false} call #t~ret19.base, #t~ret19.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0, 1 + (~j~0 - ~start~0)); {8045#true} is VALID [2020-07-18 06:35:01,905 INFO L280 TraceCheckUtils]: 57: Hoare triple {8045#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {8045#true} is VALID [2020-07-18 06:35:01,906 INFO L280 TraceCheckUtils]: 58: Hoare triple {8045#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {8045#true} is VALID [2020-07-18 06:35:01,906 INFO L280 TraceCheckUtils]: 59: Hoare triple {8045#true} ~n := #in~n; {8045#true} is VALID [2020-07-18 06:35:01,906 INFO L280 TraceCheckUtils]: 60: Hoare triple {8045#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {8045#true} is VALID [2020-07-18 06:35:01,906 INFO L280 TraceCheckUtils]: 61: Hoare triple {8045#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {8045#true} is VALID [2020-07-18 06:35:01,907 INFO L280 TraceCheckUtils]: 62: Hoare triple {8045#true} havoc #t~ret0.base, #t~ret0.offset; {8045#true} is VALID [2020-07-18 06:35:01,907 INFO L280 TraceCheckUtils]: 63: Hoare triple {8045#true} assume true; {8045#true} is VALID [2020-07-18 06:35:01,907 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {8045#true} {8046#false} #201#return; {8046#false} is VALID [2020-07-18 06:35:01,907 INFO L280 TraceCheckUtils]: 65: Hoare triple {8046#false} havoc #t~ret19.base, #t~ret19.offset; {8046#false} is VALID [2020-07-18 06:35:01,907 INFO L263 TraceCheckUtils]: 66: Hoare triple {8046#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {8046#false} is VALID [2020-07-18 06:35:01,908 INFO L280 TraceCheckUtils]: 67: Hoare triple {8046#false} ~cond := #in~cond; {8046#false} is VALID [2020-07-18 06:35:01,908 INFO L280 TraceCheckUtils]: 68: Hoare triple {8046#false} assume 0 == ~cond; {8046#false} is VALID [2020-07-18 06:35:01,908 INFO L280 TraceCheckUtils]: 69: Hoare triple {8046#false} assume !false; {8046#false} is VALID [2020-07-18 06:35:01,915 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-18 06:35:01,915 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [480137612] [2020-07-18 06:35:01,915 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 06:35:01,916 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2020-07-18 06:35:01,916 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1620949994] [2020-07-18 06:35:01,916 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 70 [2020-07-18 06:35:01,917 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:35:01,917 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-18 06:35:01,989 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:01,990 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-18 06:35:01,990 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:35:01,990 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-18 06:35:01,991 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=105, Unknown=0, NotChecked=0, Total=132 [2020-07-18 06:35:01,991 INFO L87 Difference]: Start difference. First operand 155 states and 173 transitions. Second operand 12 states. [2020-07-18 06:35:04,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:04,428 INFO L93 Difference]: Finished difference Result 425 states and 477 transitions. [2020-07-18 06:35:04,428 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-18 06:35:04,428 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 70 [2020-07-18 06:35:04,429 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:35:04,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-18 06:35:04,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 457 transitions. [2020-07-18 06:35:04,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-18 06:35:04,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 457 transitions. [2020-07-18 06:35:04,444 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 457 transitions. [2020-07-18 06:35:04,923 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 457 edges. 457 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:04,933 INFO L225 Difference]: With dead ends: 425 [2020-07-18 06:35:04,933 INFO L226 Difference]: Without dead ends: 322 [2020-07-18 06:35:04,935 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 89 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=86, Invalid=376, Unknown=0, NotChecked=0, Total=462 [2020-07-18 06:35:04,936 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 322 states. [2020-07-18 06:35:05,071 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 322 to 136. [2020-07-18 06:35:05,072 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:35:05,072 INFO L82 GeneralOperation]: Start isEquivalent. First operand 322 states. Second operand 136 states. [2020-07-18 06:35:05,072 INFO L74 IsIncluded]: Start isIncluded. First operand 322 states. Second operand 136 states. [2020-07-18 06:35:05,072 INFO L87 Difference]: Start difference. First operand 322 states. Second operand 136 states. [2020-07-18 06:35:05,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:05,081 INFO L93 Difference]: Finished difference Result 322 states and 364 transitions. [2020-07-18 06:35:05,082 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 364 transitions. [2020-07-18 06:35:05,083 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:05,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:05,083 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand 322 states. [2020-07-18 06:35:05,083 INFO L87 Difference]: Start difference. First operand 136 states. Second operand 322 states. [2020-07-18 06:35:05,092 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:05,092 INFO L93 Difference]: Finished difference Result 322 states and 364 transitions. [2020-07-18 06:35:05,093 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 364 transitions. [2020-07-18 06:35:05,094 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:05,094 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:05,094 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:35:05,094 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:35:05,094 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 136 states. [2020-07-18 06:35:05,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 151 transitions. [2020-07-18 06:35:05,097 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 151 transitions. Word has length 70 [2020-07-18 06:35:05,097 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:35:05,097 INFO L479 AbstractCegarLoop]: Abstraction has 136 states and 151 transitions. [2020-07-18 06:35:05,098 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-18 06:35:05,098 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 136 states and 151 transitions. [2020-07-18 06:35:05,253 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 151 edges. 151 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:05,253 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 151 transitions. [2020-07-18 06:35:05,254 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2020-07-18 06:35:05,254 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:35:05,254 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 06:35:05,255 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-18 06:35:05,255 INFO L427 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:35:05,255 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:35:05,255 INFO L82 PathProgramCache]: Analyzing trace with hash -272178825, now seen corresponding path program 1 times [2020-07-18 06:35:05,256 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:35:05,256 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [888189473] [2020-07-18 06:35:05,256 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:35:05,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:05,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:05,357 INFO L280 TraceCheckUtils]: 0: Hoare triple {9874#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {9858#true} is VALID [2020-07-18 06:35:05,357 INFO L280 TraceCheckUtils]: 1: Hoare triple {9858#true} #valid := #valid[0 := 0]; {9858#true} is VALID [2020-07-18 06:35:05,357 INFO L280 TraceCheckUtils]: 2: Hoare triple {9858#true} assume 0 < #StackHeapBarrier; {9858#true} is VALID [2020-07-18 06:35:05,357 INFO L280 TraceCheckUtils]: 3: Hoare triple {9858#true} assume true; {9858#true} is VALID [2020-07-18 06:35:05,358 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {9858#true} {9858#true} #205#return; {9858#true} is VALID [2020-07-18 06:35:05,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:05,364 INFO L280 TraceCheckUtils]: 0: Hoare triple {9858#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {9858#true} is VALID [2020-07-18 06:35:05,365 INFO L280 TraceCheckUtils]: 1: Hoare triple {9858#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {9858#true} is VALID [2020-07-18 06:35:05,365 INFO L280 TraceCheckUtils]: 2: Hoare triple {9858#true} ~n := #in~n; {9858#true} is VALID [2020-07-18 06:35:05,365 INFO L280 TraceCheckUtils]: 3: Hoare triple {9858#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {9858#true} is VALID [2020-07-18 06:35:05,365 INFO L280 TraceCheckUtils]: 4: Hoare triple {9858#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {9858#true} is VALID [2020-07-18 06:35:05,366 INFO L280 TraceCheckUtils]: 5: Hoare triple {9858#true} havoc #t~ret0.base, #t~ret0.offset; {9858#true} is VALID [2020-07-18 06:35:05,366 INFO L280 TraceCheckUtils]: 6: Hoare triple {9858#true} assume true; {9858#true} is VALID [2020-07-18 06:35:05,366 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {9858#true} {9859#false} #201#return; {9859#false} is VALID [2020-07-18 06:35:05,367 INFO L263 TraceCheckUtils]: 0: Hoare triple {9858#true} call ULTIMATE.init(); {9874#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:35:05,367 INFO L280 TraceCheckUtils]: 1: Hoare triple {9874#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {9858#true} is VALID [2020-07-18 06:35:05,368 INFO L280 TraceCheckUtils]: 2: Hoare triple {9858#true} #valid := #valid[0 := 0]; {9858#true} is VALID [2020-07-18 06:35:05,368 INFO L280 TraceCheckUtils]: 3: Hoare triple {9858#true} assume 0 < #StackHeapBarrier; {9858#true} is VALID [2020-07-18 06:35:05,368 INFO L280 TraceCheckUtils]: 4: Hoare triple {9858#true} assume true; {9858#true} is VALID [2020-07-18 06:35:05,368 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {9858#true} {9858#true} #205#return; {9858#true} is VALID [2020-07-18 06:35:05,368 INFO L263 TraceCheckUtils]: 6: Hoare triple {9858#true} call #t~ret21 := main(); {9858#true} is VALID [2020-07-18 06:35:05,369 INFO L280 TraceCheckUtils]: 7: Hoare triple {9858#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {9858#true} is VALID [2020-07-18 06:35:05,369 INFO L280 TraceCheckUtils]: 8: Hoare triple {9858#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {9858#true} is VALID [2020-07-18 06:35:05,369 INFO L263 TraceCheckUtils]: 9: Hoare triple {9858#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {9858#true} is VALID [2020-07-18 06:35:05,369 INFO L280 TraceCheckUtils]: 10: Hoare triple {9858#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {9858#true} is VALID [2020-07-18 06:35:05,369 INFO L280 TraceCheckUtils]: 11: Hoare triple {9858#true} ~start~0 := 0; {9858#true} is VALID [2020-07-18 06:35:05,370 INFO L280 TraceCheckUtils]: 12: Hoare triple {9858#true} ~i~0 := -1; {9858#true} is VALID [2020-07-18 06:35:05,370 INFO L280 TraceCheckUtils]: 13: Hoare triple {9858#true} ~j~0 := -1; {9858#true} is VALID [2020-07-18 06:35:05,370 INFO L280 TraceCheckUtils]: 14: Hoare triple {9858#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {9858#true} is VALID [2020-07-18 06:35:05,370 INFO L280 TraceCheckUtils]: 15: Hoare triple {9858#true} assume !(~str.base == 0 && ~str.offset == 0); {9858#true} is VALID [2020-07-18 06:35:05,371 INFO L280 TraceCheckUtils]: 16: Hoare triple {9858#true} #t~post2 := ~i~0; {9858#true} is VALID [2020-07-18 06:35:05,371 INFO L280 TraceCheckUtils]: 17: Hoare triple {9858#true} ~i~0 := 1 + #t~post2; {9858#true} is VALID [2020-07-18 06:35:05,371 INFO L280 TraceCheckUtils]: 18: Hoare triple {9858#true} havoc #t~post2; {9858#true} is VALID [2020-07-18 06:35:05,371 INFO L280 TraceCheckUtils]: 19: Hoare triple {9858#true} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {9858#true} is VALID [2020-07-18 06:35:05,371 INFO L280 TraceCheckUtils]: 20: Hoare triple {9858#true} #t~switch4 := 0 == #t~mem3; {9858#true} is VALID [2020-07-18 06:35:05,372 INFO L280 TraceCheckUtils]: 21: Hoare triple {9858#true} assume #t~switch4; {9858#true} is VALID [2020-07-18 06:35:05,372 INFO L280 TraceCheckUtils]: 22: Hoare triple {9858#true} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {9858#true} is VALID [2020-07-18 06:35:05,372 INFO L280 TraceCheckUtils]: 23: Hoare triple {9858#true} #t~short7 := 32 == #t~mem5; {9858#true} is VALID [2020-07-18 06:35:05,372 INFO L280 TraceCheckUtils]: 24: Hoare triple {9858#true} assume !#t~short7; {9858#true} is VALID [2020-07-18 06:35:05,373 INFO L280 TraceCheckUtils]: 25: Hoare triple {9858#true} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {9858#true} is VALID [2020-07-18 06:35:05,373 INFO L280 TraceCheckUtils]: 26: Hoare triple {9858#true} #t~short7 := 9 == #t~mem6; {9858#true} is VALID [2020-07-18 06:35:05,373 INFO L280 TraceCheckUtils]: 27: Hoare triple {9858#true} assume !#t~short7; {9858#true} is VALID [2020-07-18 06:35:05,373 INFO L280 TraceCheckUtils]: 28: Hoare triple {9858#true} havoc #t~mem5; {9858#true} is VALID [2020-07-18 06:35:05,374 INFO L280 TraceCheckUtils]: 29: Hoare triple {9858#true} havoc #t~short7; {9858#true} is VALID [2020-07-18 06:35:05,374 INFO L280 TraceCheckUtils]: 30: Hoare triple {9858#true} havoc #t~mem6; {9858#true} is VALID [2020-07-18 06:35:05,374 INFO L280 TraceCheckUtils]: 31: Hoare triple {9858#true} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {9858#true} is VALID [2020-07-18 06:35:05,374 INFO L280 TraceCheckUtils]: 32: Hoare triple {9858#true} assume !(34 == #t~mem9); {9858#true} is VALID [2020-07-18 06:35:05,374 INFO L280 TraceCheckUtils]: 33: Hoare triple {9858#true} havoc #t~mem9; {9858#true} is VALID [2020-07-18 06:35:05,375 INFO L280 TraceCheckUtils]: 34: Hoare triple {9858#true} ~j~0 := ~i~0 - 1; {9858#true} is VALID [2020-07-18 06:35:05,375 INFO L280 TraceCheckUtils]: 35: Hoare triple {9858#true} #t~short14 := 0 < ~j~0; {9858#true} is VALID [2020-07-18 06:35:05,377 INFO L280 TraceCheckUtils]: 36: Hoare triple {9858#true} assume !#t~short14; {9865#(not |parse_expression_list_#t~short14|)} is VALID [2020-07-18 06:35:05,377 INFO L280 TraceCheckUtils]: 37: Hoare triple {9865#(not |parse_expression_list_#t~short14|)} assume !!#t~short14; {9859#false} is VALID [2020-07-18 06:35:05,378 INFO L280 TraceCheckUtils]: 38: Hoare triple {9859#false} havoc #t~short14; {9859#false} is VALID [2020-07-18 06:35:05,378 INFO L280 TraceCheckUtils]: 39: Hoare triple {9859#false} havoc #t~short13; {9859#false} is VALID [2020-07-18 06:35:05,378 INFO L280 TraceCheckUtils]: 40: Hoare triple {9859#false} havoc #t~mem12; {9859#false} is VALID [2020-07-18 06:35:05,378 INFO L280 TraceCheckUtils]: 41: Hoare triple {9859#false} havoc #t~mem11; {9859#false} is VALID [2020-07-18 06:35:05,378 INFO L280 TraceCheckUtils]: 42: Hoare triple {9859#false} #t~post15 := ~j~0; {9859#false} is VALID [2020-07-18 06:35:05,379 INFO L280 TraceCheckUtils]: 43: Hoare triple {9859#false} ~j~0 := #t~post15 - 1; {9859#false} is VALID [2020-07-18 06:35:05,379 INFO L280 TraceCheckUtils]: 44: Hoare triple {9859#false} havoc #t~post15; {9859#false} is VALID [2020-07-18 06:35:05,379 INFO L280 TraceCheckUtils]: 45: Hoare triple {9859#false} #t~short14 := 0 < ~j~0; {9859#false} is VALID [2020-07-18 06:35:05,379 INFO L280 TraceCheckUtils]: 46: Hoare triple {9859#false} assume !#t~short14; {9859#false} is VALID [2020-07-18 06:35:05,379 INFO L280 TraceCheckUtils]: 47: Hoare triple {9859#false} assume !#t~short14; {9859#false} is VALID [2020-07-18 06:35:05,380 INFO L280 TraceCheckUtils]: 48: Hoare triple {9859#false} havoc #t~short14; {9859#false} is VALID [2020-07-18 06:35:05,380 INFO L280 TraceCheckUtils]: 49: Hoare triple {9859#false} havoc #t~short13; {9859#false} is VALID [2020-07-18 06:35:05,380 INFO L280 TraceCheckUtils]: 50: Hoare triple {9859#false} havoc #t~mem12; {9859#false} is VALID [2020-07-18 06:35:05,380 INFO L280 TraceCheckUtils]: 51: Hoare triple {9859#false} havoc #t~mem11; {9859#false} is VALID [2020-07-18 06:35:05,380 INFO L280 TraceCheckUtils]: 52: Hoare triple {9859#false} #t~short17 := 0 < ~j~0; {9859#false} is VALID [2020-07-18 06:35:05,381 INFO L280 TraceCheckUtils]: 53: Hoare triple {9859#false} assume !#t~short17; {9859#false} is VALID [2020-07-18 06:35:05,381 INFO L280 TraceCheckUtils]: 54: Hoare triple {9859#false} assume !#t~short17; {9859#false} is VALID [2020-07-18 06:35:05,381 INFO L280 TraceCheckUtils]: 55: Hoare triple {9859#false} havoc #t~short17; {9859#false} is VALID [2020-07-18 06:35:05,381 INFO L280 TraceCheckUtils]: 56: Hoare triple {9859#false} havoc #t~mem16; {9859#false} is VALID [2020-07-18 06:35:05,381 INFO L280 TraceCheckUtils]: 57: Hoare triple {9859#false} assume ~start~0 <= ~j~0; {9859#false} is VALID [2020-07-18 06:35:05,382 INFO L263 TraceCheckUtils]: 58: Hoare triple {9859#false} call #t~ret19.base, #t~ret19.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0, 1 + (~j~0 - ~start~0)); {9858#true} is VALID [2020-07-18 06:35:05,382 INFO L280 TraceCheckUtils]: 59: Hoare triple {9858#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {9858#true} is VALID [2020-07-18 06:35:05,382 INFO L280 TraceCheckUtils]: 60: Hoare triple {9858#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {9858#true} is VALID [2020-07-18 06:35:05,382 INFO L280 TraceCheckUtils]: 61: Hoare triple {9858#true} ~n := #in~n; {9858#true} is VALID [2020-07-18 06:35:05,382 INFO L280 TraceCheckUtils]: 62: Hoare triple {9858#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {9858#true} is VALID [2020-07-18 06:35:05,382 INFO L280 TraceCheckUtils]: 63: Hoare triple {9858#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {9858#true} is VALID [2020-07-18 06:35:05,383 INFO L280 TraceCheckUtils]: 64: Hoare triple {9858#true} havoc #t~ret0.base, #t~ret0.offset; {9858#true} is VALID [2020-07-18 06:35:05,383 INFO L280 TraceCheckUtils]: 65: Hoare triple {9858#true} assume true; {9858#true} is VALID [2020-07-18 06:35:05,383 INFO L275 TraceCheckUtils]: 66: Hoare quadruple {9858#true} {9859#false} #201#return; {9859#false} is VALID [2020-07-18 06:35:05,383 INFO L280 TraceCheckUtils]: 67: Hoare triple {9859#false} havoc #t~ret19.base, #t~ret19.offset; {9859#false} is VALID [2020-07-18 06:35:05,383 INFO L263 TraceCheckUtils]: 68: Hoare triple {9859#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {9859#false} is VALID [2020-07-18 06:35:05,384 INFO L280 TraceCheckUtils]: 69: Hoare triple {9859#false} ~cond := #in~cond; {9859#false} is VALID [2020-07-18 06:35:05,384 INFO L280 TraceCheckUtils]: 70: Hoare triple {9859#false} assume 0 == ~cond; {9859#false} is VALID [2020-07-18 06:35:05,384 INFO L280 TraceCheckUtils]: 71: Hoare triple {9859#false} assume !false; {9859#false} is VALID [2020-07-18 06:35:05,388 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-18 06:35:05,389 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [888189473] [2020-07-18 06:35:05,389 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 06:35:05,389 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-18 06:35:05,389 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1060642477] [2020-07-18 06:35:05,390 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 72 [2020-07-18 06:35:05,390 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:35:05,391 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-18 06:35:05,458 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:05,458 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-18 06:35:05,458 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:35:05,458 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-18 06:35:05,459 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-18 06:35:05,459 INFO L87 Difference]: Start difference. First operand 136 states and 151 transitions. Second operand 4 states. [2020-07-18 06:35:05,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:05,957 INFO L93 Difference]: Finished difference Result 226 states and 251 transitions. [2020-07-18 06:35:05,957 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-18 06:35:05,957 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 72 [2020-07-18 06:35:05,957 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:35:05,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-18 06:35:05,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 208 transitions. [2020-07-18 06:35:05,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-18 06:35:05,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 208 transitions. [2020-07-18 06:35:05,962 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 208 transitions. [2020-07-18 06:35:06,146 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 208 edges. 208 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:06,149 INFO L225 Difference]: With dead ends: 226 [2020-07-18 06:35:06,149 INFO L226 Difference]: Without dead ends: 137 [2020-07-18 06:35:06,150 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-18 06:35:06,151 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2020-07-18 06:35:06,294 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 137. [2020-07-18 06:35:06,295 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:35:06,295 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand 137 states. [2020-07-18 06:35:06,295 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 137 states. [2020-07-18 06:35:06,295 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 137 states. [2020-07-18 06:35:06,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:06,302 INFO L93 Difference]: Finished difference Result 137 states and 151 transitions. [2020-07-18 06:35:06,302 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 151 transitions. [2020-07-18 06:35:06,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:06,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:06,303 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 137 states. [2020-07-18 06:35:06,303 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 137 states. [2020-07-18 06:35:06,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:06,307 INFO L93 Difference]: Finished difference Result 137 states and 151 transitions. [2020-07-18 06:35:06,307 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 151 transitions. [2020-07-18 06:35:06,308 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:06,308 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:06,308 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:35:06,308 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:35:06,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2020-07-18 06:35:06,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 151 transitions. [2020-07-18 06:35:06,311 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 151 transitions. Word has length 72 [2020-07-18 06:35:06,312 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:35:06,313 INFO L479 AbstractCegarLoop]: Abstraction has 137 states and 151 transitions. [2020-07-18 06:35:06,313 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-18 06:35:06,313 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 137 states and 151 transitions. [2020-07-18 06:35:06,474 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 151 edges. 151 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:06,475 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 151 transitions. [2020-07-18 06:35:06,476 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2020-07-18 06:35:06,476 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:35:06,476 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 06:35:06,476 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-18 06:35:06,477 INFO L427 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:35:06,477 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:35:06,477 INFO L82 PathProgramCache]: Analyzing trace with hash 588909148, now seen corresponding path program 1 times [2020-07-18 06:35:06,477 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:35:06,478 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1514008796] [2020-07-18 06:35:06,478 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:35:06,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:06,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:06,674 INFO L280 TraceCheckUtils]: 0: Hoare triple {10899#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {10877#true} is VALID [2020-07-18 06:35:06,674 INFO L280 TraceCheckUtils]: 1: Hoare triple {10877#true} #valid := #valid[0 := 0]; {10877#true} is VALID [2020-07-18 06:35:06,674 INFO L280 TraceCheckUtils]: 2: Hoare triple {10877#true} assume 0 < #StackHeapBarrier; {10877#true} is VALID [2020-07-18 06:35:06,674 INFO L280 TraceCheckUtils]: 3: Hoare triple {10877#true} assume true; {10877#true} is VALID [2020-07-18 06:35:06,675 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {10877#true} {10877#true} #205#return; {10877#true} is VALID [2020-07-18 06:35:06,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:06,681 INFO L280 TraceCheckUtils]: 0: Hoare triple {10877#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {10877#true} is VALID [2020-07-18 06:35:06,681 INFO L280 TraceCheckUtils]: 1: Hoare triple {10877#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {10877#true} is VALID [2020-07-18 06:35:06,681 INFO L280 TraceCheckUtils]: 2: Hoare triple {10877#true} ~n := #in~n; {10877#true} is VALID [2020-07-18 06:35:06,682 INFO L280 TraceCheckUtils]: 3: Hoare triple {10877#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {10877#true} is VALID [2020-07-18 06:35:06,682 INFO L280 TraceCheckUtils]: 4: Hoare triple {10877#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {10877#true} is VALID [2020-07-18 06:35:06,682 INFO L280 TraceCheckUtils]: 5: Hoare triple {10877#true} havoc #t~ret0.base, #t~ret0.offset; {10877#true} is VALID [2020-07-18 06:35:06,682 INFO L280 TraceCheckUtils]: 6: Hoare triple {10877#true} assume true; {10877#true} is VALID [2020-07-18 06:35:06,684 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {10877#true} {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} #201#return; {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,684 INFO L263 TraceCheckUtils]: 0: Hoare triple {10877#true} call ULTIMATE.init(); {10899#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:35:06,685 INFO L280 TraceCheckUtils]: 1: Hoare triple {10899#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {10877#true} is VALID [2020-07-18 06:35:06,685 INFO L280 TraceCheckUtils]: 2: Hoare triple {10877#true} #valid := #valid[0 := 0]; {10877#true} is VALID [2020-07-18 06:35:06,685 INFO L280 TraceCheckUtils]: 3: Hoare triple {10877#true} assume 0 < #StackHeapBarrier; {10877#true} is VALID [2020-07-18 06:35:06,685 INFO L280 TraceCheckUtils]: 4: Hoare triple {10877#true} assume true; {10877#true} is VALID [2020-07-18 06:35:06,685 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {10877#true} {10877#true} #205#return; {10877#true} is VALID [2020-07-18 06:35:06,686 INFO L263 TraceCheckUtils]: 6: Hoare triple {10877#true} call #t~ret21 := main(); {10877#true} is VALID [2020-07-18 06:35:06,686 INFO L280 TraceCheckUtils]: 7: Hoare triple {10877#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {10877#true} is VALID [2020-07-18 06:35:06,686 INFO L280 TraceCheckUtils]: 8: Hoare triple {10877#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {10877#true} is VALID [2020-07-18 06:35:06,686 INFO L263 TraceCheckUtils]: 9: Hoare triple {10877#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {10877#true} is VALID [2020-07-18 06:35:06,686 INFO L280 TraceCheckUtils]: 10: Hoare triple {10877#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {10877#true} is VALID [2020-07-18 06:35:06,687 INFO L280 TraceCheckUtils]: 11: Hoare triple {10877#true} ~start~0 := 0; {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,688 INFO L280 TraceCheckUtils]: 12: Hoare triple {10884#(= 0 parse_expression_list_~start~0)} ~i~0 := -1; {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,688 INFO L280 TraceCheckUtils]: 13: Hoare triple {10884#(= 0 parse_expression_list_~start~0)} ~j~0 := -1; {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,703 INFO L280 TraceCheckUtils]: 14: Hoare triple {10884#(= 0 parse_expression_list_~start~0)} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,707 INFO L280 TraceCheckUtils]: 15: Hoare triple {10884#(= 0 parse_expression_list_~start~0)} assume !(~str.base == 0 && ~str.offset == 0); {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,711 INFO L280 TraceCheckUtils]: 16: Hoare triple {10884#(= 0 parse_expression_list_~start~0)} #t~post2 := ~i~0; {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,712 INFO L280 TraceCheckUtils]: 17: Hoare triple {10884#(= 0 parse_expression_list_~start~0)} ~i~0 := 1 + #t~post2; {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,713 INFO L280 TraceCheckUtils]: 18: Hoare triple {10884#(= 0 parse_expression_list_~start~0)} havoc #t~post2; {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,713 INFO L280 TraceCheckUtils]: 19: Hoare triple {10884#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,714 INFO L280 TraceCheckUtils]: 20: Hoare triple {10884#(= 0 parse_expression_list_~start~0)} #t~switch4 := 0 == #t~mem3; {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,714 INFO L280 TraceCheckUtils]: 21: Hoare triple {10884#(= 0 parse_expression_list_~start~0)} assume #t~switch4; {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,715 INFO L280 TraceCheckUtils]: 22: Hoare triple {10884#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,715 INFO L280 TraceCheckUtils]: 23: Hoare triple {10884#(= 0 parse_expression_list_~start~0)} #t~short7 := 32 == #t~mem5; {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,716 INFO L280 TraceCheckUtils]: 24: Hoare triple {10884#(= 0 parse_expression_list_~start~0)} assume #t~short7; {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,717 INFO L280 TraceCheckUtils]: 25: Hoare triple {10884#(= 0 parse_expression_list_~start~0)} assume !!#t~short7; {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,717 INFO L280 TraceCheckUtils]: 26: Hoare triple {10884#(= 0 parse_expression_list_~start~0)} havoc #t~mem5; {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,718 INFO L280 TraceCheckUtils]: 27: Hoare triple {10884#(= 0 parse_expression_list_~start~0)} havoc #t~short7; {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,718 INFO L280 TraceCheckUtils]: 28: Hoare triple {10884#(= 0 parse_expression_list_~start~0)} havoc #t~mem6; {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,719 INFO L280 TraceCheckUtils]: 29: Hoare triple {10884#(= 0 parse_expression_list_~start~0)} #t~post8 := ~start~0; {10885#(= 0 |parse_expression_list_#t~post8|)} is VALID [2020-07-18 06:35:06,719 INFO L280 TraceCheckUtils]: 30: Hoare triple {10885#(= 0 |parse_expression_list_#t~post8|)} ~start~0 := 1 + #t~post8; {10886#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,720 INFO L280 TraceCheckUtils]: 31: Hoare triple {10886#(<= 1 parse_expression_list_~start~0)} havoc #t~post8; {10886#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,721 INFO L280 TraceCheckUtils]: 32: Hoare triple {10886#(<= 1 parse_expression_list_~start~0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {10886#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,721 INFO L280 TraceCheckUtils]: 33: Hoare triple {10886#(<= 1 parse_expression_list_~start~0)} #t~short7 := 32 == #t~mem5; {10886#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,722 INFO L280 TraceCheckUtils]: 34: Hoare triple {10886#(<= 1 parse_expression_list_~start~0)} assume !#t~short7; {10886#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,722 INFO L280 TraceCheckUtils]: 35: Hoare triple {10886#(<= 1 parse_expression_list_~start~0)} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {10886#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,723 INFO L280 TraceCheckUtils]: 36: Hoare triple {10886#(<= 1 parse_expression_list_~start~0)} #t~short7 := 9 == #t~mem6; {10886#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,723 INFO L280 TraceCheckUtils]: 37: Hoare triple {10886#(<= 1 parse_expression_list_~start~0)} assume !#t~short7; {10886#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,724 INFO L280 TraceCheckUtils]: 38: Hoare triple {10886#(<= 1 parse_expression_list_~start~0)} havoc #t~mem5; {10886#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,724 INFO L280 TraceCheckUtils]: 39: Hoare triple {10886#(<= 1 parse_expression_list_~start~0)} havoc #t~short7; {10886#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,725 INFO L280 TraceCheckUtils]: 40: Hoare triple {10886#(<= 1 parse_expression_list_~start~0)} havoc #t~mem6; {10886#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,726 INFO L280 TraceCheckUtils]: 41: Hoare triple {10886#(<= 1 parse_expression_list_~start~0)} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {10886#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,726 INFO L280 TraceCheckUtils]: 42: Hoare triple {10886#(<= 1 parse_expression_list_~start~0)} assume !(34 == #t~mem9); {10886#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,727 INFO L280 TraceCheckUtils]: 43: Hoare triple {10886#(<= 1 parse_expression_list_~start~0)} havoc #t~mem9; {10886#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,727 INFO L280 TraceCheckUtils]: 44: Hoare triple {10886#(<= 1 parse_expression_list_~start~0)} ~j~0 := ~i~0 - 1; {10886#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,728 INFO L280 TraceCheckUtils]: 45: Hoare triple {10886#(<= 1 parse_expression_list_~start~0)} #t~short14 := 0 < ~j~0; {10887#(or (<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0) |parse_expression_list_#t~short14|)} is VALID [2020-07-18 06:35:06,729 INFO L280 TraceCheckUtils]: 46: Hoare triple {10887#(or (<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0) |parse_expression_list_#t~short14|)} assume !#t~short14; {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,730 INFO L280 TraceCheckUtils]: 47: Hoare triple {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} assume !#t~short14; {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,730 INFO L280 TraceCheckUtils]: 48: Hoare triple {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} havoc #t~short14; {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,731 INFO L280 TraceCheckUtils]: 49: Hoare triple {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} havoc #t~short13; {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,731 INFO L280 TraceCheckUtils]: 50: Hoare triple {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} havoc #t~mem12; {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,732 INFO L280 TraceCheckUtils]: 51: Hoare triple {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} havoc #t~mem11; {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,733 INFO L280 TraceCheckUtils]: 52: Hoare triple {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} #t~short17 := 0 < ~j~0; {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,733 INFO L280 TraceCheckUtils]: 53: Hoare triple {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} assume !#t~short17; {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,734 INFO L280 TraceCheckUtils]: 54: Hoare triple {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} assume !#t~short17; {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,734 INFO L280 TraceCheckUtils]: 55: Hoare triple {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} havoc #t~short17; {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,735 INFO L280 TraceCheckUtils]: 56: Hoare triple {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} havoc #t~mem16; {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,735 INFO L280 TraceCheckUtils]: 57: Hoare triple {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} assume ~start~0 <= ~j~0; {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,736 INFO L263 TraceCheckUtils]: 58: Hoare triple {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} call #t~ret19.base, #t~ret19.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0, 1 + (~j~0 - ~start~0)); {10877#true} is VALID [2020-07-18 06:35:06,736 INFO L280 TraceCheckUtils]: 59: Hoare triple {10877#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {10877#true} is VALID [2020-07-18 06:35:06,736 INFO L280 TraceCheckUtils]: 60: Hoare triple {10877#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {10877#true} is VALID [2020-07-18 06:35:06,736 INFO L280 TraceCheckUtils]: 61: Hoare triple {10877#true} ~n := #in~n; {10877#true} is VALID [2020-07-18 06:35:06,736 INFO L280 TraceCheckUtils]: 62: Hoare triple {10877#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {10877#true} is VALID [2020-07-18 06:35:06,737 INFO L280 TraceCheckUtils]: 63: Hoare triple {10877#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {10877#true} is VALID [2020-07-18 06:35:06,737 INFO L280 TraceCheckUtils]: 64: Hoare triple {10877#true} havoc #t~ret0.base, #t~ret0.offset; {10877#true} is VALID [2020-07-18 06:35:06,737 INFO L280 TraceCheckUtils]: 65: Hoare triple {10877#true} assume true; {10877#true} is VALID [2020-07-18 06:35:06,739 INFO L275 TraceCheckUtils]: 66: Hoare quadruple {10877#true} {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} #201#return; {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,739 INFO L280 TraceCheckUtils]: 67: Hoare triple {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} havoc #t~ret19.base, #t~ret19.offset; {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:06,740 INFO L263 TraceCheckUtils]: 68: Hoare triple {10888#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {10897#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-18 06:35:06,741 INFO L280 TraceCheckUtils]: 69: Hoare triple {10897#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {10898#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-18 06:35:06,742 INFO L280 TraceCheckUtils]: 70: Hoare triple {10898#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {10878#false} is VALID [2020-07-18 06:35:06,742 INFO L280 TraceCheckUtils]: 71: Hoare triple {10878#false} assume !false; {10878#false} is VALID [2020-07-18 06:35:06,748 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-18 06:35:06,748 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1514008796] [2020-07-18 06:35:06,748 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 06:35:06,749 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2020-07-18 06:35:06,753 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [710089162] [2020-07-18 06:35:06,755 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 72 [2020-07-18 06:35:06,756 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:35:06,756 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-18 06:35:06,837 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:06,838 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-18 06:35:06,838 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:35:06,838 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-18 06:35:06,838 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=72, Unknown=0, NotChecked=0, Total=90 [2020-07-18 06:35:06,839 INFO L87 Difference]: Start difference. First operand 137 states and 151 transitions. Second operand 10 states. [2020-07-18 06:35:09,001 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:09,002 INFO L93 Difference]: Finished difference Result 389 states and 436 transitions. [2020-07-18 06:35:09,002 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2020-07-18 06:35:09,002 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 72 [2020-07-18 06:35:09,004 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:35:09,004 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-18 06:35:09,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 376 transitions. [2020-07-18 06:35:09,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-18 06:35:09,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 376 transitions. [2020-07-18 06:35:09,012 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 376 transitions. [2020-07-18 06:35:09,415 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 376 edges. 376 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:09,422 INFO L225 Difference]: With dead ends: 389 [2020-07-18 06:35:09,422 INFO L226 Difference]: Without dead ends: 296 [2020-07-18 06:35:09,423 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=271, Unknown=0, NotChecked=0, Total=342 [2020-07-18 06:35:09,424 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 296 states. [2020-07-18 06:35:09,724 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 296 to 200. [2020-07-18 06:35:09,725 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:35:09,725 INFO L82 GeneralOperation]: Start isEquivalent. First operand 296 states. Second operand 200 states. [2020-07-18 06:35:09,725 INFO L74 IsIncluded]: Start isIncluded. First operand 296 states. Second operand 200 states. [2020-07-18 06:35:09,725 INFO L87 Difference]: Start difference. First operand 296 states. Second operand 200 states. [2020-07-18 06:35:09,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:09,737 INFO L93 Difference]: Finished difference Result 296 states and 332 transitions. [2020-07-18 06:35:09,737 INFO L276 IsEmpty]: Start isEmpty. Operand 296 states and 332 transitions. [2020-07-18 06:35:09,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:09,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:09,738 INFO L74 IsIncluded]: Start isIncluded. First operand 200 states. Second operand 296 states. [2020-07-18 06:35:09,738 INFO L87 Difference]: Start difference. First operand 200 states. Second operand 296 states. [2020-07-18 06:35:09,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:09,748 INFO L93 Difference]: Finished difference Result 296 states and 332 transitions. [2020-07-18 06:35:09,748 INFO L276 IsEmpty]: Start isEmpty. Operand 296 states and 332 transitions. [2020-07-18 06:35:09,749 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:09,749 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:09,749 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:35:09,749 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:35:09,749 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 200 states. [2020-07-18 06:35:09,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 200 states to 200 states and 223 transitions. [2020-07-18 06:35:09,754 INFO L78 Accepts]: Start accepts. Automaton has 200 states and 223 transitions. Word has length 72 [2020-07-18 06:35:09,754 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:35:09,754 INFO L479 AbstractCegarLoop]: Abstraction has 200 states and 223 transitions. [2020-07-18 06:35:09,755 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-18 06:35:09,755 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 200 states and 223 transitions. [2020-07-18 06:35:10,068 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 223 edges. 223 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:10,068 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 223 transitions. [2020-07-18 06:35:10,069 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2020-07-18 06:35:10,069 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:35:10,070 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 06:35:10,070 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-18 06:35:10,070 INFO L427 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:35:10,070 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:35:10,070 INFO L82 PathProgramCache]: Analyzing trace with hash 69190993, now seen corresponding path program 1 times [2020-07-18 06:35:10,071 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:35:10,071 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1998962072] [2020-07-18 06:35:10,071 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:35:10,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:10,226 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:10,230 INFO L280 TraceCheckUtils]: 0: Hoare triple {12710#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {12690#true} is VALID [2020-07-18 06:35:10,231 INFO L280 TraceCheckUtils]: 1: Hoare triple {12690#true} #valid := #valid[0 := 0]; {12690#true} is VALID [2020-07-18 06:35:10,231 INFO L280 TraceCheckUtils]: 2: Hoare triple {12690#true} assume 0 < #StackHeapBarrier; {12690#true} is VALID [2020-07-18 06:35:10,231 INFO L280 TraceCheckUtils]: 3: Hoare triple {12690#true} assume true; {12690#true} is VALID [2020-07-18 06:35:10,231 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {12690#true} {12690#true} #205#return; {12690#true} is VALID [2020-07-18 06:35:10,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:10,242 INFO L280 TraceCheckUtils]: 0: Hoare triple {12690#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {12690#true} is VALID [2020-07-18 06:35:10,242 INFO L280 TraceCheckUtils]: 1: Hoare triple {12690#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {12690#true} is VALID [2020-07-18 06:35:10,243 INFO L280 TraceCheckUtils]: 2: Hoare triple {12690#true} ~n := #in~n; {12690#true} is VALID [2020-07-18 06:35:10,243 INFO L280 TraceCheckUtils]: 3: Hoare triple {12690#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {12690#true} is VALID [2020-07-18 06:35:10,243 INFO L280 TraceCheckUtils]: 4: Hoare triple {12690#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {12690#true} is VALID [2020-07-18 06:35:10,243 INFO L280 TraceCheckUtils]: 5: Hoare triple {12690#true} havoc #t~ret0.base, #t~ret0.offset; {12690#true} is VALID [2020-07-18 06:35:10,244 INFO L280 TraceCheckUtils]: 6: Hoare triple {12690#true} assume true; {12690#true} is VALID [2020-07-18 06:35:10,245 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {12690#true} {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} #201#return; {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} is VALID [2020-07-18 06:35:10,247 INFO L263 TraceCheckUtils]: 0: Hoare triple {12690#true} call ULTIMATE.init(); {12710#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:35:10,248 INFO L280 TraceCheckUtils]: 1: Hoare triple {12710#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {12690#true} is VALID [2020-07-18 06:35:10,248 INFO L280 TraceCheckUtils]: 2: Hoare triple {12690#true} #valid := #valid[0 := 0]; {12690#true} is VALID [2020-07-18 06:35:10,248 INFO L280 TraceCheckUtils]: 3: Hoare triple {12690#true} assume 0 < #StackHeapBarrier; {12690#true} is VALID [2020-07-18 06:35:10,248 INFO L280 TraceCheckUtils]: 4: Hoare triple {12690#true} assume true; {12690#true} is VALID [2020-07-18 06:35:10,248 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {12690#true} {12690#true} #205#return; {12690#true} is VALID [2020-07-18 06:35:10,249 INFO L263 TraceCheckUtils]: 6: Hoare triple {12690#true} call #t~ret21 := main(); {12690#true} is VALID [2020-07-18 06:35:10,249 INFO L280 TraceCheckUtils]: 7: Hoare triple {12690#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {12690#true} is VALID [2020-07-18 06:35:10,249 INFO L280 TraceCheckUtils]: 8: Hoare triple {12690#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {12690#true} is VALID [2020-07-18 06:35:10,249 INFO L263 TraceCheckUtils]: 9: Hoare triple {12690#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {12690#true} is VALID [2020-07-18 06:35:10,249 INFO L280 TraceCheckUtils]: 10: Hoare triple {12690#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {12690#true} is VALID [2020-07-18 06:35:10,250 INFO L280 TraceCheckUtils]: 11: Hoare triple {12690#true} ~start~0 := 0; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,251 INFO L280 TraceCheckUtils]: 12: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} ~i~0 := -1; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,251 INFO L280 TraceCheckUtils]: 13: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} ~j~0 := -1; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,252 INFO L280 TraceCheckUtils]: 14: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,253 INFO L280 TraceCheckUtils]: 15: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} assume !(~str.base == 0 && ~str.offset == 0); {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,253 INFO L280 TraceCheckUtils]: 16: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} #t~post2 := ~i~0; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,254 INFO L280 TraceCheckUtils]: 17: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} ~i~0 := 1 + #t~post2; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,255 INFO L280 TraceCheckUtils]: 18: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} havoc #t~post2; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,255 INFO L280 TraceCheckUtils]: 19: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,256 INFO L280 TraceCheckUtils]: 20: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} #t~switch4 := 0 == #t~mem3; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,257 INFO L280 TraceCheckUtils]: 21: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} assume !#t~switch4; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,257 INFO L280 TraceCheckUtils]: 22: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} havoc #t~switch4; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,258 INFO L280 TraceCheckUtils]: 23: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} havoc #t~mem3; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,259 INFO L280 TraceCheckUtils]: 24: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem1 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L51-1 {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,259 INFO L280 TraceCheckUtils]: 25: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} assume !!(0 != #t~mem1); {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,260 INFO L280 TraceCheckUtils]: 26: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} havoc #t~mem1; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,261 INFO L280 TraceCheckUtils]: 27: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} #t~post2 := ~i~0; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,261 INFO L280 TraceCheckUtils]: 28: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} ~i~0 := 1 + #t~post2; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,262 INFO L280 TraceCheckUtils]: 29: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} havoc #t~post2; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,262 INFO L280 TraceCheckUtils]: 30: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,263 INFO L280 TraceCheckUtils]: 31: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} #t~switch4 := 0 == #t~mem3; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,264 INFO L280 TraceCheckUtils]: 32: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} assume #t~switch4; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,264 INFO L280 TraceCheckUtils]: 33: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,265 INFO L280 TraceCheckUtils]: 34: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} #t~short7 := 32 == #t~mem5; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,265 INFO L280 TraceCheckUtils]: 35: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} assume !#t~short7; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,266 INFO L280 TraceCheckUtils]: 36: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,267 INFO L280 TraceCheckUtils]: 37: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} #t~short7 := 9 == #t~mem6; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,267 INFO L280 TraceCheckUtils]: 38: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} assume !#t~short7; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,268 INFO L280 TraceCheckUtils]: 39: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} havoc #t~mem5; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,268 INFO L280 TraceCheckUtils]: 40: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} havoc #t~short7; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,269 INFO L280 TraceCheckUtils]: 41: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} havoc #t~mem6; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,271 INFO L280 TraceCheckUtils]: 42: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,271 INFO L280 TraceCheckUtils]: 43: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} assume !(34 == #t~mem9); {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,272 INFO L280 TraceCheckUtils]: 44: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} havoc #t~mem9; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,273 INFO L280 TraceCheckUtils]: 45: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} ~j~0 := ~i~0 - 1; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:10,274 INFO L280 TraceCheckUtils]: 46: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} #t~short14 := 0 < ~j~0; {12698#(and (or (<= parse_expression_list_~j~0 0) |parse_expression_list_#t~short14|) (= 0 parse_expression_list_~start~0))} is VALID [2020-07-18 06:35:10,274 INFO L280 TraceCheckUtils]: 47: Hoare triple {12698#(and (or (<= parse_expression_list_~j~0 0) |parse_expression_list_#t~short14|) (= 0 parse_expression_list_~start~0))} assume !#t~short14; {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} is VALID [2020-07-18 06:35:10,275 INFO L280 TraceCheckUtils]: 48: Hoare triple {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} assume !#t~short14; {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} is VALID [2020-07-18 06:35:10,276 INFO L280 TraceCheckUtils]: 49: Hoare triple {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} havoc #t~short14; {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} is VALID [2020-07-18 06:35:10,277 INFO L280 TraceCheckUtils]: 50: Hoare triple {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} havoc #t~short13; {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} is VALID [2020-07-18 06:35:10,277 INFO L280 TraceCheckUtils]: 51: Hoare triple {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} havoc #t~mem12; {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} is VALID [2020-07-18 06:35:10,278 INFO L280 TraceCheckUtils]: 52: Hoare triple {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} havoc #t~mem11; {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} is VALID [2020-07-18 06:35:10,279 INFO L280 TraceCheckUtils]: 53: Hoare triple {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} #t~short17 := 0 < ~j~0; {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} is VALID [2020-07-18 06:35:10,281 INFO L280 TraceCheckUtils]: 54: Hoare triple {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} assume !#t~short17; {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} is VALID [2020-07-18 06:35:10,281 INFO L280 TraceCheckUtils]: 55: Hoare triple {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} assume !#t~short17; {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} is VALID [2020-07-18 06:35:10,282 INFO L280 TraceCheckUtils]: 56: Hoare triple {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} havoc #t~short17; {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} is VALID [2020-07-18 06:35:10,283 INFO L280 TraceCheckUtils]: 57: Hoare triple {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} havoc #t~mem16; {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} is VALID [2020-07-18 06:35:10,284 INFO L280 TraceCheckUtils]: 58: Hoare triple {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} assume ~start~0 <= ~j~0; {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} is VALID [2020-07-18 06:35:10,284 INFO L263 TraceCheckUtils]: 59: Hoare triple {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} call #t~ret19.base, #t~ret19.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0, 1 + (~j~0 - ~start~0)); {12690#true} is VALID [2020-07-18 06:35:10,285 INFO L280 TraceCheckUtils]: 60: Hoare triple {12690#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {12690#true} is VALID [2020-07-18 06:35:10,285 INFO L280 TraceCheckUtils]: 61: Hoare triple {12690#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {12690#true} is VALID [2020-07-18 06:35:10,285 INFO L280 TraceCheckUtils]: 62: Hoare triple {12690#true} ~n := #in~n; {12690#true} is VALID [2020-07-18 06:35:10,285 INFO L280 TraceCheckUtils]: 63: Hoare triple {12690#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {12690#true} is VALID [2020-07-18 06:35:10,286 INFO L280 TraceCheckUtils]: 64: Hoare triple {12690#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {12690#true} is VALID [2020-07-18 06:35:10,286 INFO L280 TraceCheckUtils]: 65: Hoare triple {12690#true} havoc #t~ret0.base, #t~ret0.offset; {12690#true} is VALID [2020-07-18 06:35:10,286 INFO L280 TraceCheckUtils]: 66: Hoare triple {12690#true} assume true; {12690#true} is VALID [2020-07-18 06:35:10,288 INFO L275 TraceCheckUtils]: 67: Hoare quadruple {12690#true} {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} #201#return; {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} is VALID [2020-07-18 06:35:10,289 INFO L280 TraceCheckUtils]: 68: Hoare triple {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} havoc #t~ret19.base, #t~ret19.offset; {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} is VALID [2020-07-18 06:35:10,290 INFO L263 TraceCheckUtils]: 69: Hoare triple {12699#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {12708#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-18 06:35:10,291 INFO L280 TraceCheckUtils]: 70: Hoare triple {12708#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {12709#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-18 06:35:10,292 INFO L280 TraceCheckUtils]: 71: Hoare triple {12709#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {12691#false} is VALID [2020-07-18 06:35:10,292 INFO L280 TraceCheckUtils]: 72: Hoare triple {12691#false} assume !false; {12691#false} is VALID [2020-07-18 06:35:10,302 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2020-07-18 06:35:10,302 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1998962072] [2020-07-18 06:35:10,302 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 06:35:10,303 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2020-07-18 06:35:10,303 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2086904536] [2020-07-18 06:35:10,303 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 73 [2020-07-18 06:35:10,304 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:35:10,304 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-18 06:35:10,374 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-18 06:35:10,374 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-18 06:35:10,375 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:35:10,375 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-18 06:35:10,375 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2020-07-18 06:35:10,375 INFO L87 Difference]: Start difference. First operand 200 states and 223 transitions. Second operand 8 states. [2020-07-18 06:35:11,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:11,752 INFO L93 Difference]: Finished difference Result 288 states and 323 transitions. [2020-07-18 06:35:11,752 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-18 06:35:11,753 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 73 [2020-07-18 06:35:11,753 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:35:11,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-18 06:35:11,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 223 transitions. [2020-07-18 06:35:11,756 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-18 06:35:11,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 223 transitions. [2020-07-18 06:35:11,759 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 223 transitions. [2020-07-18 06:35:11,981 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 223 edges. 223 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:11,986 INFO L225 Difference]: With dead ends: 288 [2020-07-18 06:35:11,987 INFO L226 Difference]: Without dead ends: 286 [2020-07-18 06:35:11,987 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=42, Invalid=114, Unknown=0, NotChecked=0, Total=156 [2020-07-18 06:35:11,988 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 286 states. [2020-07-18 06:35:12,315 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 286 to 254. [2020-07-18 06:35:12,315 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:35:12,316 INFO L82 GeneralOperation]: Start isEquivalent. First operand 286 states. Second operand 254 states. [2020-07-18 06:35:12,316 INFO L74 IsIncluded]: Start isIncluded. First operand 286 states. Second operand 254 states. [2020-07-18 06:35:12,316 INFO L87 Difference]: Start difference. First operand 286 states. Second operand 254 states. [2020-07-18 06:35:12,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:12,329 INFO L93 Difference]: Finished difference Result 286 states and 321 transitions. [2020-07-18 06:35:12,329 INFO L276 IsEmpty]: Start isEmpty. Operand 286 states and 321 transitions. [2020-07-18 06:35:12,330 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:12,330 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:12,330 INFO L74 IsIncluded]: Start isIncluded. First operand 254 states. Second operand 286 states. [2020-07-18 06:35:12,330 INFO L87 Difference]: Start difference. First operand 254 states. Second operand 286 states. [2020-07-18 06:35:12,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:12,340 INFO L93 Difference]: Finished difference Result 286 states and 321 transitions. [2020-07-18 06:35:12,340 INFO L276 IsEmpty]: Start isEmpty. Operand 286 states and 321 transitions. [2020-07-18 06:35:12,341 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:12,341 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:12,341 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:35:12,342 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:35:12,342 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 254 states. [2020-07-18 06:35:12,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 254 states to 254 states and 285 transitions. [2020-07-18 06:35:12,352 INFO L78 Accepts]: Start accepts. Automaton has 254 states and 285 transitions. Word has length 73 [2020-07-18 06:35:12,352 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:35:12,352 INFO L479 AbstractCegarLoop]: Abstraction has 254 states and 285 transitions. [2020-07-18 06:35:12,352 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-18 06:35:12,352 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 254 states and 285 transitions. [2020-07-18 06:35:12,711 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 285 edges. 285 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:12,711 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 285 transitions. [2020-07-18 06:35:12,713 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2020-07-18 06:35:12,713 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:35:12,714 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 06:35:12,714 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-18 06:35:12,714 INFO L427 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:35:12,714 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:35:12,714 INFO L82 PathProgramCache]: Analyzing trace with hash 1474625812, now seen corresponding path program 1 times [2020-07-18 06:35:12,715 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:35:12,715 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1515553184] [2020-07-18 06:35:12,715 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:35:12,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:12,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:12,906 INFO L280 TraceCheckUtils]: 0: Hoare triple {14403#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {14379#true} is VALID [2020-07-18 06:35:12,907 INFO L280 TraceCheckUtils]: 1: Hoare triple {14379#true} #valid := #valid[0 := 0]; {14379#true} is VALID [2020-07-18 06:35:12,907 INFO L280 TraceCheckUtils]: 2: Hoare triple {14379#true} assume 0 < #StackHeapBarrier; {14379#true} is VALID [2020-07-18 06:35:12,907 INFO L280 TraceCheckUtils]: 3: Hoare triple {14379#true} assume true; {14379#true} is VALID [2020-07-18 06:35:12,907 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {14379#true} {14379#true} #205#return; {14379#true} is VALID [2020-07-18 06:35:12,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:12,915 INFO L280 TraceCheckUtils]: 0: Hoare triple {14379#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {14379#true} is VALID [2020-07-18 06:35:12,915 INFO L280 TraceCheckUtils]: 1: Hoare triple {14379#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {14379#true} is VALID [2020-07-18 06:35:12,915 INFO L280 TraceCheckUtils]: 2: Hoare triple {14379#true} ~n := #in~n; {14379#true} is VALID [2020-07-18 06:35:12,916 INFO L280 TraceCheckUtils]: 3: Hoare triple {14379#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {14379#true} is VALID [2020-07-18 06:35:12,916 INFO L280 TraceCheckUtils]: 4: Hoare triple {14379#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {14379#true} is VALID [2020-07-18 06:35:12,917 INFO L280 TraceCheckUtils]: 5: Hoare triple {14379#true} havoc #t~ret0.base, #t~ret0.offset; {14379#true} is VALID [2020-07-18 06:35:12,917 INFO L280 TraceCheckUtils]: 6: Hoare triple {14379#true} assume true; {14379#true} is VALID [2020-07-18 06:35:12,919 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {14379#true} {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #201#return; {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,920 INFO L263 TraceCheckUtils]: 0: Hoare triple {14379#true} call ULTIMATE.init(); {14403#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:35:12,920 INFO L280 TraceCheckUtils]: 1: Hoare triple {14403#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {14379#true} is VALID [2020-07-18 06:35:12,921 INFO L280 TraceCheckUtils]: 2: Hoare triple {14379#true} #valid := #valid[0 := 0]; {14379#true} is VALID [2020-07-18 06:35:12,921 INFO L280 TraceCheckUtils]: 3: Hoare triple {14379#true} assume 0 < #StackHeapBarrier; {14379#true} is VALID [2020-07-18 06:35:12,921 INFO L280 TraceCheckUtils]: 4: Hoare triple {14379#true} assume true; {14379#true} is VALID [2020-07-18 06:35:12,921 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {14379#true} {14379#true} #205#return; {14379#true} is VALID [2020-07-18 06:35:12,922 INFO L263 TraceCheckUtils]: 6: Hoare triple {14379#true} call #t~ret21 := main(); {14379#true} is VALID [2020-07-18 06:35:12,922 INFO L280 TraceCheckUtils]: 7: Hoare triple {14379#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {14379#true} is VALID [2020-07-18 06:35:12,922 INFO L280 TraceCheckUtils]: 8: Hoare triple {14379#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {14379#true} is VALID [2020-07-18 06:35:12,923 INFO L263 TraceCheckUtils]: 9: Hoare triple {14379#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {14379#true} is VALID [2020-07-18 06:35:12,923 INFO L280 TraceCheckUtils]: 10: Hoare triple {14379#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {14379#true} is VALID [2020-07-18 06:35:12,924 INFO L280 TraceCheckUtils]: 11: Hoare triple {14379#true} ~start~0 := 0; {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,925 INFO L280 TraceCheckUtils]: 12: Hoare triple {14386#(= 0 parse_expression_list_~start~0)} ~i~0 := -1; {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,925 INFO L280 TraceCheckUtils]: 13: Hoare triple {14386#(= 0 parse_expression_list_~start~0)} ~j~0 := -1; {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,926 INFO L280 TraceCheckUtils]: 14: Hoare triple {14386#(= 0 parse_expression_list_~start~0)} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,927 INFO L280 TraceCheckUtils]: 15: Hoare triple {14386#(= 0 parse_expression_list_~start~0)} assume !(~str.base == 0 && ~str.offset == 0); {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,928 INFO L280 TraceCheckUtils]: 16: Hoare triple {14386#(= 0 parse_expression_list_~start~0)} #t~post2 := ~i~0; {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,929 INFO L280 TraceCheckUtils]: 17: Hoare triple {14386#(= 0 parse_expression_list_~start~0)} ~i~0 := 1 + #t~post2; {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,929 INFO L280 TraceCheckUtils]: 18: Hoare triple {14386#(= 0 parse_expression_list_~start~0)} havoc #t~post2; {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,930 INFO L280 TraceCheckUtils]: 19: Hoare triple {14386#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,931 INFO L280 TraceCheckUtils]: 20: Hoare triple {14386#(= 0 parse_expression_list_~start~0)} #t~switch4 := 0 == #t~mem3; {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,932 INFO L280 TraceCheckUtils]: 21: Hoare triple {14386#(= 0 parse_expression_list_~start~0)} assume #t~switch4; {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,934 INFO L280 TraceCheckUtils]: 22: Hoare triple {14386#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,934 INFO L280 TraceCheckUtils]: 23: Hoare triple {14386#(= 0 parse_expression_list_~start~0)} #t~short7 := 32 == #t~mem5; {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,935 INFO L280 TraceCheckUtils]: 24: Hoare triple {14386#(= 0 parse_expression_list_~start~0)} assume #t~short7; {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,936 INFO L280 TraceCheckUtils]: 25: Hoare triple {14386#(= 0 parse_expression_list_~start~0)} assume !!#t~short7; {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,938 INFO L280 TraceCheckUtils]: 26: Hoare triple {14386#(= 0 parse_expression_list_~start~0)} havoc #t~mem5; {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,938 INFO L280 TraceCheckUtils]: 27: Hoare triple {14386#(= 0 parse_expression_list_~start~0)} havoc #t~short7; {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,941 INFO L280 TraceCheckUtils]: 28: Hoare triple {14386#(= 0 parse_expression_list_~start~0)} havoc #t~mem6; {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,942 INFO L280 TraceCheckUtils]: 29: Hoare triple {14386#(= 0 parse_expression_list_~start~0)} #t~post8 := ~start~0; {14387#(= 0 |parse_expression_list_#t~post8|)} is VALID [2020-07-18 06:35:12,943 INFO L280 TraceCheckUtils]: 30: Hoare triple {14387#(= 0 |parse_expression_list_#t~post8|)} ~start~0 := 1 + #t~post8; {14388#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,943 INFO L280 TraceCheckUtils]: 31: Hoare triple {14388#(<= 1 parse_expression_list_~start~0)} havoc #t~post8; {14388#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,944 INFO L280 TraceCheckUtils]: 32: Hoare triple {14388#(<= 1 parse_expression_list_~start~0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {14388#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,945 INFO L280 TraceCheckUtils]: 33: Hoare triple {14388#(<= 1 parse_expression_list_~start~0)} #t~short7 := 32 == #t~mem5; {14388#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,946 INFO L280 TraceCheckUtils]: 34: Hoare triple {14388#(<= 1 parse_expression_list_~start~0)} assume !#t~short7; {14388#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,946 INFO L280 TraceCheckUtils]: 35: Hoare triple {14388#(<= 1 parse_expression_list_~start~0)} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {14388#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,947 INFO L280 TraceCheckUtils]: 36: Hoare triple {14388#(<= 1 parse_expression_list_~start~0)} #t~short7 := 9 == #t~mem6; {14388#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,948 INFO L280 TraceCheckUtils]: 37: Hoare triple {14388#(<= 1 parse_expression_list_~start~0)} assume !#t~short7; {14388#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,949 INFO L280 TraceCheckUtils]: 38: Hoare triple {14388#(<= 1 parse_expression_list_~start~0)} havoc #t~mem5; {14388#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,949 INFO L280 TraceCheckUtils]: 39: Hoare triple {14388#(<= 1 parse_expression_list_~start~0)} havoc #t~short7; {14388#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,950 INFO L280 TraceCheckUtils]: 40: Hoare triple {14388#(<= 1 parse_expression_list_~start~0)} havoc #t~mem6; {14388#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,951 INFO L280 TraceCheckUtils]: 41: Hoare triple {14388#(<= 1 parse_expression_list_~start~0)} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {14388#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,952 INFO L280 TraceCheckUtils]: 42: Hoare triple {14388#(<= 1 parse_expression_list_~start~0)} assume 34 == #t~mem9; {14388#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,952 INFO L280 TraceCheckUtils]: 43: Hoare triple {14388#(<= 1 parse_expression_list_~start~0)} havoc #t~mem9; {14388#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,953 INFO L280 TraceCheckUtils]: 44: Hoare triple {14388#(<= 1 parse_expression_list_~start~0)} #t~post10 := ~start~0; {14389#(<= 1 |parse_expression_list_#t~post10|)} is VALID [2020-07-18 06:35:12,954 INFO L280 TraceCheckUtils]: 45: Hoare triple {14389#(<= 1 |parse_expression_list_#t~post10|)} ~start~0 := 1 + #t~post10; {14390#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,955 INFO L280 TraceCheckUtils]: 46: Hoare triple {14390#(<= 2 parse_expression_list_~start~0)} havoc #t~post10; {14390#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,956 INFO L280 TraceCheckUtils]: 47: Hoare triple {14390#(<= 2 parse_expression_list_~start~0)} ~j~0 := ~i~0 - 1; {14390#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,957 INFO L280 TraceCheckUtils]: 48: Hoare triple {14390#(<= 2 parse_expression_list_~start~0)} #t~short14 := 0 < ~j~0; {14391#(or (<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0) |parse_expression_list_#t~short14|)} is VALID [2020-07-18 06:35:12,959 INFO L280 TraceCheckUtils]: 49: Hoare triple {14391#(or (<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0) |parse_expression_list_#t~short14|)} assume !#t~short14; {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,960 INFO L280 TraceCheckUtils]: 50: Hoare triple {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short14; {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,960 INFO L280 TraceCheckUtils]: 51: Hoare triple {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short14; {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,961 INFO L280 TraceCheckUtils]: 52: Hoare triple {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short13; {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,962 INFO L280 TraceCheckUtils]: 53: Hoare triple {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem12; {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,963 INFO L280 TraceCheckUtils]: 54: Hoare triple {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem11; {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,964 INFO L280 TraceCheckUtils]: 55: Hoare triple {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #t~short17 := 0 < ~j~0; {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,964 INFO L280 TraceCheckUtils]: 56: Hoare triple {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short17; {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,965 INFO L280 TraceCheckUtils]: 57: Hoare triple {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short17; {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,966 INFO L280 TraceCheckUtils]: 58: Hoare triple {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short17; {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,967 INFO L280 TraceCheckUtils]: 59: Hoare triple {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem16; {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,967 INFO L280 TraceCheckUtils]: 60: Hoare triple {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume ~start~0 <= ~j~0; {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,968 INFO L263 TraceCheckUtils]: 61: Hoare triple {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} call #t~ret19.base, #t~ret19.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0, 1 + (~j~0 - ~start~0)); {14379#true} is VALID [2020-07-18 06:35:12,968 INFO L280 TraceCheckUtils]: 62: Hoare triple {14379#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {14379#true} is VALID [2020-07-18 06:35:12,968 INFO L280 TraceCheckUtils]: 63: Hoare triple {14379#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {14379#true} is VALID [2020-07-18 06:35:12,969 INFO L280 TraceCheckUtils]: 64: Hoare triple {14379#true} ~n := #in~n; {14379#true} is VALID [2020-07-18 06:35:12,969 INFO L280 TraceCheckUtils]: 65: Hoare triple {14379#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {14379#true} is VALID [2020-07-18 06:35:12,969 INFO L280 TraceCheckUtils]: 66: Hoare triple {14379#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {14379#true} is VALID [2020-07-18 06:35:12,970 INFO L280 TraceCheckUtils]: 67: Hoare triple {14379#true} havoc #t~ret0.base, #t~ret0.offset; {14379#true} is VALID [2020-07-18 06:35:12,970 INFO L280 TraceCheckUtils]: 68: Hoare triple {14379#true} assume true; {14379#true} is VALID [2020-07-18 06:35:12,972 INFO L275 TraceCheckUtils]: 69: Hoare quadruple {14379#true} {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #201#return; {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,973 INFO L280 TraceCheckUtils]: 70: Hoare triple {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~ret19.base, #t~ret19.offset; {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:12,974 INFO L263 TraceCheckUtils]: 71: Hoare triple {14392#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {14401#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-18 06:35:12,975 INFO L280 TraceCheckUtils]: 72: Hoare triple {14401#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {14402#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-18 06:35:12,975 INFO L280 TraceCheckUtils]: 73: Hoare triple {14402#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {14380#false} is VALID [2020-07-18 06:35:12,976 INFO L280 TraceCheckUtils]: 74: Hoare triple {14380#false} assume !false; {14380#false} is VALID [2020-07-18 06:35:12,985 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-18 06:35:12,986 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1515553184] [2020-07-18 06:35:12,986 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 06:35:12,986 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2020-07-18 06:35:12,986 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [229181738] [2020-07-18 06:35:12,987 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 75 [2020-07-18 06:35:12,988 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:35:12,988 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-18 06:35:13,091 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:13,091 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-18 06:35:13,092 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:35:13,092 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-18 06:35:13,092 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=109, Unknown=0, NotChecked=0, Total=132 [2020-07-18 06:35:13,093 INFO L87 Difference]: Start difference. First operand 254 states and 285 transitions. Second operand 12 states. [2020-07-18 06:35:16,290 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:16,290 INFO L93 Difference]: Finished difference Result 460 states and 517 transitions. [2020-07-18 06:35:16,290 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-18 06:35:16,290 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 75 [2020-07-18 06:35:16,291 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:35:16,291 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-18 06:35:16,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 423 transitions. [2020-07-18 06:35:16,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-18 06:35:16,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 423 transitions. [2020-07-18 06:35:16,306 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 423 transitions. [2020-07-18 06:35:16,764 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 423 edges. 423 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:16,775 INFO L225 Difference]: With dead ends: 460 [2020-07-18 06:35:16,775 INFO L226 Difference]: Without dead ends: 367 [2020-07-18 06:35:16,776 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=391, Unknown=0, NotChecked=0, Total=462 [2020-07-18 06:35:16,777 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 367 states. [2020-07-18 06:35:17,152 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 367 to 258. [2020-07-18 06:35:17,152 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:35:17,153 INFO L82 GeneralOperation]: Start isEquivalent. First operand 367 states. Second operand 258 states. [2020-07-18 06:35:17,153 INFO L74 IsIncluded]: Start isIncluded. First operand 367 states. Second operand 258 states. [2020-07-18 06:35:17,153 INFO L87 Difference]: Start difference. First operand 367 states. Second operand 258 states. [2020-07-18 06:35:17,165 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:17,165 INFO L93 Difference]: Finished difference Result 367 states and 413 transitions. [2020-07-18 06:35:17,165 INFO L276 IsEmpty]: Start isEmpty. Operand 367 states and 413 transitions. [2020-07-18 06:35:17,166 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:17,167 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:17,167 INFO L74 IsIncluded]: Start isIncluded. First operand 258 states. Second operand 367 states. [2020-07-18 06:35:17,167 INFO L87 Difference]: Start difference. First operand 258 states. Second operand 367 states. [2020-07-18 06:35:17,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:17,177 INFO L93 Difference]: Finished difference Result 367 states and 413 transitions. [2020-07-18 06:35:17,177 INFO L276 IsEmpty]: Start isEmpty. Operand 367 states and 413 transitions. [2020-07-18 06:35:17,178 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:17,178 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:17,179 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:35:17,179 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:35:17,179 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 258 states. [2020-07-18 06:35:17,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 258 states to 258 states and 289 transitions. [2020-07-18 06:35:17,185 INFO L78 Accepts]: Start accepts. Automaton has 258 states and 289 transitions. Word has length 75 [2020-07-18 06:35:17,185 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:35:17,185 INFO L479 AbstractCegarLoop]: Abstraction has 258 states and 289 transitions. [2020-07-18 06:35:17,185 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-18 06:35:17,186 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 258 states and 289 transitions. [2020-07-18 06:35:17,575 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 289 edges. 289 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:17,575 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 289 transitions. [2020-07-18 06:35:17,577 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2020-07-18 06:35:17,577 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:35:17,577 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 06:35:17,578 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2020-07-18 06:35:17,578 INFO L427 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:35:17,578 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:35:17,579 INFO L82 PathProgramCache]: Analyzing trace with hash 1908172287, now seen corresponding path program 1 times [2020-07-18 06:35:17,579 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:35:17,579 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2079575397] [2020-07-18 06:35:17,580 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:35:17,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:17,682 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:17,691 INFO L280 TraceCheckUtils]: 0: Hoare triple {16616#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {16596#true} is VALID [2020-07-18 06:35:17,691 INFO L280 TraceCheckUtils]: 1: Hoare triple {16596#true} #valid := #valid[0 := 0]; {16596#true} is VALID [2020-07-18 06:35:17,692 INFO L280 TraceCheckUtils]: 2: Hoare triple {16596#true} assume 0 < #StackHeapBarrier; {16596#true} is VALID [2020-07-18 06:35:17,692 INFO L280 TraceCheckUtils]: 3: Hoare triple {16596#true} assume true; {16596#true} is VALID [2020-07-18 06:35:17,692 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {16596#true} {16596#true} #205#return; {16596#true} is VALID [2020-07-18 06:35:17,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:17,695 INFO L280 TraceCheckUtils]: 0: Hoare triple {16596#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {16596#true} is VALID [2020-07-18 06:35:17,696 INFO L280 TraceCheckUtils]: 1: Hoare triple {16596#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {16596#true} is VALID [2020-07-18 06:35:17,696 INFO L280 TraceCheckUtils]: 2: Hoare triple {16596#true} ~n := #in~n; {16596#true} is VALID [2020-07-18 06:35:17,696 INFO L280 TraceCheckUtils]: 3: Hoare triple {16596#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {16596#true} is VALID [2020-07-18 06:35:17,696 INFO L280 TraceCheckUtils]: 4: Hoare triple {16596#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {16596#true} is VALID [2020-07-18 06:35:17,697 INFO L280 TraceCheckUtils]: 5: Hoare triple {16596#true} havoc #t~ret0.base, #t~ret0.offset; {16596#true} is VALID [2020-07-18 06:35:17,697 INFO L280 TraceCheckUtils]: 6: Hoare triple {16596#true} assume true; {16596#true} is VALID [2020-07-18 06:35:17,697 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {16596#true} {16597#false} #201#return; {16597#false} is VALID [2020-07-18 06:35:17,698 INFO L263 TraceCheckUtils]: 0: Hoare triple {16596#true} call ULTIMATE.init(); {16616#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:35:17,698 INFO L280 TraceCheckUtils]: 1: Hoare triple {16616#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {16596#true} is VALID [2020-07-18 06:35:17,698 INFO L280 TraceCheckUtils]: 2: Hoare triple {16596#true} #valid := #valid[0 := 0]; {16596#true} is VALID [2020-07-18 06:35:17,699 INFO L280 TraceCheckUtils]: 3: Hoare triple {16596#true} assume 0 < #StackHeapBarrier; {16596#true} is VALID [2020-07-18 06:35:17,699 INFO L280 TraceCheckUtils]: 4: Hoare triple {16596#true} assume true; {16596#true} is VALID [2020-07-18 06:35:17,699 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {16596#true} {16596#true} #205#return; {16596#true} is VALID [2020-07-18 06:35:17,699 INFO L263 TraceCheckUtils]: 6: Hoare triple {16596#true} call #t~ret21 := main(); {16596#true} is VALID [2020-07-18 06:35:17,699 INFO L280 TraceCheckUtils]: 7: Hoare triple {16596#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {16596#true} is VALID [2020-07-18 06:35:17,700 INFO L280 TraceCheckUtils]: 8: Hoare triple {16596#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {16596#true} is VALID [2020-07-18 06:35:17,700 INFO L263 TraceCheckUtils]: 9: Hoare triple {16596#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {16596#true} is VALID [2020-07-18 06:35:17,700 INFO L280 TraceCheckUtils]: 10: Hoare triple {16596#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {16596#true} is VALID [2020-07-18 06:35:17,701 INFO L280 TraceCheckUtils]: 11: Hoare triple {16596#true} ~start~0 := 0; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,701 INFO L280 TraceCheckUtils]: 12: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} ~i~0 := -1; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,702 INFO L280 TraceCheckUtils]: 13: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} ~j~0 := -1; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,702 INFO L280 TraceCheckUtils]: 14: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,703 INFO L280 TraceCheckUtils]: 15: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} assume !(~str.base == 0 && ~str.offset == 0); {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,703 INFO L280 TraceCheckUtils]: 16: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} #t~post2 := ~i~0; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,704 INFO L280 TraceCheckUtils]: 17: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} ~i~0 := 1 + #t~post2; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,704 INFO L280 TraceCheckUtils]: 18: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} havoc #t~post2; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,705 INFO L280 TraceCheckUtils]: 19: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,705 INFO L280 TraceCheckUtils]: 20: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} #t~switch4 := 0 == #t~mem3; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,706 INFO L280 TraceCheckUtils]: 21: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} assume !#t~switch4; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,706 INFO L280 TraceCheckUtils]: 22: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} havoc #t~switch4; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,707 INFO L280 TraceCheckUtils]: 23: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} havoc #t~mem3; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,707 INFO L280 TraceCheckUtils]: 24: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem1 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L51-1 {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,708 INFO L280 TraceCheckUtils]: 25: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} assume !!(0 != #t~mem1); {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,708 INFO L280 TraceCheckUtils]: 26: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} havoc #t~mem1; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,709 INFO L280 TraceCheckUtils]: 27: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} #t~post2 := ~i~0; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,709 INFO L280 TraceCheckUtils]: 28: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} ~i~0 := 1 + #t~post2; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,710 INFO L280 TraceCheckUtils]: 29: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} havoc #t~post2; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,710 INFO L280 TraceCheckUtils]: 30: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,710 INFO L280 TraceCheckUtils]: 31: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} #t~switch4 := 0 == #t~mem3; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,711 INFO L280 TraceCheckUtils]: 32: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} assume #t~switch4; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,711 INFO L280 TraceCheckUtils]: 33: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,712 INFO L280 TraceCheckUtils]: 34: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} #t~short7 := 32 == #t~mem5; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,712 INFO L280 TraceCheckUtils]: 35: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} assume !#t~short7; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,713 INFO L280 TraceCheckUtils]: 36: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,713 INFO L280 TraceCheckUtils]: 37: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} #t~short7 := 9 == #t~mem6; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,714 INFO L280 TraceCheckUtils]: 38: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} assume !#t~short7; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,714 INFO L280 TraceCheckUtils]: 39: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} havoc #t~mem5; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,715 INFO L280 TraceCheckUtils]: 40: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} havoc #t~short7; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,715 INFO L280 TraceCheckUtils]: 41: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} havoc #t~mem6; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,716 INFO L280 TraceCheckUtils]: 42: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,716 INFO L280 TraceCheckUtils]: 43: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} assume 34 == #t~mem9; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,717 INFO L280 TraceCheckUtils]: 44: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} havoc #t~mem9; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,718 INFO L280 TraceCheckUtils]: 45: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} #t~post10 := ~start~0; {16604#(= 0 |parse_expression_list_#t~post10|)} is VALID [2020-07-18 06:35:17,718 INFO L280 TraceCheckUtils]: 46: Hoare triple {16604#(= 0 |parse_expression_list_#t~post10|)} ~start~0 := 1 + #t~post10; {16605#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,719 INFO L280 TraceCheckUtils]: 47: Hoare triple {16605#(<= 1 parse_expression_list_~start~0)} havoc #t~post10; {16605#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,719 INFO L280 TraceCheckUtils]: 48: Hoare triple {16605#(<= 1 parse_expression_list_~start~0)} ~j~0 := ~i~0 - 1; {16605#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,720 INFO L280 TraceCheckUtils]: 49: Hoare triple {16605#(<= 1 parse_expression_list_~start~0)} #t~short14 := 0 < ~j~0; {16606#(or (<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0) |parse_expression_list_#t~short14|)} is VALID [2020-07-18 06:35:17,721 INFO L280 TraceCheckUtils]: 50: Hoare triple {16606#(or (<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0) |parse_expression_list_#t~short14|)} assume !#t~short14; {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,721 INFO L280 TraceCheckUtils]: 51: Hoare triple {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} assume !#t~short14; {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,721 INFO L280 TraceCheckUtils]: 52: Hoare triple {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} havoc #t~short14; {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,722 INFO L280 TraceCheckUtils]: 53: Hoare triple {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} havoc #t~short13; {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,722 INFO L280 TraceCheckUtils]: 54: Hoare triple {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} havoc #t~mem12; {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,723 INFO L280 TraceCheckUtils]: 55: Hoare triple {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} havoc #t~mem11; {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,723 INFO L280 TraceCheckUtils]: 56: Hoare triple {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} #t~short17 := 0 < ~j~0; {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,723 INFO L280 TraceCheckUtils]: 57: Hoare triple {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} assume !#t~short17; {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,724 INFO L280 TraceCheckUtils]: 58: Hoare triple {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} assume !#t~short17; {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,724 INFO L280 TraceCheckUtils]: 59: Hoare triple {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} havoc #t~short17; {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,725 INFO L280 TraceCheckUtils]: 60: Hoare triple {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} havoc #t~mem16; {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:17,725 INFO L280 TraceCheckUtils]: 61: Hoare triple {16607#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} assume ~start~0 <= ~j~0; {16597#false} is VALID [2020-07-18 06:35:17,725 INFO L263 TraceCheckUtils]: 62: Hoare triple {16597#false} call #t~ret19.base, #t~ret19.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0, 1 + (~j~0 - ~start~0)); {16596#true} is VALID [2020-07-18 06:35:17,725 INFO L280 TraceCheckUtils]: 63: Hoare triple {16596#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {16596#true} is VALID [2020-07-18 06:35:17,725 INFO L280 TraceCheckUtils]: 64: Hoare triple {16596#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {16596#true} is VALID [2020-07-18 06:35:17,726 INFO L280 TraceCheckUtils]: 65: Hoare triple {16596#true} ~n := #in~n; {16596#true} is VALID [2020-07-18 06:35:17,726 INFO L280 TraceCheckUtils]: 66: Hoare triple {16596#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {16596#true} is VALID [2020-07-18 06:35:17,726 INFO L280 TraceCheckUtils]: 67: Hoare triple {16596#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {16596#true} is VALID [2020-07-18 06:35:17,726 INFO L280 TraceCheckUtils]: 68: Hoare triple {16596#true} havoc #t~ret0.base, #t~ret0.offset; {16596#true} is VALID [2020-07-18 06:35:17,726 INFO L280 TraceCheckUtils]: 69: Hoare triple {16596#true} assume true; {16596#true} is VALID [2020-07-18 06:35:17,726 INFO L275 TraceCheckUtils]: 70: Hoare quadruple {16596#true} {16597#false} #201#return; {16597#false} is VALID [2020-07-18 06:35:17,726 INFO L280 TraceCheckUtils]: 71: Hoare triple {16597#false} havoc #t~ret19.base, #t~ret19.offset; {16597#false} is VALID [2020-07-18 06:35:17,727 INFO L263 TraceCheckUtils]: 72: Hoare triple {16597#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {16597#false} is VALID [2020-07-18 06:35:17,727 INFO L280 TraceCheckUtils]: 73: Hoare triple {16597#false} ~cond := #in~cond; {16597#false} is VALID [2020-07-18 06:35:17,727 INFO L280 TraceCheckUtils]: 74: Hoare triple {16597#false} assume 0 == ~cond; {16597#false} is VALID [2020-07-18 06:35:17,727 INFO L280 TraceCheckUtils]: 75: Hoare triple {16597#false} assume !false; {16597#false} is VALID [2020-07-18 06:35:17,732 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2020-07-18 06:35:17,732 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2079575397] [2020-07-18 06:35:17,732 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 06:35:17,733 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2020-07-18 06:35:17,733 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [279293075] [2020-07-18 06:35:17,733 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 76 [2020-07-18 06:35:17,734 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:35:17,734 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-18 06:35:17,819 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:17,820 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-18 06:35:17,820 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:35:17,820 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-18 06:35:17,820 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2020-07-18 06:35:17,820 INFO L87 Difference]: Start difference. First operand 258 states and 289 transitions. Second operand 8 states. [2020-07-18 06:35:19,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:19,727 INFO L93 Difference]: Finished difference Result 432 states and 485 transitions. [2020-07-18 06:35:19,728 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-18 06:35:19,728 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 76 [2020-07-18 06:35:19,728 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:35:19,728 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-18 06:35:19,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 353 transitions. [2020-07-18 06:35:19,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-18 06:35:19,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 353 transitions. [2020-07-18 06:35:19,734 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 353 transitions. [2020-07-18 06:35:20,223 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 353 edges. 353 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:20,233 INFO L225 Difference]: With dead ends: 432 [2020-07-18 06:35:20,233 INFO L226 Difference]: Without dead ends: 339 [2020-07-18 06:35:20,234 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=63, Invalid=177, Unknown=0, NotChecked=0, Total=240 [2020-07-18 06:35:20,234 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 339 states. [2020-07-18 06:35:20,639 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 339 to 258. [2020-07-18 06:35:20,639 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:35:20,639 INFO L82 GeneralOperation]: Start isEquivalent. First operand 339 states. Second operand 258 states. [2020-07-18 06:35:20,639 INFO L74 IsIncluded]: Start isIncluded. First operand 339 states. Second operand 258 states. [2020-07-18 06:35:20,640 INFO L87 Difference]: Start difference. First operand 339 states. Second operand 258 states. [2020-07-18 06:35:20,648 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:20,648 INFO L93 Difference]: Finished difference Result 339 states and 381 transitions. [2020-07-18 06:35:20,648 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 381 transitions. [2020-07-18 06:35:20,649 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:20,649 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:20,649 INFO L74 IsIncluded]: Start isIncluded. First operand 258 states. Second operand 339 states. [2020-07-18 06:35:20,650 INFO L87 Difference]: Start difference. First operand 258 states. Second operand 339 states. [2020-07-18 06:35:20,658 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:20,659 INFO L93 Difference]: Finished difference Result 339 states and 381 transitions. [2020-07-18 06:35:20,659 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 381 transitions. [2020-07-18 06:35:20,660 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:20,660 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:20,660 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:35:20,661 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:35:20,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 258 states. [2020-07-18 06:35:20,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 258 states to 258 states and 289 transitions. [2020-07-18 06:35:20,667 INFO L78 Accepts]: Start accepts. Automaton has 258 states and 289 transitions. Word has length 76 [2020-07-18 06:35:20,667 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:35:20,667 INFO L479 AbstractCegarLoop]: Abstraction has 258 states and 289 transitions. [2020-07-18 06:35:20,667 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-18 06:35:20,667 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 258 states and 289 transitions. [2020-07-18 06:35:21,052 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 289 edges. 289 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:21,052 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 289 transitions. [2020-07-18 06:35:21,054 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2020-07-18 06:35:21,054 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:35:21,055 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 06:35:21,055 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2020-07-18 06:35:21,055 INFO L427 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:35:21,055 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:35:21,055 INFO L82 PathProgramCache]: Analyzing trace with hash 116425250, now seen corresponding path program 1 times [2020-07-18 06:35:21,056 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:35:21,056 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1115403868] [2020-07-18 06:35:21,056 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:35:21,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:21,103 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:21,105 INFO L280 TraceCheckUtils]: 0: Hoare triple {18710#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {18693#true} is VALID [2020-07-18 06:35:21,105 INFO L280 TraceCheckUtils]: 1: Hoare triple {18693#true} #valid := #valid[0 := 0]; {18693#true} is VALID [2020-07-18 06:35:21,106 INFO L280 TraceCheckUtils]: 2: Hoare triple {18693#true} assume 0 < #StackHeapBarrier; {18693#true} is VALID [2020-07-18 06:35:21,106 INFO L280 TraceCheckUtils]: 3: Hoare triple {18693#true} assume true; {18693#true} is VALID [2020-07-18 06:35:21,106 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {18693#true} {18693#true} #205#return; {18693#true} is VALID [2020-07-18 06:35:21,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:21,109 INFO L280 TraceCheckUtils]: 0: Hoare triple {18693#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {18693#true} is VALID [2020-07-18 06:35:21,109 INFO L280 TraceCheckUtils]: 1: Hoare triple {18693#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {18693#true} is VALID [2020-07-18 06:35:21,110 INFO L280 TraceCheckUtils]: 2: Hoare triple {18693#true} ~n := #in~n; {18693#true} is VALID [2020-07-18 06:35:21,110 INFO L280 TraceCheckUtils]: 3: Hoare triple {18693#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {18693#true} is VALID [2020-07-18 06:35:21,110 INFO L280 TraceCheckUtils]: 4: Hoare triple {18693#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {18693#true} is VALID [2020-07-18 06:35:21,110 INFO L280 TraceCheckUtils]: 5: Hoare triple {18693#true} havoc #t~ret0.base, #t~ret0.offset; {18693#true} is VALID [2020-07-18 06:35:21,110 INFO L280 TraceCheckUtils]: 6: Hoare triple {18693#true} assume true; {18693#true} is VALID [2020-07-18 06:35:21,111 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {18693#true} {18694#false} #201#return; {18694#false} is VALID [2020-07-18 06:35:21,111 INFO L263 TraceCheckUtils]: 0: Hoare triple {18693#true} call ULTIMATE.init(); {18710#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:35:21,112 INFO L280 TraceCheckUtils]: 1: Hoare triple {18710#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {18693#true} is VALID [2020-07-18 06:35:21,112 INFO L280 TraceCheckUtils]: 2: Hoare triple {18693#true} #valid := #valid[0 := 0]; {18693#true} is VALID [2020-07-18 06:35:21,112 INFO L280 TraceCheckUtils]: 3: Hoare triple {18693#true} assume 0 < #StackHeapBarrier; {18693#true} is VALID [2020-07-18 06:35:21,112 INFO L280 TraceCheckUtils]: 4: Hoare triple {18693#true} assume true; {18693#true} is VALID [2020-07-18 06:35:21,112 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {18693#true} {18693#true} #205#return; {18693#true} is VALID [2020-07-18 06:35:21,113 INFO L263 TraceCheckUtils]: 6: Hoare triple {18693#true} call #t~ret21 := main(); {18693#true} is VALID [2020-07-18 06:35:21,113 INFO L280 TraceCheckUtils]: 7: Hoare triple {18693#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {18693#true} is VALID [2020-07-18 06:35:21,113 INFO L280 TraceCheckUtils]: 8: Hoare triple {18693#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {18693#true} is VALID [2020-07-18 06:35:21,113 INFO L263 TraceCheckUtils]: 9: Hoare triple {18693#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {18693#true} is VALID [2020-07-18 06:35:21,113 INFO L280 TraceCheckUtils]: 10: Hoare triple {18693#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {18693#true} is VALID [2020-07-18 06:35:21,114 INFO L280 TraceCheckUtils]: 11: Hoare triple {18693#true} ~start~0 := 0; {18693#true} is VALID [2020-07-18 06:35:21,114 INFO L280 TraceCheckUtils]: 12: Hoare triple {18693#true} ~i~0 := -1; {18693#true} is VALID [2020-07-18 06:35:21,114 INFO L280 TraceCheckUtils]: 13: Hoare triple {18693#true} ~j~0 := -1; {18693#true} is VALID [2020-07-18 06:35:21,114 INFO L280 TraceCheckUtils]: 14: Hoare triple {18693#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {18693#true} is VALID [2020-07-18 06:35:21,114 INFO L280 TraceCheckUtils]: 15: Hoare triple {18693#true} assume !(~str.base == 0 && ~str.offset == 0); {18693#true} is VALID [2020-07-18 06:35:21,115 INFO L280 TraceCheckUtils]: 16: Hoare triple {18693#true} #t~post2 := ~i~0; {18693#true} is VALID [2020-07-18 06:35:21,115 INFO L280 TraceCheckUtils]: 17: Hoare triple {18693#true} ~i~0 := 1 + #t~post2; {18693#true} is VALID [2020-07-18 06:35:21,115 INFO L280 TraceCheckUtils]: 18: Hoare triple {18693#true} havoc #t~post2; {18693#true} is VALID [2020-07-18 06:35:21,115 INFO L280 TraceCheckUtils]: 19: Hoare triple {18693#true} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {18693#true} is VALID [2020-07-18 06:35:21,115 INFO L280 TraceCheckUtils]: 20: Hoare triple {18693#true} #t~switch4 := 0 == #t~mem3; {18693#true} is VALID [2020-07-18 06:35:21,115 INFO L280 TraceCheckUtils]: 21: Hoare triple {18693#true} assume #t~switch4; {18693#true} is VALID [2020-07-18 06:35:21,116 INFO L280 TraceCheckUtils]: 22: Hoare triple {18693#true} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {18693#true} is VALID [2020-07-18 06:35:21,116 INFO L280 TraceCheckUtils]: 23: Hoare triple {18693#true} #t~short7 := 32 == #t~mem5; {18693#true} is VALID [2020-07-18 06:35:21,116 INFO L280 TraceCheckUtils]: 24: Hoare triple {18693#true} assume #t~short7; {18693#true} is VALID [2020-07-18 06:35:21,116 INFO L280 TraceCheckUtils]: 25: Hoare triple {18693#true} assume !!#t~short7; {18693#true} is VALID [2020-07-18 06:35:21,116 INFO L280 TraceCheckUtils]: 26: Hoare triple {18693#true} havoc #t~mem5; {18693#true} is VALID [2020-07-18 06:35:21,117 INFO L280 TraceCheckUtils]: 27: Hoare triple {18693#true} havoc #t~short7; {18693#true} is VALID [2020-07-18 06:35:21,117 INFO L280 TraceCheckUtils]: 28: Hoare triple {18693#true} havoc #t~mem6; {18693#true} is VALID [2020-07-18 06:35:21,117 INFO L280 TraceCheckUtils]: 29: Hoare triple {18693#true} #t~post8 := ~start~0; {18693#true} is VALID [2020-07-18 06:35:21,117 INFO L280 TraceCheckUtils]: 30: Hoare triple {18693#true} ~start~0 := 1 + #t~post8; {18693#true} is VALID [2020-07-18 06:35:21,117 INFO L280 TraceCheckUtils]: 31: Hoare triple {18693#true} havoc #t~post8; {18693#true} is VALID [2020-07-18 06:35:21,118 INFO L280 TraceCheckUtils]: 32: Hoare triple {18693#true} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {18693#true} is VALID [2020-07-18 06:35:21,118 INFO L280 TraceCheckUtils]: 33: Hoare triple {18693#true} #t~short7 := 32 == #t~mem5; {18693#true} is VALID [2020-07-18 06:35:21,118 INFO L280 TraceCheckUtils]: 34: Hoare triple {18693#true} assume !#t~short7; {18693#true} is VALID [2020-07-18 06:35:21,118 INFO L280 TraceCheckUtils]: 35: Hoare triple {18693#true} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {18693#true} is VALID [2020-07-18 06:35:21,118 INFO L280 TraceCheckUtils]: 36: Hoare triple {18693#true} #t~short7 := 9 == #t~mem6; {18693#true} is VALID [2020-07-18 06:35:21,118 INFO L280 TraceCheckUtils]: 37: Hoare triple {18693#true} assume !#t~short7; {18693#true} is VALID [2020-07-18 06:35:21,119 INFO L280 TraceCheckUtils]: 38: Hoare triple {18693#true} havoc #t~mem5; {18693#true} is VALID [2020-07-18 06:35:21,119 INFO L280 TraceCheckUtils]: 39: Hoare triple {18693#true} havoc #t~short7; {18693#true} is VALID [2020-07-18 06:35:21,119 INFO L280 TraceCheckUtils]: 40: Hoare triple {18693#true} havoc #t~mem6; {18693#true} is VALID [2020-07-18 06:35:21,119 INFO L280 TraceCheckUtils]: 41: Hoare triple {18693#true} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {18693#true} is VALID [2020-07-18 06:35:21,119 INFO L280 TraceCheckUtils]: 42: Hoare triple {18693#true} assume !(34 == #t~mem9); {18693#true} is VALID [2020-07-18 06:35:21,120 INFO L280 TraceCheckUtils]: 43: Hoare triple {18693#true} havoc #t~mem9; {18693#true} is VALID [2020-07-18 06:35:21,120 INFO L280 TraceCheckUtils]: 44: Hoare triple {18693#true} ~j~0 := ~i~0 - 1; {18693#true} is VALID [2020-07-18 06:35:21,120 INFO L280 TraceCheckUtils]: 45: Hoare triple {18693#true} #t~short14 := 0 < ~j~0; {18693#true} is VALID [2020-07-18 06:35:21,120 INFO L280 TraceCheckUtils]: 46: Hoare triple {18693#true} assume #t~short14; {18693#true} is VALID [2020-07-18 06:35:21,120 INFO L280 TraceCheckUtils]: 47: Hoare triple {18693#true} SUMMARY for call #t~mem11 := read~int(~str.base, ~str.offset + ~j~0, 1); srcloc: L58-2 {18693#true} is VALID [2020-07-18 06:35:21,121 INFO L280 TraceCheckUtils]: 48: Hoare triple {18693#true} #t~short13 := 32 == #t~mem11; {18693#true} is VALID [2020-07-18 06:35:21,124 INFO L280 TraceCheckUtils]: 49: Hoare triple {18693#true} assume #t~short13; {18700#|parse_expression_list_#t~short13|} is VALID [2020-07-18 06:35:21,124 INFO L280 TraceCheckUtils]: 50: Hoare triple {18700#|parse_expression_list_#t~short13|} #t~short14 := #t~short13; {18701#|parse_expression_list_#t~short14|} is VALID [2020-07-18 06:35:21,125 INFO L280 TraceCheckUtils]: 51: Hoare triple {18701#|parse_expression_list_#t~short14|} assume !#t~short14; {18694#false} is VALID [2020-07-18 06:35:21,125 INFO L280 TraceCheckUtils]: 52: Hoare triple {18694#false} havoc #t~short14; {18694#false} is VALID [2020-07-18 06:35:21,125 INFO L280 TraceCheckUtils]: 53: Hoare triple {18694#false} havoc #t~short13; {18694#false} is VALID [2020-07-18 06:35:21,126 INFO L280 TraceCheckUtils]: 54: Hoare triple {18694#false} havoc #t~mem12; {18694#false} is VALID [2020-07-18 06:35:21,126 INFO L280 TraceCheckUtils]: 55: Hoare triple {18694#false} havoc #t~mem11; {18694#false} is VALID [2020-07-18 06:35:21,126 INFO L280 TraceCheckUtils]: 56: Hoare triple {18694#false} #t~short17 := 0 < ~j~0; {18694#false} is VALID [2020-07-18 06:35:21,126 INFO L280 TraceCheckUtils]: 57: Hoare triple {18694#false} assume !#t~short17; {18694#false} is VALID [2020-07-18 06:35:21,126 INFO L280 TraceCheckUtils]: 58: Hoare triple {18694#false} assume !#t~short17; {18694#false} is VALID [2020-07-18 06:35:21,126 INFO L280 TraceCheckUtils]: 59: Hoare triple {18694#false} havoc #t~short17; {18694#false} is VALID [2020-07-18 06:35:21,127 INFO L280 TraceCheckUtils]: 60: Hoare triple {18694#false} havoc #t~mem16; {18694#false} is VALID [2020-07-18 06:35:21,127 INFO L280 TraceCheckUtils]: 61: Hoare triple {18694#false} assume ~start~0 <= ~j~0; {18694#false} is VALID [2020-07-18 06:35:21,127 INFO L263 TraceCheckUtils]: 62: Hoare triple {18694#false} call #t~ret19.base, #t~ret19.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0, 1 + (~j~0 - ~start~0)); {18693#true} is VALID [2020-07-18 06:35:21,127 INFO L280 TraceCheckUtils]: 63: Hoare triple {18693#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {18693#true} is VALID [2020-07-18 06:35:21,127 INFO L280 TraceCheckUtils]: 64: Hoare triple {18693#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {18693#true} is VALID [2020-07-18 06:35:21,128 INFO L280 TraceCheckUtils]: 65: Hoare triple {18693#true} ~n := #in~n; {18693#true} is VALID [2020-07-18 06:35:21,128 INFO L280 TraceCheckUtils]: 66: Hoare triple {18693#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {18693#true} is VALID [2020-07-18 06:35:21,128 INFO L280 TraceCheckUtils]: 67: Hoare triple {18693#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {18693#true} is VALID [2020-07-18 06:35:21,128 INFO L280 TraceCheckUtils]: 68: Hoare triple {18693#true} havoc #t~ret0.base, #t~ret0.offset; {18693#true} is VALID [2020-07-18 06:35:21,128 INFO L280 TraceCheckUtils]: 69: Hoare triple {18693#true} assume true; {18693#true} is VALID [2020-07-18 06:35:21,129 INFO L275 TraceCheckUtils]: 70: Hoare quadruple {18693#true} {18694#false} #201#return; {18694#false} is VALID [2020-07-18 06:35:21,129 INFO L280 TraceCheckUtils]: 71: Hoare triple {18694#false} havoc #t~ret19.base, #t~ret19.offset; {18694#false} is VALID [2020-07-18 06:35:21,129 INFO L263 TraceCheckUtils]: 72: Hoare triple {18694#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {18694#false} is VALID [2020-07-18 06:35:21,129 INFO L280 TraceCheckUtils]: 73: Hoare triple {18694#false} ~cond := #in~cond; {18694#false} is VALID [2020-07-18 06:35:21,129 INFO L280 TraceCheckUtils]: 74: Hoare triple {18694#false} assume 0 == ~cond; {18694#false} is VALID [2020-07-18 06:35:21,130 INFO L280 TraceCheckUtils]: 75: Hoare triple {18694#false} assume !false; {18694#false} is VALID [2020-07-18 06:35:21,133 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-18 06:35:21,133 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1115403868] [2020-07-18 06:35:21,133 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 06:35:21,133 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-18 06:35:21,134 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1680044277] [2020-07-18 06:35:21,134 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 76 [2020-07-18 06:35:21,134 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:35:21,135 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-18 06:35:21,205 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-18 06:35:21,205 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-18 06:35:21,205 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:35:21,205 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-18 06:35:21,206 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-18 06:35:21,206 INFO L87 Difference]: Start difference. First operand 258 states and 289 transitions. Second operand 5 states. [2020-07-18 06:35:22,352 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:22,353 INFO L93 Difference]: Finished difference Result 363 states and 406 transitions. [2020-07-18 06:35:22,353 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-18 06:35:22,353 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 76 [2020-07-18 06:35:22,354 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:35:22,354 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-18 06:35:22,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 211 transitions. [2020-07-18 06:35:22,358 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-18 06:35:22,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 211 transitions. [2020-07-18 06:35:22,361 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 211 transitions. [2020-07-18 06:35:22,662 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 211 edges. 211 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:22,671 INFO L225 Difference]: With dead ends: 363 [2020-07-18 06:35:22,672 INFO L226 Difference]: Without dead ends: 274 [2020-07-18 06:35:22,674 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 5 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-18 06:35:22,675 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 274 states. [2020-07-18 06:35:23,094 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 274 to 260. [2020-07-18 06:35:23,095 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:35:23,095 INFO L82 GeneralOperation]: Start isEquivalent. First operand 274 states. Second operand 260 states. [2020-07-18 06:35:23,095 INFO L74 IsIncluded]: Start isIncluded. First operand 274 states. Second operand 260 states. [2020-07-18 06:35:23,095 INFO L87 Difference]: Start difference. First operand 274 states. Second operand 260 states. [2020-07-18 06:35:23,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:23,102 INFO L93 Difference]: Finished difference Result 274 states and 305 transitions. [2020-07-18 06:35:23,102 INFO L276 IsEmpty]: Start isEmpty. Operand 274 states and 305 transitions. [2020-07-18 06:35:23,103 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:23,103 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:23,103 INFO L74 IsIncluded]: Start isIncluded. First operand 260 states. Second operand 274 states. [2020-07-18 06:35:23,104 INFO L87 Difference]: Start difference. First operand 260 states. Second operand 274 states. [2020-07-18 06:35:23,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:23,110 INFO L93 Difference]: Finished difference Result 274 states and 305 transitions. [2020-07-18 06:35:23,110 INFO L276 IsEmpty]: Start isEmpty. Operand 274 states and 305 transitions. [2020-07-18 06:35:23,111 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:23,111 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:23,112 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:35:23,112 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:35:23,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 260 states. [2020-07-18 06:35:23,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 260 states to 260 states and 291 transitions. [2020-07-18 06:35:23,118 INFO L78 Accepts]: Start accepts. Automaton has 260 states and 291 transitions. Word has length 76 [2020-07-18 06:35:23,118 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:35:23,118 INFO L479 AbstractCegarLoop]: Abstraction has 260 states and 291 transitions. [2020-07-18 06:35:23,118 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-18 06:35:23,119 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 260 states and 291 transitions. [2020-07-18 06:35:23,529 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 291 edges. 291 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:23,530 INFO L276 IsEmpty]: Start isEmpty. Operand 260 states and 291 transitions. [2020-07-18 06:35:23,531 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2020-07-18 06:35:23,531 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:35:23,532 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 06:35:23,533 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2020-07-18 06:35:23,533 INFO L427 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:35:23,533 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:35:23,533 INFO L82 PathProgramCache]: Analyzing trace with hash -1122457453, now seen corresponding path program 1 times [2020-07-18 06:35:23,533 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:35:23,534 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2022645391] [2020-07-18 06:35:23,534 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:35:23,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:23,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:23,611 INFO L280 TraceCheckUtils]: 0: Hoare triple {20527#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {20509#true} is VALID [2020-07-18 06:35:23,612 INFO L280 TraceCheckUtils]: 1: Hoare triple {20509#true} #valid := #valid[0 := 0]; {20509#true} is VALID [2020-07-18 06:35:23,612 INFO L280 TraceCheckUtils]: 2: Hoare triple {20509#true} assume 0 < #StackHeapBarrier; {20509#true} is VALID [2020-07-18 06:35:23,612 INFO L280 TraceCheckUtils]: 3: Hoare triple {20509#true} assume true; {20509#true} is VALID [2020-07-18 06:35:23,612 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {20509#true} {20509#true} #205#return; {20509#true} is VALID [2020-07-18 06:35:23,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:23,616 INFO L280 TraceCheckUtils]: 0: Hoare triple {20509#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {20509#true} is VALID [2020-07-18 06:35:23,616 INFO L280 TraceCheckUtils]: 1: Hoare triple {20509#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {20509#true} is VALID [2020-07-18 06:35:23,617 INFO L280 TraceCheckUtils]: 2: Hoare triple {20509#true} ~n := #in~n; {20509#true} is VALID [2020-07-18 06:35:23,617 INFO L280 TraceCheckUtils]: 3: Hoare triple {20509#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {20509#true} is VALID [2020-07-18 06:35:23,617 INFO L280 TraceCheckUtils]: 4: Hoare triple {20509#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {20509#true} is VALID [2020-07-18 06:35:23,617 INFO L280 TraceCheckUtils]: 5: Hoare triple {20509#true} havoc #t~ret0.base, #t~ret0.offset; {20509#true} is VALID [2020-07-18 06:35:23,617 INFO L280 TraceCheckUtils]: 6: Hoare triple {20509#true} assume true; {20509#true} is VALID [2020-07-18 06:35:23,618 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {20509#true} {20510#false} #201#return; {20510#false} is VALID [2020-07-18 06:35:23,619 INFO L263 TraceCheckUtils]: 0: Hoare triple {20509#true} call ULTIMATE.init(); {20527#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:35:23,619 INFO L280 TraceCheckUtils]: 1: Hoare triple {20527#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {20509#true} is VALID [2020-07-18 06:35:23,619 INFO L280 TraceCheckUtils]: 2: Hoare triple {20509#true} #valid := #valid[0 := 0]; {20509#true} is VALID [2020-07-18 06:35:23,619 INFO L280 TraceCheckUtils]: 3: Hoare triple {20509#true} assume 0 < #StackHeapBarrier; {20509#true} is VALID [2020-07-18 06:35:23,619 INFO L280 TraceCheckUtils]: 4: Hoare triple {20509#true} assume true; {20509#true} is VALID [2020-07-18 06:35:23,620 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {20509#true} {20509#true} #205#return; {20509#true} is VALID [2020-07-18 06:35:23,620 INFO L263 TraceCheckUtils]: 6: Hoare triple {20509#true} call #t~ret21 := main(); {20509#true} is VALID [2020-07-18 06:35:23,620 INFO L280 TraceCheckUtils]: 7: Hoare triple {20509#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {20509#true} is VALID [2020-07-18 06:35:23,620 INFO L280 TraceCheckUtils]: 8: Hoare triple {20509#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {20509#true} is VALID [2020-07-18 06:35:23,620 INFO L263 TraceCheckUtils]: 9: Hoare triple {20509#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {20509#true} is VALID [2020-07-18 06:35:23,621 INFO L280 TraceCheckUtils]: 10: Hoare triple {20509#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {20509#true} is VALID [2020-07-18 06:35:23,621 INFO L280 TraceCheckUtils]: 11: Hoare triple {20509#true} ~start~0 := 0; {20509#true} is VALID [2020-07-18 06:35:23,621 INFO L280 TraceCheckUtils]: 12: Hoare triple {20509#true} ~i~0 := -1; {20509#true} is VALID [2020-07-18 06:35:23,621 INFO L280 TraceCheckUtils]: 13: Hoare triple {20509#true} ~j~0 := -1; {20509#true} is VALID [2020-07-18 06:35:23,621 INFO L280 TraceCheckUtils]: 14: Hoare triple {20509#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {20509#true} is VALID [2020-07-18 06:35:23,621 INFO L280 TraceCheckUtils]: 15: Hoare triple {20509#true} assume !(~str.base == 0 && ~str.offset == 0); {20509#true} is VALID [2020-07-18 06:35:23,622 INFO L280 TraceCheckUtils]: 16: Hoare triple {20509#true} #t~post2 := ~i~0; {20509#true} is VALID [2020-07-18 06:35:23,622 INFO L280 TraceCheckUtils]: 17: Hoare triple {20509#true} ~i~0 := 1 + #t~post2; {20509#true} is VALID [2020-07-18 06:35:23,622 INFO L280 TraceCheckUtils]: 18: Hoare triple {20509#true} havoc #t~post2; {20509#true} is VALID [2020-07-18 06:35:23,622 INFO L280 TraceCheckUtils]: 19: Hoare triple {20509#true} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {20509#true} is VALID [2020-07-18 06:35:23,622 INFO L280 TraceCheckUtils]: 20: Hoare triple {20509#true} #t~switch4 := 0 == #t~mem3; {20509#true} is VALID [2020-07-18 06:35:23,622 INFO L280 TraceCheckUtils]: 21: Hoare triple {20509#true} assume #t~switch4; {20509#true} is VALID [2020-07-18 06:35:23,623 INFO L280 TraceCheckUtils]: 22: Hoare triple {20509#true} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {20509#true} is VALID [2020-07-18 06:35:23,623 INFO L280 TraceCheckUtils]: 23: Hoare triple {20509#true} #t~short7 := 32 == #t~mem5; {20509#true} is VALID [2020-07-18 06:35:23,623 INFO L280 TraceCheckUtils]: 24: Hoare triple {20509#true} assume #t~short7; {20509#true} is VALID [2020-07-18 06:35:23,623 INFO L280 TraceCheckUtils]: 25: Hoare triple {20509#true} assume !!#t~short7; {20509#true} is VALID [2020-07-18 06:35:23,623 INFO L280 TraceCheckUtils]: 26: Hoare triple {20509#true} havoc #t~mem5; {20509#true} is VALID [2020-07-18 06:35:23,623 INFO L280 TraceCheckUtils]: 27: Hoare triple {20509#true} havoc #t~short7; {20509#true} is VALID [2020-07-18 06:35:23,623 INFO L280 TraceCheckUtils]: 28: Hoare triple {20509#true} havoc #t~mem6; {20509#true} is VALID [2020-07-18 06:35:23,624 INFO L280 TraceCheckUtils]: 29: Hoare triple {20509#true} #t~post8 := ~start~0; {20509#true} is VALID [2020-07-18 06:35:23,624 INFO L280 TraceCheckUtils]: 30: Hoare triple {20509#true} ~start~0 := 1 + #t~post8; {20509#true} is VALID [2020-07-18 06:35:23,624 INFO L280 TraceCheckUtils]: 31: Hoare triple {20509#true} havoc #t~post8; {20509#true} is VALID [2020-07-18 06:35:23,624 INFO L280 TraceCheckUtils]: 32: Hoare triple {20509#true} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {20509#true} is VALID [2020-07-18 06:35:23,624 INFO L280 TraceCheckUtils]: 33: Hoare triple {20509#true} #t~short7 := 32 == #t~mem5; {20509#true} is VALID [2020-07-18 06:35:23,625 INFO L280 TraceCheckUtils]: 34: Hoare triple {20509#true} assume !#t~short7; {20509#true} is VALID [2020-07-18 06:35:23,625 INFO L280 TraceCheckUtils]: 35: Hoare triple {20509#true} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {20509#true} is VALID [2020-07-18 06:35:23,625 INFO L280 TraceCheckUtils]: 36: Hoare triple {20509#true} #t~short7 := 9 == #t~mem6; {20509#true} is VALID [2020-07-18 06:35:23,625 INFO L280 TraceCheckUtils]: 37: Hoare triple {20509#true} assume !#t~short7; {20509#true} is VALID [2020-07-18 06:35:23,625 INFO L280 TraceCheckUtils]: 38: Hoare triple {20509#true} havoc #t~mem5; {20509#true} is VALID [2020-07-18 06:35:23,626 INFO L280 TraceCheckUtils]: 39: Hoare triple {20509#true} havoc #t~short7; {20509#true} is VALID [2020-07-18 06:35:23,626 INFO L280 TraceCheckUtils]: 40: Hoare triple {20509#true} havoc #t~mem6; {20509#true} is VALID [2020-07-18 06:35:23,626 INFO L280 TraceCheckUtils]: 41: Hoare triple {20509#true} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {20509#true} is VALID [2020-07-18 06:35:23,626 INFO L280 TraceCheckUtils]: 42: Hoare triple {20509#true} assume !(34 == #t~mem9); {20509#true} is VALID [2020-07-18 06:35:23,626 INFO L280 TraceCheckUtils]: 43: Hoare triple {20509#true} havoc #t~mem9; {20509#true} is VALID [2020-07-18 06:35:23,627 INFO L280 TraceCheckUtils]: 44: Hoare triple {20509#true} ~j~0 := ~i~0 - 1; {20509#true} is VALID [2020-07-18 06:35:23,627 INFO L280 TraceCheckUtils]: 45: Hoare triple {20509#true} #t~short14 := 0 < ~j~0; {20516#(or (<= parse_expression_list_~j~0 0) |parse_expression_list_#t~short14|)} is VALID [2020-07-18 06:35:23,628 INFO L280 TraceCheckUtils]: 46: Hoare triple {20516#(or (<= parse_expression_list_~j~0 0) |parse_expression_list_#t~short14|)} assume !#t~short14; {20517#(<= parse_expression_list_~j~0 0)} is VALID [2020-07-18 06:35:23,628 INFO L280 TraceCheckUtils]: 47: Hoare triple {20517#(<= parse_expression_list_~j~0 0)} assume !#t~short14; {20517#(<= parse_expression_list_~j~0 0)} is VALID [2020-07-18 06:35:23,629 INFO L280 TraceCheckUtils]: 48: Hoare triple {20517#(<= parse_expression_list_~j~0 0)} havoc #t~short14; {20517#(<= parse_expression_list_~j~0 0)} is VALID [2020-07-18 06:35:23,629 INFO L280 TraceCheckUtils]: 49: Hoare triple {20517#(<= parse_expression_list_~j~0 0)} havoc #t~short13; {20517#(<= parse_expression_list_~j~0 0)} is VALID [2020-07-18 06:35:23,630 INFO L280 TraceCheckUtils]: 50: Hoare triple {20517#(<= parse_expression_list_~j~0 0)} havoc #t~mem12; {20517#(<= parse_expression_list_~j~0 0)} is VALID [2020-07-18 06:35:23,631 INFO L280 TraceCheckUtils]: 51: Hoare triple {20517#(<= parse_expression_list_~j~0 0)} havoc #t~mem11; {20517#(<= parse_expression_list_~j~0 0)} is VALID [2020-07-18 06:35:23,631 INFO L280 TraceCheckUtils]: 52: Hoare triple {20517#(<= parse_expression_list_~j~0 0)} #t~short17 := 0 < ~j~0; {20518#(not |parse_expression_list_#t~short17|)} is VALID [2020-07-18 06:35:23,632 INFO L280 TraceCheckUtils]: 53: Hoare triple {20518#(not |parse_expression_list_#t~short17|)} assume #t~short17; {20510#false} is VALID [2020-07-18 06:35:23,632 INFO L280 TraceCheckUtils]: 54: Hoare triple {20510#false} SUMMARY for call #t~mem16 := read~int(~str.base, ~str.offset + ~j~0, 1); srcloc: L59-1 {20510#false} is VALID [2020-07-18 06:35:23,632 INFO L280 TraceCheckUtils]: 55: Hoare triple {20510#false} #t~short17 := 34 == #t~mem16; {20510#false} is VALID [2020-07-18 06:35:23,632 INFO L280 TraceCheckUtils]: 56: Hoare triple {20510#false} assume #t~short17; {20510#false} is VALID [2020-07-18 06:35:23,632 INFO L280 TraceCheckUtils]: 57: Hoare triple {20510#false} havoc #t~short17; {20510#false} is VALID [2020-07-18 06:35:23,633 INFO L280 TraceCheckUtils]: 58: Hoare triple {20510#false} havoc #t~mem16; {20510#false} is VALID [2020-07-18 06:35:23,633 INFO L280 TraceCheckUtils]: 59: Hoare triple {20510#false} #t~post18 := ~j~0; {20510#false} is VALID [2020-07-18 06:35:23,633 INFO L280 TraceCheckUtils]: 60: Hoare triple {20510#false} ~j~0 := #t~post18 - 1; {20510#false} is VALID [2020-07-18 06:35:23,633 INFO L280 TraceCheckUtils]: 61: Hoare triple {20510#false} havoc #t~post18; {20510#false} is VALID [2020-07-18 06:35:23,633 INFO L280 TraceCheckUtils]: 62: Hoare triple {20510#false} assume ~start~0 <= ~j~0; {20510#false} is VALID [2020-07-18 06:35:23,633 INFO L263 TraceCheckUtils]: 63: Hoare triple {20510#false} call #t~ret19.base, #t~ret19.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0, 1 + (~j~0 - ~start~0)); {20509#true} is VALID [2020-07-18 06:35:23,634 INFO L280 TraceCheckUtils]: 64: Hoare triple {20509#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {20509#true} is VALID [2020-07-18 06:35:23,634 INFO L280 TraceCheckUtils]: 65: Hoare triple {20509#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {20509#true} is VALID [2020-07-18 06:35:23,634 INFO L280 TraceCheckUtils]: 66: Hoare triple {20509#true} ~n := #in~n; {20509#true} is VALID [2020-07-18 06:35:23,634 INFO L280 TraceCheckUtils]: 67: Hoare triple {20509#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {20509#true} is VALID [2020-07-18 06:35:23,634 INFO L280 TraceCheckUtils]: 68: Hoare triple {20509#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {20509#true} is VALID [2020-07-18 06:35:23,634 INFO L280 TraceCheckUtils]: 69: Hoare triple {20509#true} havoc #t~ret0.base, #t~ret0.offset; {20509#true} is VALID [2020-07-18 06:35:23,635 INFO L280 TraceCheckUtils]: 70: Hoare triple {20509#true} assume true; {20509#true} is VALID [2020-07-18 06:35:23,635 INFO L275 TraceCheckUtils]: 71: Hoare quadruple {20509#true} {20510#false} #201#return; {20510#false} is VALID [2020-07-18 06:35:23,635 INFO L280 TraceCheckUtils]: 72: Hoare triple {20510#false} havoc #t~ret19.base, #t~ret19.offset; {20510#false} is VALID [2020-07-18 06:35:23,635 INFO L263 TraceCheckUtils]: 73: Hoare triple {20510#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {20510#false} is VALID [2020-07-18 06:35:23,635 INFO L280 TraceCheckUtils]: 74: Hoare triple {20510#false} ~cond := #in~cond; {20510#false} is VALID [2020-07-18 06:35:23,635 INFO L280 TraceCheckUtils]: 75: Hoare triple {20510#false} assume 0 == ~cond; {20510#false} is VALID [2020-07-18 06:35:23,636 INFO L280 TraceCheckUtils]: 76: Hoare triple {20510#false} assume !false; {20510#false} is VALID [2020-07-18 06:35:23,640 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-18 06:35:23,640 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2022645391] [2020-07-18 06:35:23,641 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 06:35:23,641 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-18 06:35:23,641 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [436077689] [2020-07-18 06:35:23,642 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 77 [2020-07-18 06:35:23,642 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:35:23,643 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-18 06:35:23,732 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:23,733 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-18 06:35:23,733 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:35:23,733 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-18 06:35:23,733 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2020-07-18 06:35:23,733 INFO L87 Difference]: Start difference. First operand 260 states and 291 transitions. Second operand 6 states. [2020-07-18 06:35:24,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:24,985 INFO L93 Difference]: Finished difference Result 411 states and 459 transitions. [2020-07-18 06:35:24,985 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-18 06:35:24,985 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 77 [2020-07-18 06:35:24,985 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:35:24,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-18 06:35:24,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 264 transitions. [2020-07-18 06:35:24,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-18 06:35:24,990 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 264 transitions. [2020-07-18 06:35:24,990 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 264 transitions. [2020-07-18 06:35:25,295 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 264 edges. 264 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:25,302 INFO L225 Difference]: With dead ends: 411 [2020-07-18 06:35:25,302 INFO L226 Difference]: Without dead ends: 297 [2020-07-18 06:35:25,303 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2020-07-18 06:35:25,304 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 297 states. [2020-07-18 06:35:25,716 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 297 to 253. [2020-07-18 06:35:25,716 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:35:25,716 INFO L82 GeneralOperation]: Start isEquivalent. First operand 297 states. Second operand 253 states. [2020-07-18 06:35:25,716 INFO L74 IsIncluded]: Start isIncluded. First operand 297 states. Second operand 253 states. [2020-07-18 06:35:25,716 INFO L87 Difference]: Start difference. First operand 297 states. Second operand 253 states. [2020-07-18 06:35:25,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:25,724 INFO L93 Difference]: Finished difference Result 297 states and 331 transitions. [2020-07-18 06:35:25,724 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 331 transitions. [2020-07-18 06:35:25,725 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:25,725 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:25,725 INFO L74 IsIncluded]: Start isIncluded. First operand 253 states. Second operand 297 states. [2020-07-18 06:35:25,725 INFO L87 Difference]: Start difference. First operand 253 states. Second operand 297 states. [2020-07-18 06:35:25,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:25,732 INFO L93 Difference]: Finished difference Result 297 states and 331 transitions. [2020-07-18 06:35:25,733 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 331 transitions. [2020-07-18 06:35:25,733 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:25,734 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:25,734 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:35:25,734 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:35:25,734 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 253 states. [2020-07-18 06:35:25,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 253 states to 253 states and 281 transitions. [2020-07-18 06:35:25,740 INFO L78 Accepts]: Start accepts. Automaton has 253 states and 281 transitions. Word has length 77 [2020-07-18 06:35:25,740 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:35:25,740 INFO L479 AbstractCegarLoop]: Abstraction has 253 states and 281 transitions. [2020-07-18 06:35:25,740 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-18 06:35:25,740 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 253 states and 281 transitions. [2020-07-18 06:35:26,102 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 281 edges. 281 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:26,102 INFO L276 IsEmpty]: Start isEmpty. Operand 253 states and 281 transitions. [2020-07-18 06:35:26,104 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2020-07-18 06:35:26,104 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:35:26,104 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 06:35:26,105 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2020-07-18 06:35:26,105 INFO L427 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:35:26,105 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:35:26,105 INFO L82 PathProgramCache]: Analyzing trace with hash 2031617893, now seen corresponding path program 1 times [2020-07-18 06:35:26,105 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:35:26,105 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [161363698] [2020-07-18 06:35:26,106 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:35:26,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:26,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:26,195 INFO L280 TraceCheckUtils]: 0: Hoare triple {22476#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {22456#true} is VALID [2020-07-18 06:35:26,195 INFO L280 TraceCheckUtils]: 1: Hoare triple {22456#true} #valid := #valid[0 := 0]; {22456#true} is VALID [2020-07-18 06:35:26,195 INFO L280 TraceCheckUtils]: 2: Hoare triple {22456#true} assume 0 < #StackHeapBarrier; {22456#true} is VALID [2020-07-18 06:35:26,196 INFO L280 TraceCheckUtils]: 3: Hoare triple {22456#true} assume true; {22456#true} is VALID [2020-07-18 06:35:26,196 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {22456#true} {22456#true} #205#return; {22456#true} is VALID [2020-07-18 06:35:26,197 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:26,200 INFO L280 TraceCheckUtils]: 0: Hoare triple {22456#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {22456#true} is VALID [2020-07-18 06:35:26,200 INFO L280 TraceCheckUtils]: 1: Hoare triple {22456#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {22456#true} is VALID [2020-07-18 06:35:26,200 INFO L280 TraceCheckUtils]: 2: Hoare triple {22456#true} ~n := #in~n; {22456#true} is VALID [2020-07-18 06:35:26,201 INFO L280 TraceCheckUtils]: 3: Hoare triple {22456#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {22456#true} is VALID [2020-07-18 06:35:26,201 INFO L280 TraceCheckUtils]: 4: Hoare triple {22456#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {22456#true} is VALID [2020-07-18 06:35:26,201 INFO L280 TraceCheckUtils]: 5: Hoare triple {22456#true} havoc #t~ret0.base, #t~ret0.offset; {22456#true} is VALID [2020-07-18 06:35:26,201 INFO L280 TraceCheckUtils]: 6: Hoare triple {22456#true} assume true; {22456#true} is VALID [2020-07-18 06:35:26,201 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {22456#true} {22457#false} #201#return; {22457#false} is VALID [2020-07-18 06:35:26,202 INFO L263 TraceCheckUtils]: 0: Hoare triple {22456#true} call ULTIMATE.init(); {22476#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:35:26,203 INFO L280 TraceCheckUtils]: 1: Hoare triple {22476#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {22456#true} is VALID [2020-07-18 06:35:26,203 INFO L280 TraceCheckUtils]: 2: Hoare triple {22456#true} #valid := #valid[0 := 0]; {22456#true} is VALID [2020-07-18 06:35:26,203 INFO L280 TraceCheckUtils]: 3: Hoare triple {22456#true} assume 0 < #StackHeapBarrier; {22456#true} is VALID [2020-07-18 06:35:26,203 INFO L280 TraceCheckUtils]: 4: Hoare triple {22456#true} assume true; {22456#true} is VALID [2020-07-18 06:35:26,203 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {22456#true} {22456#true} #205#return; {22456#true} is VALID [2020-07-18 06:35:26,203 INFO L263 TraceCheckUtils]: 6: Hoare triple {22456#true} call #t~ret21 := main(); {22456#true} is VALID [2020-07-18 06:35:26,204 INFO L280 TraceCheckUtils]: 7: Hoare triple {22456#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {22456#true} is VALID [2020-07-18 06:35:26,204 INFO L280 TraceCheckUtils]: 8: Hoare triple {22456#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {22456#true} is VALID [2020-07-18 06:35:26,204 INFO L263 TraceCheckUtils]: 9: Hoare triple {22456#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {22456#true} is VALID [2020-07-18 06:35:26,204 INFO L280 TraceCheckUtils]: 10: Hoare triple {22456#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {22456#true} is VALID [2020-07-18 06:35:26,204 INFO L280 TraceCheckUtils]: 11: Hoare triple {22456#true} ~start~0 := 0; {22456#true} is VALID [2020-07-18 06:35:26,205 INFO L280 TraceCheckUtils]: 12: Hoare triple {22456#true} ~i~0 := -1; {22463#(<= (+ parse_expression_list_~i~0 1) 0)} is VALID [2020-07-18 06:35:26,206 INFO L280 TraceCheckUtils]: 13: Hoare triple {22463#(<= (+ parse_expression_list_~i~0 1) 0)} ~j~0 := -1; {22463#(<= (+ parse_expression_list_~i~0 1) 0)} is VALID [2020-07-18 06:35:26,206 INFO L280 TraceCheckUtils]: 14: Hoare triple {22463#(<= (+ parse_expression_list_~i~0 1) 0)} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {22463#(<= (+ parse_expression_list_~i~0 1) 0)} is VALID [2020-07-18 06:35:26,207 INFO L280 TraceCheckUtils]: 15: Hoare triple {22463#(<= (+ parse_expression_list_~i~0 1) 0)} assume !(~str.base == 0 && ~str.offset == 0); {22463#(<= (+ parse_expression_list_~i~0 1) 0)} is VALID [2020-07-18 06:35:26,207 INFO L280 TraceCheckUtils]: 16: Hoare triple {22463#(<= (+ parse_expression_list_~i~0 1) 0)} #t~post2 := ~i~0; {22464#(<= (+ |parse_expression_list_#t~post2| 1) 0)} is VALID [2020-07-18 06:35:26,208 INFO L280 TraceCheckUtils]: 17: Hoare triple {22464#(<= (+ |parse_expression_list_#t~post2| 1) 0)} ~i~0 := 1 + #t~post2; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,209 INFO L280 TraceCheckUtils]: 18: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} havoc #t~post2; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,209 INFO L280 TraceCheckUtils]: 19: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,210 INFO L280 TraceCheckUtils]: 20: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} #t~switch4 := 0 == #t~mem3; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,210 INFO L280 TraceCheckUtils]: 21: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} assume #t~switch4; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,211 INFO L280 TraceCheckUtils]: 22: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,211 INFO L280 TraceCheckUtils]: 23: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} #t~short7 := 32 == #t~mem5; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,212 INFO L280 TraceCheckUtils]: 24: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} assume #t~short7; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,212 INFO L280 TraceCheckUtils]: 25: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} assume !!#t~short7; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,213 INFO L280 TraceCheckUtils]: 26: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} havoc #t~mem5; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,214 INFO L280 TraceCheckUtils]: 27: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} havoc #t~short7; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,214 INFO L280 TraceCheckUtils]: 28: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} havoc #t~mem6; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,215 INFO L280 TraceCheckUtils]: 29: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} #t~post8 := ~start~0; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,215 INFO L280 TraceCheckUtils]: 30: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} ~start~0 := 1 + #t~post8; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,216 INFO L280 TraceCheckUtils]: 31: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} havoc #t~post8; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,216 INFO L280 TraceCheckUtils]: 32: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,217 INFO L280 TraceCheckUtils]: 33: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} #t~short7 := 32 == #t~mem5; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,217 INFO L280 TraceCheckUtils]: 34: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} assume !#t~short7; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,218 INFO L280 TraceCheckUtils]: 35: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,218 INFO L280 TraceCheckUtils]: 36: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} #t~short7 := 9 == #t~mem6; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,218 INFO L280 TraceCheckUtils]: 37: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} assume !#t~short7; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,219 INFO L280 TraceCheckUtils]: 38: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} havoc #t~mem5; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,219 INFO L280 TraceCheckUtils]: 39: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} havoc #t~short7; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,220 INFO L280 TraceCheckUtils]: 40: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} havoc #t~mem6; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,220 INFO L280 TraceCheckUtils]: 41: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,221 INFO L280 TraceCheckUtils]: 42: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} assume !(34 == #t~mem9); {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,221 INFO L280 TraceCheckUtils]: 43: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} havoc #t~mem9; {22465#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:26,222 INFO L280 TraceCheckUtils]: 44: Hoare triple {22465#(<= parse_expression_list_~i~0 0)} ~j~0 := ~i~0 - 1; {22466#(<= (+ parse_expression_list_~j~0 1) 0)} is VALID [2020-07-18 06:35:26,223 INFO L280 TraceCheckUtils]: 45: Hoare triple {22466#(<= (+ parse_expression_list_~j~0 1) 0)} #t~short14 := 0 < ~j~0; {22467#(not |parse_expression_list_#t~short14|)} is VALID [2020-07-18 06:35:26,223 INFO L280 TraceCheckUtils]: 46: Hoare triple {22467#(not |parse_expression_list_#t~short14|)} assume #t~short14; {22457#false} is VALID [2020-07-18 06:35:26,224 INFO L280 TraceCheckUtils]: 47: Hoare triple {22457#false} SUMMARY for call #t~mem11 := read~int(~str.base, ~str.offset + ~j~0, 1); srcloc: L58-2 {22457#false} is VALID [2020-07-18 06:35:26,224 INFO L280 TraceCheckUtils]: 48: Hoare triple {22457#false} #t~short13 := 32 == #t~mem11; {22457#false} is VALID [2020-07-18 06:35:26,224 INFO L280 TraceCheckUtils]: 49: Hoare triple {22457#false} assume !#t~short13; {22457#false} is VALID [2020-07-18 06:35:26,224 INFO L280 TraceCheckUtils]: 50: Hoare triple {22457#false} SUMMARY for call #t~mem12 := read~int(~str.base, ~str.offset + ~j~0, 1); srcloc: L58-6 {22457#false} is VALID [2020-07-18 06:35:26,224 INFO L280 TraceCheckUtils]: 51: Hoare triple {22457#false} #t~short13 := 9 == #t~mem12; {22457#false} is VALID [2020-07-18 06:35:26,225 INFO L280 TraceCheckUtils]: 52: Hoare triple {22457#false} #t~short14 := #t~short13; {22457#false} is VALID [2020-07-18 06:35:26,225 INFO L280 TraceCheckUtils]: 53: Hoare triple {22457#false} assume !#t~short14; {22457#false} is VALID [2020-07-18 06:35:26,225 INFO L280 TraceCheckUtils]: 54: Hoare triple {22457#false} havoc #t~short14; {22457#false} is VALID [2020-07-18 06:35:26,225 INFO L280 TraceCheckUtils]: 55: Hoare triple {22457#false} havoc #t~short13; {22457#false} is VALID [2020-07-18 06:35:26,225 INFO L280 TraceCheckUtils]: 56: Hoare triple {22457#false} havoc #t~mem12; {22457#false} is VALID [2020-07-18 06:35:26,225 INFO L280 TraceCheckUtils]: 57: Hoare triple {22457#false} havoc #t~mem11; {22457#false} is VALID [2020-07-18 06:35:26,226 INFO L280 TraceCheckUtils]: 58: Hoare triple {22457#false} #t~short17 := 0 < ~j~0; {22457#false} is VALID [2020-07-18 06:35:26,226 INFO L280 TraceCheckUtils]: 59: Hoare triple {22457#false} assume !#t~short17; {22457#false} is VALID [2020-07-18 06:35:26,226 INFO L280 TraceCheckUtils]: 60: Hoare triple {22457#false} assume !#t~short17; {22457#false} is VALID [2020-07-18 06:35:26,226 INFO L280 TraceCheckUtils]: 61: Hoare triple {22457#false} havoc #t~short17; {22457#false} is VALID [2020-07-18 06:35:26,226 INFO L280 TraceCheckUtils]: 62: Hoare triple {22457#false} havoc #t~mem16; {22457#false} is VALID [2020-07-18 06:35:26,227 INFO L280 TraceCheckUtils]: 63: Hoare triple {22457#false} assume ~start~0 <= ~j~0; {22457#false} is VALID [2020-07-18 06:35:26,227 INFO L263 TraceCheckUtils]: 64: Hoare triple {22457#false} call #t~ret19.base, #t~ret19.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0, 1 + (~j~0 - ~start~0)); {22456#true} is VALID [2020-07-18 06:35:26,227 INFO L280 TraceCheckUtils]: 65: Hoare triple {22456#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {22456#true} is VALID [2020-07-18 06:35:26,227 INFO L280 TraceCheckUtils]: 66: Hoare triple {22456#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {22456#true} is VALID [2020-07-18 06:35:26,227 INFO L280 TraceCheckUtils]: 67: Hoare triple {22456#true} ~n := #in~n; {22456#true} is VALID [2020-07-18 06:35:26,227 INFO L280 TraceCheckUtils]: 68: Hoare triple {22456#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {22456#true} is VALID [2020-07-18 06:35:26,228 INFO L280 TraceCheckUtils]: 69: Hoare triple {22456#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {22456#true} is VALID [2020-07-18 06:35:26,228 INFO L280 TraceCheckUtils]: 70: Hoare triple {22456#true} havoc #t~ret0.base, #t~ret0.offset; {22456#true} is VALID [2020-07-18 06:35:26,228 INFO L280 TraceCheckUtils]: 71: Hoare triple {22456#true} assume true; {22456#true} is VALID [2020-07-18 06:35:26,228 INFO L275 TraceCheckUtils]: 72: Hoare quadruple {22456#true} {22457#false} #201#return; {22457#false} is VALID [2020-07-18 06:35:26,228 INFO L280 TraceCheckUtils]: 73: Hoare triple {22457#false} havoc #t~ret19.base, #t~ret19.offset; {22457#false} is VALID [2020-07-18 06:35:26,228 INFO L263 TraceCheckUtils]: 74: Hoare triple {22457#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {22457#false} is VALID [2020-07-18 06:35:26,229 INFO L280 TraceCheckUtils]: 75: Hoare triple {22457#false} ~cond := #in~cond; {22457#false} is VALID [2020-07-18 06:35:26,229 INFO L280 TraceCheckUtils]: 76: Hoare triple {22457#false} assume 0 == ~cond; {22457#false} is VALID [2020-07-18 06:35:26,229 INFO L280 TraceCheckUtils]: 77: Hoare triple {22457#false} assume !false; {22457#false} is VALID [2020-07-18 06:35:26,234 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-18 06:35:26,234 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [161363698] [2020-07-18 06:35:26,235 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 06:35:26,235 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2020-07-18 06:35:26,235 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [709387996] [2020-07-18 06:35:26,235 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 78 [2020-07-18 06:35:26,236 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:35:26,236 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-18 06:35:26,324 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:26,324 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-18 06:35:26,325 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:35:26,325 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-18 06:35:26,325 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2020-07-18 06:35:26,326 INFO L87 Difference]: Start difference. First operand 253 states and 281 transitions. Second operand 8 states. [2020-07-18 06:35:28,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:28,099 INFO L93 Difference]: Finished difference Result 521 states and 577 transitions. [2020-07-18 06:35:28,100 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-18 06:35:28,100 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 78 [2020-07-18 06:35:28,100 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:35:28,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-18 06:35:28,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 306 transitions. [2020-07-18 06:35:28,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-18 06:35:28,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 306 transitions. [2020-07-18 06:35:28,105 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 306 transitions. [2020-07-18 06:35:28,451 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 306 edges. 306 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:28,460 INFO L225 Difference]: With dead ends: 521 [2020-07-18 06:35:28,460 INFO L226 Difference]: Without dead ends: 331 [2020-07-18 06:35:28,461 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=59, Invalid=151, Unknown=0, NotChecked=0, Total=210 [2020-07-18 06:35:28,462 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 331 states. [2020-07-18 06:35:28,866 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 331 to 264. [2020-07-18 06:35:28,866 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:35:28,866 INFO L82 GeneralOperation]: Start isEquivalent. First operand 331 states. Second operand 264 states. [2020-07-18 06:35:28,867 INFO L74 IsIncluded]: Start isIncluded. First operand 331 states. Second operand 264 states. [2020-07-18 06:35:28,867 INFO L87 Difference]: Start difference. First operand 331 states. Second operand 264 states. [2020-07-18 06:35:28,875 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:28,875 INFO L93 Difference]: Finished difference Result 331 states and 365 transitions. [2020-07-18 06:35:28,875 INFO L276 IsEmpty]: Start isEmpty. Operand 331 states and 365 transitions. [2020-07-18 06:35:28,876 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:28,876 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:28,876 INFO L74 IsIncluded]: Start isIncluded. First operand 264 states. Second operand 331 states. [2020-07-18 06:35:28,876 INFO L87 Difference]: Start difference. First operand 264 states. Second operand 331 states. [2020-07-18 06:35:28,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:28,884 INFO L93 Difference]: Finished difference Result 331 states and 365 transitions. [2020-07-18 06:35:28,884 INFO L276 IsEmpty]: Start isEmpty. Operand 331 states and 365 transitions. [2020-07-18 06:35:28,884 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:28,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:28,885 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:35:28,885 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:35:28,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 264 states. [2020-07-18 06:35:28,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 264 states to 264 states and 292 transitions. [2020-07-18 06:35:28,889 INFO L78 Accepts]: Start accepts. Automaton has 264 states and 292 transitions. Word has length 78 [2020-07-18 06:35:28,890 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:35:28,890 INFO L479 AbstractCegarLoop]: Abstraction has 264 states and 292 transitions. [2020-07-18 06:35:28,890 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-18 06:35:28,890 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 264 states and 292 transitions. [2020-07-18 06:35:29,308 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 292 edges. 292 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:29,309 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 292 transitions. [2020-07-18 06:35:29,310 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2020-07-18 06:35:29,310 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:35:29,311 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 06:35:29,311 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14 [2020-07-18 06:35:29,311 INFO L427 AbstractCegarLoop]: === Iteration 16 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:35:29,312 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:35:29,312 INFO L82 PathProgramCache]: Analyzing trace with hash -1446971750, now seen corresponding path program 1 times [2020-07-18 06:35:29,312 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:35:29,312 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2127359360] [2020-07-18 06:35:29,313 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:35:29,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:29,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:29,433 INFO L280 TraceCheckUtils]: 0: Hoare triple {24747#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {24725#true} is VALID [2020-07-18 06:35:29,434 INFO L280 TraceCheckUtils]: 1: Hoare triple {24725#true} #valid := #valid[0 := 0]; {24725#true} is VALID [2020-07-18 06:35:29,434 INFO L280 TraceCheckUtils]: 2: Hoare triple {24725#true} assume 0 < #StackHeapBarrier; {24725#true} is VALID [2020-07-18 06:35:29,434 INFO L280 TraceCheckUtils]: 3: Hoare triple {24725#true} assume true; {24725#true} is VALID [2020-07-18 06:35:29,434 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {24725#true} {24725#true} #205#return; {24725#true} is VALID [2020-07-18 06:35:29,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:29,439 INFO L280 TraceCheckUtils]: 0: Hoare triple {24725#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {24725#true} is VALID [2020-07-18 06:35:29,439 INFO L280 TraceCheckUtils]: 1: Hoare triple {24725#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {24725#true} is VALID [2020-07-18 06:35:29,439 INFO L280 TraceCheckUtils]: 2: Hoare triple {24725#true} ~n := #in~n; {24725#true} is VALID [2020-07-18 06:35:29,439 INFO L280 TraceCheckUtils]: 3: Hoare triple {24725#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {24725#true} is VALID [2020-07-18 06:35:29,440 INFO L280 TraceCheckUtils]: 4: Hoare triple {24725#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {24725#true} is VALID [2020-07-18 06:35:29,440 INFO L280 TraceCheckUtils]: 5: Hoare triple {24725#true} havoc #t~ret0.base, #t~ret0.offset; {24725#true} is VALID [2020-07-18 06:35:29,440 INFO L280 TraceCheckUtils]: 6: Hoare triple {24725#true} assume true; {24725#true} is VALID [2020-07-18 06:35:29,440 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {24725#true} {24726#false} #201#return; {24726#false} is VALID [2020-07-18 06:35:29,443 INFO L263 TraceCheckUtils]: 0: Hoare triple {24725#true} call ULTIMATE.init(); {24747#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:35:29,444 INFO L280 TraceCheckUtils]: 1: Hoare triple {24747#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {24725#true} is VALID [2020-07-18 06:35:29,444 INFO L280 TraceCheckUtils]: 2: Hoare triple {24725#true} #valid := #valid[0 := 0]; {24725#true} is VALID [2020-07-18 06:35:29,444 INFO L280 TraceCheckUtils]: 3: Hoare triple {24725#true} assume 0 < #StackHeapBarrier; {24725#true} is VALID [2020-07-18 06:35:29,444 INFO L280 TraceCheckUtils]: 4: Hoare triple {24725#true} assume true; {24725#true} is VALID [2020-07-18 06:35:29,445 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {24725#true} {24725#true} #205#return; {24725#true} is VALID [2020-07-18 06:35:29,445 INFO L263 TraceCheckUtils]: 6: Hoare triple {24725#true} call #t~ret21 := main(); {24725#true} is VALID [2020-07-18 06:35:29,445 INFO L280 TraceCheckUtils]: 7: Hoare triple {24725#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {24725#true} is VALID [2020-07-18 06:35:29,445 INFO L280 TraceCheckUtils]: 8: Hoare triple {24725#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {24725#true} is VALID [2020-07-18 06:35:29,445 INFO L263 TraceCheckUtils]: 9: Hoare triple {24725#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {24725#true} is VALID [2020-07-18 06:35:29,446 INFO L280 TraceCheckUtils]: 10: Hoare triple {24725#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {24725#true} is VALID [2020-07-18 06:35:29,446 INFO L280 TraceCheckUtils]: 11: Hoare triple {24725#true} ~start~0 := 0; {24725#true} is VALID [2020-07-18 06:35:29,451 INFO L280 TraceCheckUtils]: 12: Hoare triple {24725#true} ~i~0 := -1; {24732#(<= (+ parse_expression_list_~i~0 1) 0)} is VALID [2020-07-18 06:35:29,451 INFO L280 TraceCheckUtils]: 13: Hoare triple {24732#(<= (+ parse_expression_list_~i~0 1) 0)} ~j~0 := -1; {24732#(<= (+ parse_expression_list_~i~0 1) 0)} is VALID [2020-07-18 06:35:29,452 INFO L280 TraceCheckUtils]: 14: Hoare triple {24732#(<= (+ parse_expression_list_~i~0 1) 0)} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {24732#(<= (+ parse_expression_list_~i~0 1) 0)} is VALID [2020-07-18 06:35:29,453 INFO L280 TraceCheckUtils]: 15: Hoare triple {24732#(<= (+ parse_expression_list_~i~0 1) 0)} assume !(~str.base == 0 && ~str.offset == 0); {24732#(<= (+ parse_expression_list_~i~0 1) 0)} is VALID [2020-07-18 06:35:29,453 INFO L280 TraceCheckUtils]: 16: Hoare triple {24732#(<= (+ parse_expression_list_~i~0 1) 0)} #t~post2 := ~i~0; {24733#(<= (+ |parse_expression_list_#t~post2| 1) 0)} is VALID [2020-07-18 06:35:29,454 INFO L280 TraceCheckUtils]: 17: Hoare triple {24733#(<= (+ |parse_expression_list_#t~post2| 1) 0)} ~i~0 := 1 + #t~post2; {24734#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:29,455 INFO L280 TraceCheckUtils]: 18: Hoare triple {24734#(<= parse_expression_list_~i~0 0)} havoc #t~post2; {24734#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:29,455 INFO L280 TraceCheckUtils]: 19: Hoare triple {24734#(<= parse_expression_list_~i~0 0)} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {24734#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:29,456 INFO L280 TraceCheckUtils]: 20: Hoare triple {24734#(<= parse_expression_list_~i~0 0)} #t~switch4 := 0 == #t~mem3; {24734#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:29,457 INFO L280 TraceCheckUtils]: 21: Hoare triple {24734#(<= parse_expression_list_~i~0 0)} assume !#t~switch4; {24734#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:29,457 INFO L280 TraceCheckUtils]: 22: Hoare triple {24734#(<= parse_expression_list_~i~0 0)} havoc #t~switch4; {24734#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:29,458 INFO L280 TraceCheckUtils]: 23: Hoare triple {24734#(<= parse_expression_list_~i~0 0)} havoc #t~mem3; {24734#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:29,458 INFO L280 TraceCheckUtils]: 24: Hoare triple {24734#(<= parse_expression_list_~i~0 0)} SUMMARY for call #t~mem1 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L51-1 {24734#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:29,459 INFO L280 TraceCheckUtils]: 25: Hoare triple {24734#(<= parse_expression_list_~i~0 0)} assume !!(0 != #t~mem1); {24734#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:29,459 INFO L280 TraceCheckUtils]: 26: Hoare triple {24734#(<= parse_expression_list_~i~0 0)} havoc #t~mem1; {24734#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-18 06:35:29,460 INFO L280 TraceCheckUtils]: 27: Hoare triple {24734#(<= parse_expression_list_~i~0 0)} #t~post2 := ~i~0; {24735#(<= |parse_expression_list_#t~post2| 0)} is VALID [2020-07-18 06:35:29,461 INFO L280 TraceCheckUtils]: 28: Hoare triple {24735#(<= |parse_expression_list_#t~post2| 0)} ~i~0 := 1 + #t~post2; {24736#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-18 06:35:29,462 INFO L280 TraceCheckUtils]: 29: Hoare triple {24736#(<= parse_expression_list_~i~0 1)} havoc #t~post2; {24736#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-18 06:35:29,462 INFO L280 TraceCheckUtils]: 30: Hoare triple {24736#(<= parse_expression_list_~i~0 1)} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {24736#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-18 06:35:29,463 INFO L280 TraceCheckUtils]: 31: Hoare triple {24736#(<= parse_expression_list_~i~0 1)} #t~switch4 := 0 == #t~mem3; {24736#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-18 06:35:29,463 INFO L280 TraceCheckUtils]: 32: Hoare triple {24736#(<= parse_expression_list_~i~0 1)} assume #t~switch4; {24736#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-18 06:35:29,464 INFO L280 TraceCheckUtils]: 33: Hoare triple {24736#(<= parse_expression_list_~i~0 1)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {24736#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-18 06:35:29,465 INFO L280 TraceCheckUtils]: 34: Hoare triple {24736#(<= parse_expression_list_~i~0 1)} #t~short7 := 32 == #t~mem5; {24736#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-18 06:35:29,465 INFO L280 TraceCheckUtils]: 35: Hoare triple {24736#(<= parse_expression_list_~i~0 1)} assume !#t~short7; {24736#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-18 06:35:29,466 INFO L280 TraceCheckUtils]: 36: Hoare triple {24736#(<= parse_expression_list_~i~0 1)} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {24736#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-18 06:35:29,467 INFO L280 TraceCheckUtils]: 37: Hoare triple {24736#(<= parse_expression_list_~i~0 1)} #t~short7 := 9 == #t~mem6; {24736#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-18 06:35:29,467 INFO L280 TraceCheckUtils]: 38: Hoare triple {24736#(<= parse_expression_list_~i~0 1)} assume !#t~short7; {24736#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-18 06:35:29,468 INFO L280 TraceCheckUtils]: 39: Hoare triple {24736#(<= parse_expression_list_~i~0 1)} havoc #t~mem5; {24736#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-18 06:35:29,468 INFO L280 TraceCheckUtils]: 40: Hoare triple {24736#(<= parse_expression_list_~i~0 1)} havoc #t~short7; {24736#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-18 06:35:29,469 INFO L280 TraceCheckUtils]: 41: Hoare triple {24736#(<= parse_expression_list_~i~0 1)} havoc #t~mem6; {24736#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-18 06:35:29,469 INFO L280 TraceCheckUtils]: 42: Hoare triple {24736#(<= parse_expression_list_~i~0 1)} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {24736#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-18 06:35:29,470 INFO L280 TraceCheckUtils]: 43: Hoare triple {24736#(<= parse_expression_list_~i~0 1)} assume !(34 == #t~mem9); {24736#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-18 06:35:29,470 INFO L280 TraceCheckUtils]: 44: Hoare triple {24736#(<= parse_expression_list_~i~0 1)} havoc #t~mem9; {24736#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-18 06:35:29,471 INFO L280 TraceCheckUtils]: 45: Hoare triple {24736#(<= parse_expression_list_~i~0 1)} ~j~0 := ~i~0 - 1; {24737#(<= parse_expression_list_~j~0 0)} is VALID [2020-07-18 06:35:29,472 INFO L280 TraceCheckUtils]: 46: Hoare triple {24737#(<= parse_expression_list_~j~0 0)} #t~short14 := 0 < ~j~0; {24738#(not |parse_expression_list_#t~short14|)} is VALID [2020-07-18 06:35:29,473 INFO L280 TraceCheckUtils]: 47: Hoare triple {24738#(not |parse_expression_list_#t~short14|)} assume #t~short14; {24726#false} is VALID [2020-07-18 06:35:29,473 INFO L280 TraceCheckUtils]: 48: Hoare triple {24726#false} SUMMARY for call #t~mem11 := read~int(~str.base, ~str.offset + ~j~0, 1); srcloc: L58-2 {24726#false} is VALID [2020-07-18 06:35:29,473 INFO L280 TraceCheckUtils]: 49: Hoare triple {24726#false} #t~short13 := 32 == #t~mem11; {24726#false} is VALID [2020-07-18 06:35:29,474 INFO L280 TraceCheckUtils]: 50: Hoare triple {24726#false} assume !#t~short13; {24726#false} is VALID [2020-07-18 06:35:29,474 INFO L280 TraceCheckUtils]: 51: Hoare triple {24726#false} SUMMARY for call #t~mem12 := read~int(~str.base, ~str.offset + ~j~0, 1); srcloc: L58-6 {24726#false} is VALID [2020-07-18 06:35:29,474 INFO L280 TraceCheckUtils]: 52: Hoare triple {24726#false} #t~short13 := 9 == #t~mem12; {24726#false} is VALID [2020-07-18 06:35:29,474 INFO L280 TraceCheckUtils]: 53: Hoare triple {24726#false} #t~short14 := #t~short13; {24726#false} is VALID [2020-07-18 06:35:29,475 INFO L280 TraceCheckUtils]: 54: Hoare triple {24726#false} assume !#t~short14; {24726#false} is VALID [2020-07-18 06:35:29,475 INFO L280 TraceCheckUtils]: 55: Hoare triple {24726#false} havoc #t~short14; {24726#false} is VALID [2020-07-18 06:35:29,475 INFO L280 TraceCheckUtils]: 56: Hoare triple {24726#false} havoc #t~short13; {24726#false} is VALID [2020-07-18 06:35:29,475 INFO L280 TraceCheckUtils]: 57: Hoare triple {24726#false} havoc #t~mem12; {24726#false} is VALID [2020-07-18 06:35:29,475 INFO L280 TraceCheckUtils]: 58: Hoare triple {24726#false} havoc #t~mem11; {24726#false} is VALID [2020-07-18 06:35:29,476 INFO L280 TraceCheckUtils]: 59: Hoare triple {24726#false} #t~short17 := 0 < ~j~0; {24726#false} is VALID [2020-07-18 06:35:29,476 INFO L280 TraceCheckUtils]: 60: Hoare triple {24726#false} assume !#t~short17; {24726#false} is VALID [2020-07-18 06:35:29,476 INFO L280 TraceCheckUtils]: 61: Hoare triple {24726#false} assume !#t~short17; {24726#false} is VALID [2020-07-18 06:35:29,476 INFO L280 TraceCheckUtils]: 62: Hoare triple {24726#false} havoc #t~short17; {24726#false} is VALID [2020-07-18 06:35:29,476 INFO L280 TraceCheckUtils]: 63: Hoare triple {24726#false} havoc #t~mem16; {24726#false} is VALID [2020-07-18 06:35:29,476 INFO L280 TraceCheckUtils]: 64: Hoare triple {24726#false} assume ~start~0 <= ~j~0; {24726#false} is VALID [2020-07-18 06:35:29,477 INFO L263 TraceCheckUtils]: 65: Hoare triple {24726#false} call #t~ret19.base, #t~ret19.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0, 1 + (~j~0 - ~start~0)); {24725#true} is VALID [2020-07-18 06:35:29,477 INFO L280 TraceCheckUtils]: 66: Hoare triple {24725#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {24725#true} is VALID [2020-07-18 06:35:29,477 INFO L280 TraceCheckUtils]: 67: Hoare triple {24725#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {24725#true} is VALID [2020-07-18 06:35:29,477 INFO L280 TraceCheckUtils]: 68: Hoare triple {24725#true} ~n := #in~n; {24725#true} is VALID [2020-07-18 06:35:29,477 INFO L280 TraceCheckUtils]: 69: Hoare triple {24725#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {24725#true} is VALID [2020-07-18 06:35:29,478 INFO L280 TraceCheckUtils]: 70: Hoare triple {24725#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {24725#true} is VALID [2020-07-18 06:35:29,478 INFO L280 TraceCheckUtils]: 71: Hoare triple {24725#true} havoc #t~ret0.base, #t~ret0.offset; {24725#true} is VALID [2020-07-18 06:35:29,478 INFO L280 TraceCheckUtils]: 72: Hoare triple {24725#true} assume true; {24725#true} is VALID [2020-07-18 06:35:29,478 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {24725#true} {24726#false} #201#return; {24726#false} is VALID [2020-07-18 06:35:29,478 INFO L280 TraceCheckUtils]: 74: Hoare triple {24726#false} havoc #t~ret19.base, #t~ret19.offset; {24726#false} is VALID [2020-07-18 06:35:29,478 INFO L263 TraceCheckUtils]: 75: Hoare triple {24726#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {24726#false} is VALID [2020-07-18 06:35:29,479 INFO L280 TraceCheckUtils]: 76: Hoare triple {24726#false} ~cond := #in~cond; {24726#false} is VALID [2020-07-18 06:35:29,479 INFO L280 TraceCheckUtils]: 77: Hoare triple {24726#false} assume 0 == ~cond; {24726#false} is VALID [2020-07-18 06:35:29,479 INFO L280 TraceCheckUtils]: 78: Hoare triple {24726#false} assume !false; {24726#false} is VALID [2020-07-18 06:35:29,484 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-18 06:35:29,485 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2127359360] [2020-07-18 06:35:29,485 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 06:35:29,485 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2020-07-18 06:35:29,485 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1596247781] [2020-07-18 06:35:29,486 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 79 [2020-07-18 06:35:29,486 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:35:29,486 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-18 06:35:29,574 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:29,574 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-18 06:35:29,574 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:35:29,575 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-18 06:35:29,575 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2020-07-18 06:35:29,575 INFO L87 Difference]: Start difference. First operand 264 states and 292 transitions. Second operand 10 states. [2020-07-18 06:35:31,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:31,867 INFO L93 Difference]: Finished difference Result 599 states and 665 transitions. [2020-07-18 06:35:31,867 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2020-07-18 06:35:31,867 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 79 [2020-07-18 06:35:31,868 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:35:31,868 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-18 06:35:31,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 364 transitions. [2020-07-18 06:35:31,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-18 06:35:31,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 364 transitions. [2020-07-18 06:35:31,873 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 364 transitions. [2020-07-18 06:35:32,262 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 364 edges. 364 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:32,276 INFO L225 Difference]: With dead ends: 599 [2020-07-18 06:35:32,276 INFO L226 Difference]: Without dead ends: 435 [2020-07-18 06:35:32,277 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=111, Invalid=309, Unknown=0, NotChecked=0, Total=420 [2020-07-18 06:35:32,278 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 435 states. [2020-07-18 06:35:32,885 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 435 to 355. [2020-07-18 06:35:32,885 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:35:32,885 INFO L82 GeneralOperation]: Start isEquivalent. First operand 435 states. Second operand 355 states. [2020-07-18 06:35:32,886 INFO L74 IsIncluded]: Start isIncluded. First operand 435 states. Second operand 355 states. [2020-07-18 06:35:32,886 INFO L87 Difference]: Start difference. First operand 435 states. Second operand 355 states. [2020-07-18 06:35:32,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:32,897 INFO L93 Difference]: Finished difference Result 435 states and 481 transitions. [2020-07-18 06:35:32,897 INFO L276 IsEmpty]: Start isEmpty. Operand 435 states and 481 transitions. [2020-07-18 06:35:32,897 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:32,898 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:32,898 INFO L74 IsIncluded]: Start isIncluded. First operand 355 states. Second operand 435 states. [2020-07-18 06:35:32,898 INFO L87 Difference]: Start difference. First operand 355 states. Second operand 435 states. [2020-07-18 06:35:32,911 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:32,911 INFO L93 Difference]: Finished difference Result 435 states and 481 transitions. [2020-07-18 06:35:32,911 INFO L276 IsEmpty]: Start isEmpty. Operand 435 states and 481 transitions. [2020-07-18 06:35:32,912 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:32,913 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:32,913 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:35:32,913 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:35:32,913 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 355 states. [2020-07-18 06:35:32,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 355 states to 355 states and 393 transitions. [2020-07-18 06:35:32,922 INFO L78 Accepts]: Start accepts. Automaton has 355 states and 393 transitions. Word has length 79 [2020-07-18 06:35:32,922 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:35:32,922 INFO L479 AbstractCegarLoop]: Abstraction has 355 states and 393 transitions. [2020-07-18 06:35:32,922 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-18 06:35:32,923 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 355 states and 393 transitions. [2020-07-18 06:35:33,494 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 393 edges. 393 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:33,494 INFO L276 IsEmpty]: Start isEmpty. Operand 355 states and 393 transitions. [2020-07-18 06:35:33,496 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2020-07-18 06:35:33,496 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:35:33,496 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 06:35:33,496 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15 [2020-07-18 06:35:33,497 INFO L427 AbstractCegarLoop]: === Iteration 17 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:35:33,497 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:35:33,497 INFO L82 PathProgramCache]: Analyzing trace with hash 1140392269, now seen corresponding path program 2 times [2020-07-18 06:35:33,497 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:35:33,498 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [363371125] [2020-07-18 06:35:33,498 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:35:33,508 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:33,666 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:33,669 INFO L280 TraceCheckUtils]: 0: Hoare triple {27574#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {27550#true} is VALID [2020-07-18 06:35:33,669 INFO L280 TraceCheckUtils]: 1: Hoare triple {27550#true} #valid := #valid[0 := 0]; {27550#true} is VALID [2020-07-18 06:35:33,669 INFO L280 TraceCheckUtils]: 2: Hoare triple {27550#true} assume 0 < #StackHeapBarrier; {27550#true} is VALID [2020-07-18 06:35:33,669 INFO L280 TraceCheckUtils]: 3: Hoare triple {27550#true} assume true; {27550#true} is VALID [2020-07-18 06:35:33,669 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {27550#true} {27550#true} #205#return; {27550#true} is VALID [2020-07-18 06:35:33,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:33,682 INFO L280 TraceCheckUtils]: 0: Hoare triple {27550#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {27550#true} is VALID [2020-07-18 06:35:33,683 INFO L280 TraceCheckUtils]: 1: Hoare triple {27550#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {27550#true} is VALID [2020-07-18 06:35:33,683 INFO L280 TraceCheckUtils]: 2: Hoare triple {27550#true} ~n := #in~n; {27550#true} is VALID [2020-07-18 06:35:33,683 INFO L280 TraceCheckUtils]: 3: Hoare triple {27550#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {27550#true} is VALID [2020-07-18 06:35:33,683 INFO L280 TraceCheckUtils]: 4: Hoare triple {27550#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {27550#true} is VALID [2020-07-18 06:35:33,683 INFO L280 TraceCheckUtils]: 5: Hoare triple {27550#true} havoc #t~ret0.base, #t~ret0.offset; {27550#true} is VALID [2020-07-18 06:35:33,684 INFO L280 TraceCheckUtils]: 6: Hoare triple {27550#true} assume true; {27550#true} is VALID [2020-07-18 06:35:33,685 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {27550#true} {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #201#return; {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,686 INFO L263 TraceCheckUtils]: 0: Hoare triple {27550#true} call ULTIMATE.init(); {27574#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:35:33,686 INFO L280 TraceCheckUtils]: 1: Hoare triple {27574#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {27550#true} is VALID [2020-07-18 06:35:33,686 INFO L280 TraceCheckUtils]: 2: Hoare triple {27550#true} #valid := #valid[0 := 0]; {27550#true} is VALID [2020-07-18 06:35:33,687 INFO L280 TraceCheckUtils]: 3: Hoare triple {27550#true} assume 0 < #StackHeapBarrier; {27550#true} is VALID [2020-07-18 06:35:33,687 INFO L280 TraceCheckUtils]: 4: Hoare triple {27550#true} assume true; {27550#true} is VALID [2020-07-18 06:35:33,687 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {27550#true} {27550#true} #205#return; {27550#true} is VALID [2020-07-18 06:35:33,687 INFO L263 TraceCheckUtils]: 6: Hoare triple {27550#true} call #t~ret21 := main(); {27550#true} is VALID [2020-07-18 06:35:33,687 INFO L280 TraceCheckUtils]: 7: Hoare triple {27550#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {27550#true} is VALID [2020-07-18 06:35:33,687 INFO L280 TraceCheckUtils]: 8: Hoare triple {27550#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {27550#true} is VALID [2020-07-18 06:35:33,688 INFO L263 TraceCheckUtils]: 9: Hoare triple {27550#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {27550#true} is VALID [2020-07-18 06:35:33,688 INFO L280 TraceCheckUtils]: 10: Hoare triple {27550#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {27550#true} is VALID [2020-07-18 06:35:33,688 INFO L280 TraceCheckUtils]: 11: Hoare triple {27550#true} ~start~0 := 0; {27557#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,689 INFO L280 TraceCheckUtils]: 12: Hoare triple {27557#(= 0 parse_expression_list_~start~0)} ~i~0 := -1; {27557#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,689 INFO L280 TraceCheckUtils]: 13: Hoare triple {27557#(= 0 parse_expression_list_~start~0)} ~j~0 := -1; {27557#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,690 INFO L280 TraceCheckUtils]: 14: Hoare triple {27557#(= 0 parse_expression_list_~start~0)} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {27557#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,691 INFO L280 TraceCheckUtils]: 15: Hoare triple {27557#(= 0 parse_expression_list_~start~0)} assume !(~str.base == 0 && ~str.offset == 0); {27557#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,691 INFO L280 TraceCheckUtils]: 16: Hoare triple {27557#(= 0 parse_expression_list_~start~0)} #t~post2 := ~i~0; {27557#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,692 INFO L280 TraceCheckUtils]: 17: Hoare triple {27557#(= 0 parse_expression_list_~start~0)} ~i~0 := 1 + #t~post2; {27557#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,692 INFO L280 TraceCheckUtils]: 18: Hoare triple {27557#(= 0 parse_expression_list_~start~0)} havoc #t~post2; {27557#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,693 INFO L280 TraceCheckUtils]: 19: Hoare triple {27557#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {27557#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,693 INFO L280 TraceCheckUtils]: 20: Hoare triple {27557#(= 0 parse_expression_list_~start~0)} #t~switch4 := 0 == #t~mem3; {27557#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,694 INFO L280 TraceCheckUtils]: 21: Hoare triple {27557#(= 0 parse_expression_list_~start~0)} assume #t~switch4; {27557#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,694 INFO L280 TraceCheckUtils]: 22: Hoare triple {27557#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {27557#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,695 INFO L280 TraceCheckUtils]: 23: Hoare triple {27557#(= 0 parse_expression_list_~start~0)} #t~short7 := 32 == #t~mem5; {27557#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,695 INFO L280 TraceCheckUtils]: 24: Hoare triple {27557#(= 0 parse_expression_list_~start~0)} assume #t~short7; {27557#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,696 INFO L280 TraceCheckUtils]: 25: Hoare triple {27557#(= 0 parse_expression_list_~start~0)} assume !!#t~short7; {27557#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,696 INFO L280 TraceCheckUtils]: 26: Hoare triple {27557#(= 0 parse_expression_list_~start~0)} havoc #t~mem5; {27557#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,697 INFO L280 TraceCheckUtils]: 27: Hoare triple {27557#(= 0 parse_expression_list_~start~0)} havoc #t~short7; {27557#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,697 INFO L280 TraceCheckUtils]: 28: Hoare triple {27557#(= 0 parse_expression_list_~start~0)} havoc #t~mem6; {27557#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,698 INFO L280 TraceCheckUtils]: 29: Hoare triple {27557#(= 0 parse_expression_list_~start~0)} #t~post8 := ~start~0; {27558#(= 0 |parse_expression_list_#t~post8|)} is VALID [2020-07-18 06:35:33,699 INFO L280 TraceCheckUtils]: 30: Hoare triple {27558#(= 0 |parse_expression_list_#t~post8|)} ~start~0 := 1 + #t~post8; {27559#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,699 INFO L280 TraceCheckUtils]: 31: Hoare triple {27559#(<= 1 parse_expression_list_~start~0)} havoc #t~post8; {27559#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,700 INFO L280 TraceCheckUtils]: 32: Hoare triple {27559#(<= 1 parse_expression_list_~start~0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {27559#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,700 INFO L280 TraceCheckUtils]: 33: Hoare triple {27559#(<= 1 parse_expression_list_~start~0)} #t~short7 := 32 == #t~mem5; {27559#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,701 INFO L280 TraceCheckUtils]: 34: Hoare triple {27559#(<= 1 parse_expression_list_~start~0)} assume #t~short7; {27559#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,701 INFO L280 TraceCheckUtils]: 35: Hoare triple {27559#(<= 1 parse_expression_list_~start~0)} assume !!#t~short7; {27559#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,702 INFO L280 TraceCheckUtils]: 36: Hoare triple {27559#(<= 1 parse_expression_list_~start~0)} havoc #t~mem5; {27559#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,702 INFO L280 TraceCheckUtils]: 37: Hoare triple {27559#(<= 1 parse_expression_list_~start~0)} havoc #t~short7; {27559#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,703 INFO L280 TraceCheckUtils]: 38: Hoare triple {27559#(<= 1 parse_expression_list_~start~0)} havoc #t~mem6; {27559#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,703 INFO L280 TraceCheckUtils]: 39: Hoare triple {27559#(<= 1 parse_expression_list_~start~0)} #t~post8 := ~start~0; {27560#(<= 1 |parse_expression_list_#t~post8|)} is VALID [2020-07-18 06:35:33,704 INFO L280 TraceCheckUtils]: 40: Hoare triple {27560#(<= 1 |parse_expression_list_#t~post8|)} ~start~0 := 1 + #t~post8; {27561#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,705 INFO L280 TraceCheckUtils]: 41: Hoare triple {27561#(<= 2 parse_expression_list_~start~0)} havoc #t~post8; {27561#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,705 INFO L280 TraceCheckUtils]: 42: Hoare triple {27561#(<= 2 parse_expression_list_~start~0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {27561#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,706 INFO L280 TraceCheckUtils]: 43: Hoare triple {27561#(<= 2 parse_expression_list_~start~0)} #t~short7 := 32 == #t~mem5; {27561#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,706 INFO L280 TraceCheckUtils]: 44: Hoare triple {27561#(<= 2 parse_expression_list_~start~0)} assume !#t~short7; {27561#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,707 INFO L280 TraceCheckUtils]: 45: Hoare triple {27561#(<= 2 parse_expression_list_~start~0)} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {27561#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,707 INFO L280 TraceCheckUtils]: 46: Hoare triple {27561#(<= 2 parse_expression_list_~start~0)} #t~short7 := 9 == #t~mem6; {27561#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,708 INFO L280 TraceCheckUtils]: 47: Hoare triple {27561#(<= 2 parse_expression_list_~start~0)} assume !#t~short7; {27561#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,709 INFO L280 TraceCheckUtils]: 48: Hoare triple {27561#(<= 2 parse_expression_list_~start~0)} havoc #t~mem5; {27561#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,709 INFO L280 TraceCheckUtils]: 49: Hoare triple {27561#(<= 2 parse_expression_list_~start~0)} havoc #t~short7; {27561#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,710 INFO L280 TraceCheckUtils]: 50: Hoare triple {27561#(<= 2 parse_expression_list_~start~0)} havoc #t~mem6; {27561#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,710 INFO L280 TraceCheckUtils]: 51: Hoare triple {27561#(<= 2 parse_expression_list_~start~0)} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {27561#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,711 INFO L280 TraceCheckUtils]: 52: Hoare triple {27561#(<= 2 parse_expression_list_~start~0)} assume !(34 == #t~mem9); {27561#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,711 INFO L280 TraceCheckUtils]: 53: Hoare triple {27561#(<= 2 parse_expression_list_~start~0)} havoc #t~mem9; {27561#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,712 INFO L280 TraceCheckUtils]: 54: Hoare triple {27561#(<= 2 parse_expression_list_~start~0)} ~j~0 := ~i~0 - 1; {27561#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,713 INFO L280 TraceCheckUtils]: 55: Hoare triple {27561#(<= 2 parse_expression_list_~start~0)} #t~short14 := 0 < ~j~0; {27562#(or (<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0) |parse_expression_list_#t~short14|)} is VALID [2020-07-18 06:35:33,713 INFO L280 TraceCheckUtils]: 56: Hoare triple {27562#(or (<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0) |parse_expression_list_#t~short14|)} assume !#t~short14; {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,714 INFO L280 TraceCheckUtils]: 57: Hoare triple {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short14; {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,714 INFO L280 TraceCheckUtils]: 58: Hoare triple {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short14; {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,715 INFO L280 TraceCheckUtils]: 59: Hoare triple {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short13; {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,715 INFO L280 TraceCheckUtils]: 60: Hoare triple {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem12; {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,716 INFO L280 TraceCheckUtils]: 61: Hoare triple {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem11; {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,716 INFO L280 TraceCheckUtils]: 62: Hoare triple {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #t~short17 := 0 < ~j~0; {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,717 INFO L280 TraceCheckUtils]: 63: Hoare triple {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short17; {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,717 INFO L280 TraceCheckUtils]: 64: Hoare triple {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short17; {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,718 INFO L280 TraceCheckUtils]: 65: Hoare triple {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short17; {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,718 INFO L280 TraceCheckUtils]: 66: Hoare triple {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem16; {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,719 INFO L280 TraceCheckUtils]: 67: Hoare triple {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume ~start~0 <= ~j~0; {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,719 INFO L263 TraceCheckUtils]: 68: Hoare triple {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} call #t~ret19.base, #t~ret19.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0, 1 + (~j~0 - ~start~0)); {27550#true} is VALID [2020-07-18 06:35:33,719 INFO L280 TraceCheckUtils]: 69: Hoare triple {27550#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {27550#true} is VALID [2020-07-18 06:35:33,719 INFO L280 TraceCheckUtils]: 70: Hoare triple {27550#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {27550#true} is VALID [2020-07-18 06:35:33,720 INFO L280 TraceCheckUtils]: 71: Hoare triple {27550#true} ~n := #in~n; {27550#true} is VALID [2020-07-18 06:35:33,720 INFO L280 TraceCheckUtils]: 72: Hoare triple {27550#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {27550#true} is VALID [2020-07-18 06:35:33,720 INFO L280 TraceCheckUtils]: 73: Hoare triple {27550#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {27550#true} is VALID [2020-07-18 06:35:33,720 INFO L280 TraceCheckUtils]: 74: Hoare triple {27550#true} havoc #t~ret0.base, #t~ret0.offset; {27550#true} is VALID [2020-07-18 06:35:33,720 INFO L280 TraceCheckUtils]: 75: Hoare triple {27550#true} assume true; {27550#true} is VALID [2020-07-18 06:35:33,722 INFO L275 TraceCheckUtils]: 76: Hoare quadruple {27550#true} {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #201#return; {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,722 INFO L280 TraceCheckUtils]: 77: Hoare triple {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~ret19.base, #t~ret19.offset; {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:33,723 INFO L263 TraceCheckUtils]: 78: Hoare triple {27563#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {27572#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-18 06:35:33,724 INFO L280 TraceCheckUtils]: 79: Hoare triple {27572#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {27573#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-18 06:35:33,724 INFO L280 TraceCheckUtils]: 80: Hoare triple {27573#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {27551#false} is VALID [2020-07-18 06:35:33,725 INFO L280 TraceCheckUtils]: 81: Hoare triple {27551#false} assume !false; {27551#false} is VALID [2020-07-18 06:35:33,731 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 5 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-18 06:35:33,731 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [363371125] [2020-07-18 06:35:33,731 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 06:35:33,732 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2020-07-18 06:35:33,732 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1444051203] [2020-07-18 06:35:33,732 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 82 [2020-07-18 06:35:33,733 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:35:33,733 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-18 06:35:33,821 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:33,821 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-18 06:35:33,822 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:35:33,822 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-18 06:35:33,822 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=109, Unknown=0, NotChecked=0, Total=132 [2020-07-18 06:35:33,822 INFO L87 Difference]: Start difference. First operand 355 states and 393 transitions. Second operand 12 states. [2020-07-18 06:35:37,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:37,134 INFO L93 Difference]: Finished difference Result 694 states and 770 transitions. [2020-07-18 06:35:37,134 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-18 06:35:37,134 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 82 [2020-07-18 06:35:37,134 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:35:37,134 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-18 06:35:37,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 437 transitions. [2020-07-18 06:35:37,136 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-18 06:35:37,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 437 transitions. [2020-07-18 06:35:37,139 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 437 transitions. [2020-07-18 06:35:37,610 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 437 edges. 437 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:37,624 INFO L225 Difference]: With dead ends: 694 [2020-07-18 06:35:37,624 INFO L226 Difference]: Without dead ends: 525 [2020-07-18 06:35:37,625 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=391, Unknown=0, NotChecked=0, Total=462 [2020-07-18 06:35:37,625 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 525 states. [2020-07-18 06:35:38,292 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 525 to 390. [2020-07-18 06:35:38,292 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:35:38,292 INFO L82 GeneralOperation]: Start isEquivalent. First operand 525 states. Second operand 390 states. [2020-07-18 06:35:38,292 INFO L74 IsIncluded]: Start isIncluded. First operand 525 states. Second operand 390 states. [2020-07-18 06:35:38,293 INFO L87 Difference]: Start difference. First operand 525 states. Second operand 390 states. [2020-07-18 06:35:38,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:38,306 INFO L93 Difference]: Finished difference Result 525 states and 583 transitions. [2020-07-18 06:35:38,306 INFO L276 IsEmpty]: Start isEmpty. Operand 525 states and 583 transitions. [2020-07-18 06:35:38,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:38,307 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:38,307 INFO L74 IsIncluded]: Start isIncluded. First operand 390 states. Second operand 525 states. [2020-07-18 06:35:38,308 INFO L87 Difference]: Start difference. First operand 390 states. Second operand 525 states. [2020-07-18 06:35:38,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:38,320 INFO L93 Difference]: Finished difference Result 525 states and 583 transitions. [2020-07-18 06:35:38,320 INFO L276 IsEmpty]: Start isEmpty. Operand 525 states and 583 transitions. [2020-07-18 06:35:38,321 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:38,321 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:38,321 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:35:38,322 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:35:38,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 390 states. [2020-07-18 06:35:38,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 390 states to 390 states and 432 transitions. [2020-07-18 06:35:38,328 INFO L78 Accepts]: Start accepts. Automaton has 390 states and 432 transitions. Word has length 82 [2020-07-18 06:35:38,329 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:35:38,329 INFO L479 AbstractCegarLoop]: Abstraction has 390 states and 432 transitions. [2020-07-18 06:35:38,329 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-18 06:35:38,329 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 390 states and 432 transitions. [2020-07-18 06:35:38,950 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 432 edges. 432 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:38,950 INFO L276 IsEmpty]: Start isEmpty. Operand 390 states and 432 transitions. [2020-07-18 06:35:38,951 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2020-07-18 06:35:38,951 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:35:38,952 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 06:35:38,952 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16 [2020-07-18 06:35:38,952 INFO L427 AbstractCegarLoop]: === Iteration 18 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:35:38,952 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:35:38,952 INFO L82 PathProgramCache]: Analyzing trace with hash -1836590973, now seen corresponding path program 2 times [2020-07-18 06:35:38,952 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:35:38,953 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [845050931] [2020-07-18 06:35:38,953 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:35:38,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:39,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:39,138 INFO L280 TraceCheckUtils]: 0: Hoare triple {30841#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {30815#true} is VALID [2020-07-18 06:35:39,138 INFO L280 TraceCheckUtils]: 1: Hoare triple {30815#true} #valid := #valid[0 := 0]; {30815#true} is VALID [2020-07-18 06:35:39,139 INFO L280 TraceCheckUtils]: 2: Hoare triple {30815#true} assume 0 < #StackHeapBarrier; {30815#true} is VALID [2020-07-18 06:35:39,139 INFO L280 TraceCheckUtils]: 3: Hoare triple {30815#true} assume true; {30815#true} is VALID [2020-07-18 06:35:39,139 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {30815#true} {30815#true} #205#return; {30815#true} is VALID [2020-07-18 06:35:39,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:39,143 INFO L280 TraceCheckUtils]: 0: Hoare triple {30815#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {30815#true} is VALID [2020-07-18 06:35:39,144 INFO L280 TraceCheckUtils]: 1: Hoare triple {30815#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {30815#true} is VALID [2020-07-18 06:35:39,144 INFO L280 TraceCheckUtils]: 2: Hoare triple {30815#true} ~n := #in~n; {30815#true} is VALID [2020-07-18 06:35:39,144 INFO L280 TraceCheckUtils]: 3: Hoare triple {30815#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {30815#true} is VALID [2020-07-18 06:35:39,144 INFO L280 TraceCheckUtils]: 4: Hoare triple {30815#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {30815#true} is VALID [2020-07-18 06:35:39,144 INFO L280 TraceCheckUtils]: 5: Hoare triple {30815#true} havoc #t~ret0.base, #t~ret0.offset; {30815#true} is VALID [2020-07-18 06:35:39,144 INFO L280 TraceCheckUtils]: 6: Hoare triple {30815#true} assume true; {30815#true} is VALID [2020-07-18 06:35:39,145 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {30815#true} {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} #201#return; {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,146 INFO L263 TraceCheckUtils]: 0: Hoare triple {30815#true} call ULTIMATE.init(); {30841#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:35:39,146 INFO L280 TraceCheckUtils]: 1: Hoare triple {30841#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {30815#true} is VALID [2020-07-18 06:35:39,147 INFO L280 TraceCheckUtils]: 2: Hoare triple {30815#true} #valid := #valid[0 := 0]; {30815#true} is VALID [2020-07-18 06:35:39,147 INFO L280 TraceCheckUtils]: 3: Hoare triple {30815#true} assume 0 < #StackHeapBarrier; {30815#true} is VALID [2020-07-18 06:35:39,147 INFO L280 TraceCheckUtils]: 4: Hoare triple {30815#true} assume true; {30815#true} is VALID [2020-07-18 06:35:39,148 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {30815#true} {30815#true} #205#return; {30815#true} is VALID [2020-07-18 06:35:39,148 INFO L263 TraceCheckUtils]: 6: Hoare triple {30815#true} call #t~ret21 := main(); {30815#true} is VALID [2020-07-18 06:35:39,148 INFO L280 TraceCheckUtils]: 7: Hoare triple {30815#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {30815#true} is VALID [2020-07-18 06:35:39,148 INFO L280 TraceCheckUtils]: 8: Hoare triple {30815#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {30815#true} is VALID [2020-07-18 06:35:39,149 INFO L263 TraceCheckUtils]: 9: Hoare triple {30815#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {30815#true} is VALID [2020-07-18 06:35:39,149 INFO L280 TraceCheckUtils]: 10: Hoare triple {30815#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {30815#true} is VALID [2020-07-18 06:35:39,154 INFO L280 TraceCheckUtils]: 11: Hoare triple {30815#true} ~start~0 := 0; {30822#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,154 INFO L280 TraceCheckUtils]: 12: Hoare triple {30822#(= 0 parse_expression_list_~start~0)} ~i~0 := -1; {30822#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,155 INFO L280 TraceCheckUtils]: 13: Hoare triple {30822#(= 0 parse_expression_list_~start~0)} ~j~0 := -1; {30822#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,155 INFO L280 TraceCheckUtils]: 14: Hoare triple {30822#(= 0 parse_expression_list_~start~0)} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {30822#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,156 INFO L280 TraceCheckUtils]: 15: Hoare triple {30822#(= 0 parse_expression_list_~start~0)} assume !(~str.base == 0 && ~str.offset == 0); {30822#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,156 INFO L280 TraceCheckUtils]: 16: Hoare triple {30822#(= 0 parse_expression_list_~start~0)} #t~post2 := ~i~0; {30822#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,157 INFO L280 TraceCheckUtils]: 17: Hoare triple {30822#(= 0 parse_expression_list_~start~0)} ~i~0 := 1 + #t~post2; {30822#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,157 INFO L280 TraceCheckUtils]: 18: Hoare triple {30822#(= 0 parse_expression_list_~start~0)} havoc #t~post2; {30822#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,158 INFO L280 TraceCheckUtils]: 19: Hoare triple {30822#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {30822#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,159 INFO L280 TraceCheckUtils]: 20: Hoare triple {30822#(= 0 parse_expression_list_~start~0)} #t~switch4 := 0 == #t~mem3; {30822#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,159 INFO L280 TraceCheckUtils]: 21: Hoare triple {30822#(= 0 parse_expression_list_~start~0)} assume #t~switch4; {30822#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,160 INFO L280 TraceCheckUtils]: 22: Hoare triple {30822#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {30822#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,160 INFO L280 TraceCheckUtils]: 23: Hoare triple {30822#(= 0 parse_expression_list_~start~0)} #t~short7 := 32 == #t~mem5; {30822#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,161 INFO L280 TraceCheckUtils]: 24: Hoare triple {30822#(= 0 parse_expression_list_~start~0)} assume #t~short7; {30822#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,161 INFO L280 TraceCheckUtils]: 25: Hoare triple {30822#(= 0 parse_expression_list_~start~0)} assume !!#t~short7; {30822#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,162 INFO L280 TraceCheckUtils]: 26: Hoare triple {30822#(= 0 parse_expression_list_~start~0)} havoc #t~mem5; {30822#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,162 INFO L280 TraceCheckUtils]: 27: Hoare triple {30822#(= 0 parse_expression_list_~start~0)} havoc #t~short7; {30822#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,163 INFO L280 TraceCheckUtils]: 28: Hoare triple {30822#(= 0 parse_expression_list_~start~0)} havoc #t~mem6; {30822#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,163 INFO L280 TraceCheckUtils]: 29: Hoare triple {30822#(= 0 parse_expression_list_~start~0)} #t~post8 := ~start~0; {30823#(= 0 |parse_expression_list_#t~post8|)} is VALID [2020-07-18 06:35:39,164 INFO L280 TraceCheckUtils]: 30: Hoare triple {30823#(= 0 |parse_expression_list_#t~post8|)} ~start~0 := 1 + #t~post8; {30824#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,165 INFO L280 TraceCheckUtils]: 31: Hoare triple {30824#(<= 1 parse_expression_list_~start~0)} havoc #t~post8; {30824#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,165 INFO L280 TraceCheckUtils]: 32: Hoare triple {30824#(<= 1 parse_expression_list_~start~0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {30824#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,166 INFO L280 TraceCheckUtils]: 33: Hoare triple {30824#(<= 1 parse_expression_list_~start~0)} #t~short7 := 32 == #t~mem5; {30824#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,166 INFO L280 TraceCheckUtils]: 34: Hoare triple {30824#(<= 1 parse_expression_list_~start~0)} assume #t~short7; {30824#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,167 INFO L280 TraceCheckUtils]: 35: Hoare triple {30824#(<= 1 parse_expression_list_~start~0)} assume !!#t~short7; {30824#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,167 INFO L280 TraceCheckUtils]: 36: Hoare triple {30824#(<= 1 parse_expression_list_~start~0)} havoc #t~mem5; {30824#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,168 INFO L280 TraceCheckUtils]: 37: Hoare triple {30824#(<= 1 parse_expression_list_~start~0)} havoc #t~short7; {30824#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,168 INFO L280 TraceCheckUtils]: 38: Hoare triple {30824#(<= 1 parse_expression_list_~start~0)} havoc #t~mem6; {30824#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,169 INFO L280 TraceCheckUtils]: 39: Hoare triple {30824#(<= 1 parse_expression_list_~start~0)} #t~post8 := ~start~0; {30825#(<= 1 |parse_expression_list_#t~post8|)} is VALID [2020-07-18 06:35:39,170 INFO L280 TraceCheckUtils]: 40: Hoare triple {30825#(<= 1 |parse_expression_list_#t~post8|)} ~start~0 := 1 + #t~post8; {30826#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,170 INFO L280 TraceCheckUtils]: 41: Hoare triple {30826#(<= 2 parse_expression_list_~start~0)} havoc #t~post8; {30826#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,171 INFO L280 TraceCheckUtils]: 42: Hoare triple {30826#(<= 2 parse_expression_list_~start~0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {30826#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,171 INFO L280 TraceCheckUtils]: 43: Hoare triple {30826#(<= 2 parse_expression_list_~start~0)} #t~short7 := 32 == #t~mem5; {30826#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,172 INFO L280 TraceCheckUtils]: 44: Hoare triple {30826#(<= 2 parse_expression_list_~start~0)} assume !#t~short7; {30826#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,172 INFO L280 TraceCheckUtils]: 45: Hoare triple {30826#(<= 2 parse_expression_list_~start~0)} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {30826#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,173 INFO L280 TraceCheckUtils]: 46: Hoare triple {30826#(<= 2 parse_expression_list_~start~0)} #t~short7 := 9 == #t~mem6; {30826#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,173 INFO L280 TraceCheckUtils]: 47: Hoare triple {30826#(<= 2 parse_expression_list_~start~0)} assume !#t~short7; {30826#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,174 INFO L280 TraceCheckUtils]: 48: Hoare triple {30826#(<= 2 parse_expression_list_~start~0)} havoc #t~mem5; {30826#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,174 INFO L280 TraceCheckUtils]: 49: Hoare triple {30826#(<= 2 parse_expression_list_~start~0)} havoc #t~short7; {30826#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,175 INFO L280 TraceCheckUtils]: 50: Hoare triple {30826#(<= 2 parse_expression_list_~start~0)} havoc #t~mem6; {30826#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,176 INFO L280 TraceCheckUtils]: 51: Hoare triple {30826#(<= 2 parse_expression_list_~start~0)} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {30826#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,177 INFO L280 TraceCheckUtils]: 52: Hoare triple {30826#(<= 2 parse_expression_list_~start~0)} assume 34 == #t~mem9; {30826#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,177 INFO L280 TraceCheckUtils]: 53: Hoare triple {30826#(<= 2 parse_expression_list_~start~0)} havoc #t~mem9; {30826#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,178 INFO L280 TraceCheckUtils]: 54: Hoare triple {30826#(<= 2 parse_expression_list_~start~0)} #t~post10 := ~start~0; {30827#(<= 2 |parse_expression_list_#t~post10|)} is VALID [2020-07-18 06:35:39,178 INFO L280 TraceCheckUtils]: 55: Hoare triple {30827#(<= 2 |parse_expression_list_#t~post10|)} ~start~0 := 1 + #t~post10; {30828#(<= 3 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,179 INFO L280 TraceCheckUtils]: 56: Hoare triple {30828#(<= 3 parse_expression_list_~start~0)} havoc #t~post10; {30828#(<= 3 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,180 INFO L280 TraceCheckUtils]: 57: Hoare triple {30828#(<= 3 parse_expression_list_~start~0)} ~j~0 := ~i~0 - 1; {30828#(<= 3 parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,180 INFO L280 TraceCheckUtils]: 58: Hoare triple {30828#(<= 3 parse_expression_list_~start~0)} #t~short14 := 0 < ~j~0; {30829#(or |parse_expression_list_#t~short14| (<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0))} is VALID [2020-07-18 06:35:39,181 INFO L280 TraceCheckUtils]: 59: Hoare triple {30829#(or |parse_expression_list_#t~short14| (<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0))} assume !#t~short14; {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,182 INFO L280 TraceCheckUtils]: 60: Hoare triple {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} assume !#t~short14; {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,182 INFO L280 TraceCheckUtils]: 61: Hoare triple {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} havoc #t~short14; {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,183 INFO L280 TraceCheckUtils]: 62: Hoare triple {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} havoc #t~short13; {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,183 INFO L280 TraceCheckUtils]: 63: Hoare triple {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} havoc #t~mem12; {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,184 INFO L280 TraceCheckUtils]: 64: Hoare triple {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} havoc #t~mem11; {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,184 INFO L280 TraceCheckUtils]: 65: Hoare triple {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} #t~short17 := 0 < ~j~0; {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,185 INFO L280 TraceCheckUtils]: 66: Hoare triple {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} assume !#t~short17; {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,185 INFO L280 TraceCheckUtils]: 67: Hoare triple {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} assume !#t~short17; {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,186 INFO L280 TraceCheckUtils]: 68: Hoare triple {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} havoc #t~short17; {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,186 INFO L280 TraceCheckUtils]: 69: Hoare triple {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} havoc #t~mem16; {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,187 INFO L280 TraceCheckUtils]: 70: Hoare triple {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} assume ~start~0 <= ~j~0; {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,187 INFO L263 TraceCheckUtils]: 71: Hoare triple {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} call #t~ret19.base, #t~ret19.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0, 1 + (~j~0 - ~start~0)); {30815#true} is VALID [2020-07-18 06:35:39,187 INFO L280 TraceCheckUtils]: 72: Hoare triple {30815#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {30815#true} is VALID [2020-07-18 06:35:39,188 INFO L280 TraceCheckUtils]: 73: Hoare triple {30815#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {30815#true} is VALID [2020-07-18 06:35:39,188 INFO L280 TraceCheckUtils]: 74: Hoare triple {30815#true} ~n := #in~n; {30815#true} is VALID [2020-07-18 06:35:39,188 INFO L280 TraceCheckUtils]: 75: Hoare triple {30815#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {30815#true} is VALID [2020-07-18 06:35:39,188 INFO L280 TraceCheckUtils]: 76: Hoare triple {30815#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {30815#true} is VALID [2020-07-18 06:35:39,188 INFO L280 TraceCheckUtils]: 77: Hoare triple {30815#true} havoc #t~ret0.base, #t~ret0.offset; {30815#true} is VALID [2020-07-18 06:35:39,188 INFO L280 TraceCheckUtils]: 78: Hoare triple {30815#true} assume true; {30815#true} is VALID [2020-07-18 06:35:39,192 INFO L275 TraceCheckUtils]: 79: Hoare quadruple {30815#true} {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} #201#return; {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,193 INFO L280 TraceCheckUtils]: 80: Hoare triple {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} havoc #t~ret19.base, #t~ret19.offset; {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-18 06:35:39,194 INFO L263 TraceCheckUtils]: 81: Hoare triple {30830#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {30839#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-18 06:35:39,195 INFO L280 TraceCheckUtils]: 82: Hoare triple {30839#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {30840#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-18 06:35:39,195 INFO L280 TraceCheckUtils]: 83: Hoare triple {30840#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {30816#false} is VALID [2020-07-18 06:35:39,195 INFO L280 TraceCheckUtils]: 84: Hoare triple {30816#false} assume !false; {30816#false} is VALID [2020-07-18 06:35:39,203 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 5 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-18 06:35:39,203 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [845050931] [2020-07-18 06:35:39,203 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 06:35:39,203 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14] total 14 [2020-07-18 06:35:39,204 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1355619391] [2020-07-18 06:35:39,206 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 85 [2020-07-18 06:35:39,207 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:35:39,207 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2020-07-18 06:35:39,290 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:39,291 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2020-07-18 06:35:39,291 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:35:39,294 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2020-07-18 06:35:39,295 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=153, Unknown=0, NotChecked=0, Total=182 [2020-07-18 06:35:39,295 INFO L87 Difference]: Start difference. First operand 390 states and 432 transitions. Second operand 14 states. [2020-07-18 06:35:43,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:43,301 INFO L93 Difference]: Finished difference Result 680 states and 754 transitions. [2020-07-18 06:35:43,301 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-18 06:35:43,301 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 85 [2020-07-18 06:35:43,302 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:35:43,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-18 06:35:43,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 483 transitions. [2020-07-18 06:35:43,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-18 06:35:43,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 483 transitions. [2020-07-18 06:35:43,311 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 483 transitions. [2020-07-18 06:35:43,843 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 483 edges. 483 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:43,855 INFO L225 Difference]: With dead ends: 680 [2020-07-18 06:35:43,855 INFO L226 Difference]: Without dead ends: 428 [2020-07-18 06:35:43,857 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 109 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=99, Invalid=603, Unknown=0, NotChecked=0, Total=702 [2020-07-18 06:35:43,858 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 428 states. [2020-07-18 06:35:44,276 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 428 to 247. [2020-07-18 06:35:44,276 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:35:44,276 INFO L82 GeneralOperation]: Start isEquivalent. First operand 428 states. Second operand 247 states. [2020-07-18 06:35:44,276 INFO L74 IsIncluded]: Start isIncluded. First operand 428 states. Second operand 247 states. [2020-07-18 06:35:44,277 INFO L87 Difference]: Start difference. First operand 428 states. Second operand 247 states. [2020-07-18 06:35:44,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:44,289 INFO L93 Difference]: Finished difference Result 428 states and 476 transitions. [2020-07-18 06:35:44,290 INFO L276 IsEmpty]: Start isEmpty. Operand 428 states and 476 transitions. [2020-07-18 06:35:44,290 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:44,291 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:44,291 INFO L74 IsIncluded]: Start isIncluded. First operand 247 states. Second operand 428 states. [2020-07-18 06:35:44,291 INFO L87 Difference]: Start difference. First operand 247 states. Second operand 428 states. [2020-07-18 06:35:44,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:44,303 INFO L93 Difference]: Finished difference Result 428 states and 476 transitions. [2020-07-18 06:35:44,303 INFO L276 IsEmpty]: Start isEmpty. Operand 428 states and 476 transitions. [2020-07-18 06:35:44,304 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:44,304 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:44,304 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:35:44,304 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:35:44,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 247 states. [2020-07-18 06:35:44,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 247 states to 247 states and 270 transitions. [2020-07-18 06:35:44,309 INFO L78 Accepts]: Start accepts. Automaton has 247 states and 270 transitions. Word has length 85 [2020-07-18 06:35:44,309 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:35:44,309 INFO L479 AbstractCegarLoop]: Abstraction has 247 states and 270 transitions. [2020-07-18 06:35:44,309 INFO L480 AbstractCegarLoop]: Interpolant automaton has 14 states. [2020-07-18 06:35:44,309 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 247 states and 270 transitions. [2020-07-18 06:35:44,701 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 270 edges. 270 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:44,701 INFO L276 IsEmpty]: Start isEmpty. Operand 247 states and 270 transitions. [2020-07-18 06:35:44,702 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2020-07-18 06:35:44,702 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:35:44,702 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 06:35:44,702 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17 [2020-07-18 06:35:44,703 INFO L427 AbstractCegarLoop]: === Iteration 19 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:35:44,703 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:35:44,703 INFO L82 PathProgramCache]: Analyzing trace with hash 1723821108, now seen corresponding path program 2 times [2020-07-18 06:35:44,703 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:35:44,703 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1343108222] [2020-07-18 06:35:44,704 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:35:44,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:44,779 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:44,781 INFO L280 TraceCheckUtils]: 0: Hoare triple {33598#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {33580#true} is VALID [2020-07-18 06:35:44,781 INFO L280 TraceCheckUtils]: 1: Hoare triple {33580#true} #valid := #valid[0 := 0]; {33580#true} is VALID [2020-07-18 06:35:44,782 INFO L280 TraceCheckUtils]: 2: Hoare triple {33580#true} assume 0 < #StackHeapBarrier; {33580#true} is VALID [2020-07-18 06:35:44,782 INFO L280 TraceCheckUtils]: 3: Hoare triple {33580#true} assume true; {33580#true} is VALID [2020-07-18 06:35:44,782 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {33580#true} {33580#true} #205#return; {33580#true} is VALID [2020-07-18 06:35:44,792 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 06:35:44,799 INFO L280 TraceCheckUtils]: 0: Hoare triple {33580#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {33580#true} is VALID [2020-07-18 06:35:44,800 INFO L280 TraceCheckUtils]: 1: Hoare triple {33580#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {33580#true} is VALID [2020-07-18 06:35:44,800 INFO L280 TraceCheckUtils]: 2: Hoare triple {33580#true} ~n := #in~n; {33580#true} is VALID [2020-07-18 06:35:44,800 INFO L280 TraceCheckUtils]: 3: Hoare triple {33580#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {33580#true} is VALID [2020-07-18 06:35:44,800 INFO L280 TraceCheckUtils]: 4: Hoare triple {33580#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {33580#true} is VALID [2020-07-18 06:35:44,800 INFO L280 TraceCheckUtils]: 5: Hoare triple {33580#true} havoc #t~ret0.base, #t~ret0.offset; {33580#true} is VALID [2020-07-18 06:35:44,800 INFO L280 TraceCheckUtils]: 6: Hoare triple {33580#true} assume true; {33580#true} is VALID [2020-07-18 06:35:44,800 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {33580#true} {33581#false} #201#return; {33581#false} is VALID [2020-07-18 06:35:44,801 INFO L263 TraceCheckUtils]: 0: Hoare triple {33580#true} call ULTIMATE.init(); {33598#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 06:35:44,801 INFO L280 TraceCheckUtils]: 1: Hoare triple {33598#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {33580#true} is VALID [2020-07-18 06:35:44,801 INFO L280 TraceCheckUtils]: 2: Hoare triple {33580#true} #valid := #valid[0 := 0]; {33580#true} is VALID [2020-07-18 06:35:44,802 INFO L280 TraceCheckUtils]: 3: Hoare triple {33580#true} assume 0 < #StackHeapBarrier; {33580#true} is VALID [2020-07-18 06:35:44,802 INFO L280 TraceCheckUtils]: 4: Hoare triple {33580#true} assume true; {33580#true} is VALID [2020-07-18 06:35:44,802 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {33580#true} {33580#true} #205#return; {33580#true} is VALID [2020-07-18 06:35:44,802 INFO L263 TraceCheckUtils]: 6: Hoare triple {33580#true} call #t~ret21 := main(); {33580#true} is VALID [2020-07-18 06:35:44,802 INFO L280 TraceCheckUtils]: 7: Hoare triple {33580#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {33580#true} is VALID [2020-07-18 06:35:44,802 INFO L280 TraceCheckUtils]: 8: Hoare triple {33580#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {33580#true} is VALID [2020-07-18 06:35:44,802 INFO L263 TraceCheckUtils]: 9: Hoare triple {33580#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {33580#true} is VALID [2020-07-18 06:35:44,803 INFO L280 TraceCheckUtils]: 10: Hoare triple {33580#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {33580#true} is VALID [2020-07-18 06:35:44,803 INFO L280 TraceCheckUtils]: 11: Hoare triple {33580#true} ~start~0 := 0; {33580#true} is VALID [2020-07-18 06:35:44,803 INFO L280 TraceCheckUtils]: 12: Hoare triple {33580#true} ~i~0 := -1; {33580#true} is VALID [2020-07-18 06:35:44,803 INFO L280 TraceCheckUtils]: 13: Hoare triple {33580#true} ~j~0 := -1; {33580#true} is VALID [2020-07-18 06:35:44,803 INFO L280 TraceCheckUtils]: 14: Hoare triple {33580#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {33580#true} is VALID [2020-07-18 06:35:44,803 INFO L280 TraceCheckUtils]: 15: Hoare triple {33580#true} assume !(~str.base == 0 && ~str.offset == 0); {33580#true} is VALID [2020-07-18 06:35:44,803 INFO L280 TraceCheckUtils]: 16: Hoare triple {33580#true} #t~post2 := ~i~0; {33580#true} is VALID [2020-07-18 06:35:44,804 INFO L280 TraceCheckUtils]: 17: Hoare triple {33580#true} ~i~0 := 1 + #t~post2; {33580#true} is VALID [2020-07-18 06:35:44,804 INFO L280 TraceCheckUtils]: 18: Hoare triple {33580#true} havoc #t~post2; {33580#true} is VALID [2020-07-18 06:35:44,804 INFO L280 TraceCheckUtils]: 19: Hoare triple {33580#true} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {33580#true} is VALID [2020-07-18 06:35:44,804 INFO L280 TraceCheckUtils]: 20: Hoare triple {33580#true} #t~switch4 := 0 == #t~mem3; {33580#true} is VALID [2020-07-18 06:35:44,804 INFO L280 TraceCheckUtils]: 21: Hoare triple {33580#true} assume !#t~switch4; {33580#true} is VALID [2020-07-18 06:35:44,804 INFO L280 TraceCheckUtils]: 22: Hoare triple {33580#true} havoc #t~switch4; {33580#true} is VALID [2020-07-18 06:35:44,805 INFO L280 TraceCheckUtils]: 23: Hoare triple {33580#true} havoc #t~mem3; {33580#true} is VALID [2020-07-18 06:35:44,805 INFO L280 TraceCheckUtils]: 24: Hoare triple {33580#true} SUMMARY for call #t~mem1 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L51-1 {33580#true} is VALID [2020-07-18 06:35:44,805 INFO L280 TraceCheckUtils]: 25: Hoare triple {33580#true} assume !!(0 != #t~mem1); {33580#true} is VALID [2020-07-18 06:35:44,805 INFO L280 TraceCheckUtils]: 26: Hoare triple {33580#true} havoc #t~mem1; {33580#true} is VALID [2020-07-18 06:35:44,805 INFO L280 TraceCheckUtils]: 27: Hoare triple {33580#true} #t~post2 := ~i~0; {33580#true} is VALID [2020-07-18 06:35:44,805 INFO L280 TraceCheckUtils]: 28: Hoare triple {33580#true} ~i~0 := 1 + #t~post2; {33580#true} is VALID [2020-07-18 06:35:44,805 INFO L280 TraceCheckUtils]: 29: Hoare triple {33580#true} havoc #t~post2; {33580#true} is VALID [2020-07-18 06:35:44,805 INFO L280 TraceCheckUtils]: 30: Hoare triple {33580#true} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {33580#true} is VALID [2020-07-18 06:35:44,805 INFO L280 TraceCheckUtils]: 31: Hoare triple {33580#true} #t~switch4 := 0 == #t~mem3; {33580#true} is VALID [2020-07-18 06:35:44,806 INFO L280 TraceCheckUtils]: 32: Hoare triple {33580#true} assume !#t~switch4; {33580#true} is VALID [2020-07-18 06:35:44,806 INFO L280 TraceCheckUtils]: 33: Hoare triple {33580#true} havoc #t~switch4; {33580#true} is VALID [2020-07-18 06:35:44,806 INFO L280 TraceCheckUtils]: 34: Hoare triple {33580#true} havoc #t~mem3; {33580#true} is VALID [2020-07-18 06:35:44,806 INFO L280 TraceCheckUtils]: 35: Hoare triple {33580#true} SUMMARY for call #t~mem1 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L51-1 {33580#true} is VALID [2020-07-18 06:35:44,806 INFO L280 TraceCheckUtils]: 36: Hoare triple {33580#true} assume !!(0 != #t~mem1); {33580#true} is VALID [2020-07-18 06:35:44,806 INFO L280 TraceCheckUtils]: 37: Hoare triple {33580#true} havoc #t~mem1; {33580#true} is VALID [2020-07-18 06:35:44,806 INFO L280 TraceCheckUtils]: 38: Hoare triple {33580#true} #t~post2 := ~i~0; {33580#true} is VALID [2020-07-18 06:35:44,806 INFO L280 TraceCheckUtils]: 39: Hoare triple {33580#true} ~i~0 := 1 + #t~post2; {33580#true} is VALID [2020-07-18 06:35:44,807 INFO L280 TraceCheckUtils]: 40: Hoare triple {33580#true} havoc #t~post2; {33580#true} is VALID [2020-07-18 06:35:44,807 INFO L280 TraceCheckUtils]: 41: Hoare triple {33580#true} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {33580#true} is VALID [2020-07-18 06:35:44,807 INFO L280 TraceCheckUtils]: 42: Hoare triple {33580#true} #t~switch4 := 0 == #t~mem3; {33580#true} is VALID [2020-07-18 06:35:44,807 INFO L280 TraceCheckUtils]: 43: Hoare triple {33580#true} assume #t~switch4; {33580#true} is VALID [2020-07-18 06:35:44,807 INFO L280 TraceCheckUtils]: 44: Hoare triple {33580#true} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {33580#true} is VALID [2020-07-18 06:35:44,807 INFO L280 TraceCheckUtils]: 45: Hoare triple {33580#true} #t~short7 := 32 == #t~mem5; {33580#true} is VALID [2020-07-18 06:35:44,807 INFO L280 TraceCheckUtils]: 46: Hoare triple {33580#true} assume !#t~short7; {33580#true} is VALID [2020-07-18 06:35:44,807 INFO L280 TraceCheckUtils]: 47: Hoare triple {33580#true} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {33580#true} is VALID [2020-07-18 06:35:44,807 INFO L280 TraceCheckUtils]: 48: Hoare triple {33580#true} #t~short7 := 9 == #t~mem6; {33580#true} is VALID [2020-07-18 06:35:44,808 INFO L280 TraceCheckUtils]: 49: Hoare triple {33580#true} assume !#t~short7; {33580#true} is VALID [2020-07-18 06:35:44,808 INFO L280 TraceCheckUtils]: 50: Hoare triple {33580#true} havoc #t~mem5; {33580#true} is VALID [2020-07-18 06:35:44,808 INFO L280 TraceCheckUtils]: 51: Hoare triple {33580#true} havoc #t~short7; {33580#true} is VALID [2020-07-18 06:35:44,808 INFO L280 TraceCheckUtils]: 52: Hoare triple {33580#true} havoc #t~mem6; {33580#true} is VALID [2020-07-18 06:35:44,808 INFO L280 TraceCheckUtils]: 53: Hoare triple {33580#true} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {33580#true} is VALID [2020-07-18 06:35:44,808 INFO L280 TraceCheckUtils]: 54: Hoare triple {33580#true} assume !(34 == #t~mem9); {33580#true} is VALID [2020-07-18 06:35:44,808 INFO L280 TraceCheckUtils]: 55: Hoare triple {33580#true} havoc #t~mem9; {33580#true} is VALID [2020-07-18 06:35:44,808 INFO L280 TraceCheckUtils]: 56: Hoare triple {33580#true} ~j~0 := ~i~0 - 1; {33580#true} is VALID [2020-07-18 06:35:44,809 INFO L280 TraceCheckUtils]: 57: Hoare triple {33580#true} #t~short14 := 0 < ~j~0; {33587#(or (< 0 parse_expression_list_~j~0) (not |parse_expression_list_#t~short14|))} is VALID [2020-07-18 06:35:44,809 INFO L280 TraceCheckUtils]: 58: Hoare triple {33587#(or (< 0 parse_expression_list_~j~0) (not |parse_expression_list_#t~short14|))} assume #t~short14; {33588#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-18 06:35:44,810 INFO L280 TraceCheckUtils]: 59: Hoare triple {33588#(< 0 parse_expression_list_~j~0)} SUMMARY for call #t~mem11 := read~int(~str.base, ~str.offset + ~j~0, 1); srcloc: L58-2 {33588#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-18 06:35:44,810 INFO L280 TraceCheckUtils]: 60: Hoare triple {33588#(< 0 parse_expression_list_~j~0)} #t~short13 := 32 == #t~mem11; {33588#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-18 06:35:44,810 INFO L280 TraceCheckUtils]: 61: Hoare triple {33588#(< 0 parse_expression_list_~j~0)} assume !#t~short13; {33588#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-18 06:35:44,811 INFO L280 TraceCheckUtils]: 62: Hoare triple {33588#(< 0 parse_expression_list_~j~0)} SUMMARY for call #t~mem12 := read~int(~str.base, ~str.offset + ~j~0, 1); srcloc: L58-6 {33588#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-18 06:35:44,811 INFO L280 TraceCheckUtils]: 63: Hoare triple {33588#(< 0 parse_expression_list_~j~0)} #t~short13 := 9 == #t~mem12; {33588#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-18 06:35:44,812 INFO L280 TraceCheckUtils]: 64: Hoare triple {33588#(< 0 parse_expression_list_~j~0)} #t~short14 := #t~short13; {33588#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-18 06:35:44,812 INFO L280 TraceCheckUtils]: 65: Hoare triple {33588#(< 0 parse_expression_list_~j~0)} assume !#t~short14; {33588#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-18 06:35:44,812 INFO L280 TraceCheckUtils]: 66: Hoare triple {33588#(< 0 parse_expression_list_~j~0)} havoc #t~short14; {33588#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-18 06:35:44,813 INFO L280 TraceCheckUtils]: 67: Hoare triple {33588#(< 0 parse_expression_list_~j~0)} havoc #t~short13; {33588#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-18 06:35:44,813 INFO L280 TraceCheckUtils]: 68: Hoare triple {33588#(< 0 parse_expression_list_~j~0)} havoc #t~mem12; {33588#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-18 06:35:44,813 INFO L280 TraceCheckUtils]: 69: Hoare triple {33588#(< 0 parse_expression_list_~j~0)} havoc #t~mem11; {33588#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-18 06:35:44,814 INFO L280 TraceCheckUtils]: 70: Hoare triple {33588#(< 0 parse_expression_list_~j~0)} #t~short17 := 0 < ~j~0; {33589#|parse_expression_list_#t~short17|} is VALID [2020-07-18 06:35:44,814 INFO L280 TraceCheckUtils]: 71: Hoare triple {33589#|parse_expression_list_#t~short17|} assume !#t~short17; {33581#false} is VALID [2020-07-18 06:35:44,814 INFO L280 TraceCheckUtils]: 72: Hoare triple {33581#false} assume !#t~short17; {33581#false} is VALID [2020-07-18 06:35:44,815 INFO L280 TraceCheckUtils]: 73: Hoare triple {33581#false} havoc #t~short17; {33581#false} is VALID [2020-07-18 06:35:44,815 INFO L280 TraceCheckUtils]: 74: Hoare triple {33581#false} havoc #t~mem16; {33581#false} is VALID [2020-07-18 06:35:44,815 INFO L280 TraceCheckUtils]: 75: Hoare triple {33581#false} assume ~start~0 <= ~j~0; {33581#false} is VALID [2020-07-18 06:35:44,815 INFO L263 TraceCheckUtils]: 76: Hoare triple {33581#false} call #t~ret19.base, #t~ret19.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0, 1 + (~j~0 - ~start~0)); {33580#true} is VALID [2020-07-18 06:35:44,815 INFO L280 TraceCheckUtils]: 77: Hoare triple {33580#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {33580#true} is VALID [2020-07-18 06:35:44,815 INFO L280 TraceCheckUtils]: 78: Hoare triple {33580#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {33580#true} is VALID [2020-07-18 06:35:44,815 INFO L280 TraceCheckUtils]: 79: Hoare triple {33580#true} ~n := #in~n; {33580#true} is VALID [2020-07-18 06:35:44,815 INFO L280 TraceCheckUtils]: 80: Hoare triple {33580#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {33580#true} is VALID [2020-07-18 06:35:44,816 INFO L280 TraceCheckUtils]: 81: Hoare triple {33580#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {33580#true} is VALID [2020-07-18 06:35:44,816 INFO L280 TraceCheckUtils]: 82: Hoare triple {33580#true} havoc #t~ret0.base, #t~ret0.offset; {33580#true} is VALID [2020-07-18 06:35:44,816 INFO L280 TraceCheckUtils]: 83: Hoare triple {33580#true} assume true; {33580#true} is VALID [2020-07-18 06:35:44,816 INFO L275 TraceCheckUtils]: 84: Hoare quadruple {33580#true} {33581#false} #201#return; {33581#false} is VALID [2020-07-18 06:35:44,816 INFO L280 TraceCheckUtils]: 85: Hoare triple {33581#false} havoc #t~ret19.base, #t~ret19.offset; {33581#false} is VALID [2020-07-18 06:35:44,816 INFO L263 TraceCheckUtils]: 86: Hoare triple {33581#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {33581#false} is VALID [2020-07-18 06:35:44,817 INFO L280 TraceCheckUtils]: 87: Hoare triple {33581#false} ~cond := #in~cond; {33581#false} is VALID [2020-07-18 06:35:44,817 INFO L280 TraceCheckUtils]: 88: Hoare triple {33581#false} assume 0 == ~cond; {33581#false} is VALID [2020-07-18 06:35:44,817 INFO L280 TraceCheckUtils]: 89: Hoare triple {33581#false} assume !false; {33581#false} is VALID [2020-07-18 06:35:44,821 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2020-07-18 06:35:44,822 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1343108222] [2020-07-18 06:35:44,822 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 06:35:44,822 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-18 06:35:44,822 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1532676944] [2020-07-18 06:35:44,823 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 90 [2020-07-18 06:35:44,823 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 06:35:44,823 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-18 06:35:44,898 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-18 06:35:44,899 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-18 06:35:44,899 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 06:35:44,899 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-18 06:35:44,899 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2020-07-18 06:35:44,899 INFO L87 Difference]: Start difference. First operand 247 states and 270 transitions. Second operand 6 states. [2020-07-18 06:35:46,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:46,118 INFO L93 Difference]: Finished difference Result 387 states and 425 transitions. [2020-07-18 06:35:46,118 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-18 06:35:46,118 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 90 [2020-07-18 06:35:46,119 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 06:35:46,119 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-18 06:35:46,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 262 transitions. [2020-07-18 06:35:46,121 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-18 06:35:46,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 262 transitions. [2020-07-18 06:35:46,123 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 262 transitions. [2020-07-18 06:35:46,420 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 262 edges. 262 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:46,427 INFO L225 Difference]: With dead ends: 387 [2020-07-18 06:35:46,427 INFO L226 Difference]: Without dead ends: 290 [2020-07-18 06:35:46,428 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2020-07-18 06:35:46,428 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 290 states. [2020-07-18 06:35:46,903 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 290 to 247. [2020-07-18 06:35:46,903 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 06:35:46,904 INFO L82 GeneralOperation]: Start isEquivalent. First operand 290 states. Second operand 247 states. [2020-07-18 06:35:46,904 INFO L74 IsIncluded]: Start isIncluded. First operand 290 states. Second operand 247 states. [2020-07-18 06:35:46,904 INFO L87 Difference]: Start difference. First operand 290 states. Second operand 247 states. [2020-07-18 06:35:46,910 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:46,911 INFO L93 Difference]: Finished difference Result 290 states and 318 transitions. [2020-07-18 06:35:46,911 INFO L276 IsEmpty]: Start isEmpty. Operand 290 states and 318 transitions. [2020-07-18 06:35:46,911 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:46,911 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:46,911 INFO L74 IsIncluded]: Start isIncluded. First operand 247 states. Second operand 290 states. [2020-07-18 06:35:46,912 INFO L87 Difference]: Start difference. First operand 247 states. Second operand 290 states. [2020-07-18 06:35:46,916 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 06:35:46,916 INFO L93 Difference]: Finished difference Result 290 states and 318 transitions. [2020-07-18 06:35:46,916 INFO L276 IsEmpty]: Start isEmpty. Operand 290 states and 318 transitions. [2020-07-18 06:35:46,916 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 06:35:46,916 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 06:35:46,916 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 06:35:46,917 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 06:35:46,917 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 247 states. [2020-07-18 06:35:46,919 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 247 states to 247 states and 269 transitions. [2020-07-18 06:35:46,920 INFO L78 Accepts]: Start accepts. Automaton has 247 states and 269 transitions. Word has length 90 [2020-07-18 06:35:46,920 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 06:35:46,920 INFO L479 AbstractCegarLoop]: Abstraction has 247 states and 269 transitions. [2020-07-18 06:35:46,920 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-18 06:35:46,920 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 247 states and 269 transitions. [2020-07-18 06:35:47,324 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 269 edges. 269 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 06:35:47,324 INFO L276 IsEmpty]: Start isEmpty. Operand 247 states and 269 transitions. [2020-07-18 06:35:47,325 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2020-07-18 06:35:47,325 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 06:35:47,326 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 06:35:47,326 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18 [2020-07-18 06:35:47,326 INFO L427 AbstractCegarLoop]: === Iteration 20 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 06:35:47,326 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 06:35:47,327 INFO L82 PathProgramCache]: Analyzing trace with hash 888855281, now seen corresponding path program 1 times [2020-07-18 06:35:47,327 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 06:35:47,327 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [826406347] [2020-07-18 06:35:47,327 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 06:35:47,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-18 06:35:47,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-18 06:35:47,394 INFO L174 FreeRefinementEngine]: Strategy FIXED_PREFERENCES found a feasible trace [2020-07-18 06:35:47,394 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-18 06:35:47,394 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19 [2020-07-18 06:35:47,439 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,442 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,444 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,444 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,445 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,445 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,446 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,446 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,447 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,447 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,448 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,448 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,449 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,449 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,450 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,450 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,451 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,452 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,452 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,452 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,453 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,453 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,454 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,455 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2020-07-18 06:35:47,472 WARN L170 areAnnotationChecker]: parse_expression_listENTRY has no Hoare annotation [2020-07-18 06:35:47,473 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-18 06:35:47,473 WARN L170 areAnnotationChecker]: r_strncpyENTRY has no Hoare annotation [2020-07-18 06:35:47,473 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-18 06:35:47,473 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-18 06:35:47,473 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-18 06:35:47,473 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2020-07-18 06:35:47,473 WARN L170 areAnnotationChecker]: L48 has no Hoare annotation [2020-07-18 06:35:47,473 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-18 06:35:47,474 WARN L170 areAnnotationChecker]: L30 has no Hoare annotation [2020-07-18 06:35:47,474 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-18 06:35:47,474 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-18 06:35:47,474 WARN L170 areAnnotationChecker]: L74 has no Hoare annotation [2020-07-18 06:35:47,474 WARN L170 areAnnotationChecker]: L3 has no Hoare annotation [2020-07-18 06:35:47,474 WARN L170 areAnnotationChecker]: L3 has no Hoare annotation [2020-07-18 06:35:47,474 WARN L170 areAnnotationChecker]: L48-1 has no Hoare annotation [2020-07-18 06:35:47,476 WARN L170 areAnnotationChecker]: L-1-1 has no Hoare annotation [2020-07-18 06:35:47,476 WARN L170 areAnnotationChecker]: L30-1 has no Hoare annotation [2020-07-18 06:35:47,477 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-18 06:35:47,477 WARN L170 areAnnotationChecker]: L75 has no Hoare annotation [2020-07-18 06:35:47,477 WARN L170 areAnnotationChecker]: L75 has no Hoare annotation [2020-07-18 06:35:47,477 WARN L170 areAnnotationChecker]: L4 has no Hoare annotation [2020-07-18 06:35:47,477 WARN L170 areAnnotationChecker]: L4 has no Hoare annotation [2020-07-18 06:35:47,477 WARN L170 areAnnotationChecker]: L3-2 has no Hoare annotation [2020-07-18 06:35:47,477 WARN L170 areAnnotationChecker]: L48-2 has no Hoare annotation [2020-07-18 06:35:47,477 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-18 06:35:47,477 WARN L170 areAnnotationChecker]: L30-2 has no Hoare annotation [2020-07-18 06:35:47,478 WARN L170 areAnnotationChecker]: L76 has no Hoare annotation [2020-07-18 06:35:47,478 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2020-07-18 06:35:47,478 WARN L170 areAnnotationChecker]: L49 has no Hoare annotation [2020-07-18 06:35:47,478 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-18 06:35:47,478 WARN L170 areAnnotationChecker]: L30-3 has no Hoare annotation [2020-07-18 06:35:47,478 WARN L170 areAnnotationChecker]: L76-1 has no Hoare annotation [2020-07-18 06:35:47,478 WARN L170 areAnnotationChecker]: L62-1 has no Hoare annotation [2020-07-18 06:35:47,478 WARN L170 areAnnotationChecker]: L49-1 has no Hoare annotation [2020-07-18 06:35:47,478 WARN L170 areAnnotationChecker]: L49-1 has no Hoare annotation [2020-07-18 06:35:47,479 WARN L170 areAnnotationChecker]: L30-4 has no Hoare annotation [2020-07-18 06:35:47,479 WARN L170 areAnnotationChecker]: L77 has no Hoare annotation [2020-07-18 06:35:47,479 WARN L170 areAnnotationChecker]: L63 has no Hoare annotation [2020-07-18 06:35:47,479 WARN L170 areAnnotationChecker]: L50 has no Hoare annotation [2020-07-18 06:35:47,479 WARN L170 areAnnotationChecker]: L51-3 has no Hoare annotation [2020-07-18 06:35:47,481 WARN L170 areAnnotationChecker]: L51-3 has no Hoare annotation [2020-07-18 06:35:47,481 WARN L170 areAnnotationChecker]: r_strncpyFINAL has no Hoare annotation [2020-07-18 06:35:47,481 WARN L170 areAnnotationChecker]: L74-1 has no Hoare annotation [2020-07-18 06:35:47,481 WARN L170 areAnnotationChecker]: L53-2 has no Hoare annotation [2020-07-18 06:35:47,481 WARN L170 areAnnotationChecker]: L49-2 has no Hoare annotation [2020-07-18 06:35:47,481 WARN L170 areAnnotationChecker]: L52 has no Hoare annotation [2020-07-18 06:35:47,481 WARN L170 areAnnotationChecker]: L51-4 has no Hoare annotation [2020-07-18 06:35:47,481 WARN L170 areAnnotationChecker]: r_strncpyEXIT has no Hoare annotation [2020-07-18 06:35:47,482 WARN L170 areAnnotationChecker]: L74-2 has no Hoare annotation [2020-07-18 06:35:47,482 WARN L170 areAnnotationChecker]: L53-3 has no Hoare annotation [2020-07-18 06:35:47,482 WARN L170 areAnnotationChecker]: L49-3 has no Hoare annotation [2020-07-18 06:35:47,482 WARN L170 areAnnotationChecker]: L52-1 has no Hoare annotation [2020-07-18 06:35:47,482 WARN L170 areAnnotationChecker]: L49-6 has no Hoare annotation [2020-07-18 06:35:47,482 WARN L170 areAnnotationChecker]: L61-1 has no Hoare annotation [2020-07-18 06:35:47,482 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-18 06:35:47,482 WARN L170 areAnnotationChecker]: L51-1 has no Hoare annotation [2020-07-18 06:35:47,482 WARN L170 areAnnotationChecker]: parse_expression_listFINAL has no Hoare annotation [2020-07-18 06:35:47,482 WARN L170 areAnnotationChecker]: L53 has no Hoare annotation [2020-07-18 06:35:47,482 WARN L170 areAnnotationChecker]: L49-7 has no Hoare annotation [2020-07-18 06:35:47,483 WARN L170 areAnnotationChecker]: L62 has no Hoare annotation [2020-07-18 06:35:47,483 WARN L170 areAnnotationChecker]: L62 has no Hoare annotation [2020-07-18 06:35:47,483 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-18 06:35:47,483 WARN L170 areAnnotationChecker]: L69 has no Hoare annotation [2020-07-18 06:35:47,483 WARN L170 areAnnotationChecker]: L69 has no Hoare annotation [2020-07-18 06:35:47,483 WARN L170 areAnnotationChecker]: parse_expression_listEXIT has no Hoare annotation [2020-07-18 06:35:47,483 WARN L170 areAnnotationChecker]: L53-1 has no Hoare annotation [2020-07-18 06:35:47,483 WARN L170 areAnnotationChecker]: L69-1 has no Hoare annotation [2020-07-18 06:35:47,483 WARN L170 areAnnotationChecker]: L69-2 has no Hoare annotation [2020-07-18 06:35:47,483 WARN L170 areAnnotationChecker]: L54 has no Hoare annotation [2020-07-18 06:35:47,483 WARN L170 areAnnotationChecker]: L54 has no Hoare annotation [2020-07-18 06:35:47,484 WARN L170 areAnnotationChecker]: L55-17 has no Hoare annotation [2020-07-18 06:35:47,484 WARN L170 areAnnotationChecker]: L55-17 has no Hoare annotation [2020-07-18 06:35:47,484 WARN L170 areAnnotationChecker]: L55-18 has no Hoare annotation [2020-07-18 06:35:47,484 WARN L170 areAnnotationChecker]: L55-1 has no Hoare annotation [2020-07-18 06:35:47,484 WARN L170 areAnnotationChecker]: L56 has no Hoare annotation [2020-07-18 06:35:47,484 WARN L170 areAnnotationChecker]: L56 has no Hoare annotation [2020-07-18 06:35:47,484 WARN L170 areAnnotationChecker]: L55-2 has no Hoare annotation [2020-07-18 06:35:47,484 WARN L170 areAnnotationChecker]: L55-2 has no Hoare annotation [2020-07-18 06:35:47,484 WARN L170 areAnnotationChecker]: L56-1 has no Hoare annotation [2020-07-18 06:35:47,484 WARN L170 areAnnotationChecker]: L56-6 has no Hoare annotation [2020-07-18 06:35:47,484 WARN L170 areAnnotationChecker]: L55-6 has no Hoare annotation [2020-07-18 06:35:47,485 WARN L170 areAnnotationChecker]: L55-6 has no Hoare annotation [2020-07-18 06:35:47,485 WARN L170 areAnnotationChecker]: L55-4 has no Hoare annotation [2020-07-18 06:35:47,485 WARN L170 areAnnotationChecker]: L56-2 has no Hoare annotation [2020-07-18 06:35:47,485 WARN L170 areAnnotationChecker]: L56-7 has no Hoare annotation [2020-07-18 06:35:47,485 WARN L170 areAnnotationChecker]: L55-7 has no Hoare annotation [2020-07-18 06:35:47,485 WARN L170 areAnnotationChecker]: L55-11 has no Hoare annotation [2020-07-18 06:35:47,485 WARN L170 areAnnotationChecker]: L55-5 has no Hoare annotation [2020-07-18 06:35:47,485 WARN L170 areAnnotationChecker]: L56-3 has no Hoare annotation [2020-07-18 06:35:47,485 WARN L170 areAnnotationChecker]: L58-23 has no Hoare annotation [2020-07-18 06:35:47,485 WARN L170 areAnnotationChecker]: L58-23 has no Hoare annotation [2020-07-18 06:35:47,485 WARN L170 areAnnotationChecker]: L55-8 has no Hoare annotation [2020-07-18 06:35:47,485 WARN L170 areAnnotationChecker]: L55-12 has no Hoare annotation [2020-07-18 06:35:47,486 WARN L170 areAnnotationChecker]: L56-4 has no Hoare annotation [2020-07-18 06:35:47,486 WARN L170 areAnnotationChecker]: L58-24 has no Hoare annotation [2020-07-18 06:35:47,486 WARN L170 areAnnotationChecker]: L58-1 has no Hoare annotation [2020-07-18 06:35:47,486 WARN L170 areAnnotationChecker]: L58-1 has no Hoare annotation [2020-07-18 06:35:47,486 WARN L170 areAnnotationChecker]: L55-9 has no Hoare annotation [2020-07-18 06:35:47,486 WARN L170 areAnnotationChecker]: L55-13 has no Hoare annotation [2020-07-18 06:35:47,486 WARN L170 areAnnotationChecker]: L59 has no Hoare annotation [2020-07-18 06:35:47,486 WARN L170 areAnnotationChecker]: L59 has no Hoare annotation [2020-07-18 06:35:47,486 WARN L170 areAnnotationChecker]: L58-2 has no Hoare annotation [2020-07-18 06:35:47,487 WARN L170 areAnnotationChecker]: L58-10 has no Hoare annotation [2020-07-18 06:35:47,487 WARN L170 areAnnotationChecker]: L58-10 has no Hoare annotation [2020-07-18 06:35:47,487 WARN L170 areAnnotationChecker]: L55-14 has no Hoare annotation [2020-07-18 06:35:47,487 WARN L170 areAnnotationChecker]: L59-1 has no Hoare annotation [2020-07-18 06:35:47,487 WARN L170 areAnnotationChecker]: L59-4 has no Hoare annotation [2020-07-18 06:35:47,487 WARN L170 areAnnotationChecker]: L59-4 has no Hoare annotation [2020-07-18 06:35:47,487 WARN L170 areAnnotationChecker]: L58-3 has no Hoare annotation [2020-07-18 06:35:47,487 WARN L170 areAnnotationChecker]: L58-11 has no Hoare annotation [2020-07-18 06:35:47,487 WARN L170 areAnnotationChecker]: L58-16 has no Hoare annotation [2020-07-18 06:35:47,487 WARN L170 areAnnotationChecker]: L55-15 has no Hoare annotation [2020-07-18 06:35:47,488 WARN L170 areAnnotationChecker]: L59-2 has no Hoare annotation [2020-07-18 06:35:47,488 WARN L170 areAnnotationChecker]: L59-5 has no Hoare annotation [2020-07-18 06:35:47,488 WARN L170 areAnnotationChecker]: L59-11 has no Hoare annotation [2020-07-18 06:35:47,488 WARN L170 areAnnotationChecker]: L58-4 has no Hoare annotation [2020-07-18 06:35:47,488 WARN L170 areAnnotationChecker]: L58-4 has no Hoare annotation [2020-07-18 06:35:47,488 WARN L170 areAnnotationChecker]: L58-12 has no Hoare annotation [2020-07-18 06:35:47,488 WARN L170 areAnnotationChecker]: L58-17 has no Hoare annotation [2020-07-18 06:35:47,488 WARN L170 areAnnotationChecker]: L55-16 has no Hoare annotation [2020-07-18 06:35:47,488 WARN L170 areAnnotationChecker]: L59-6 has no Hoare annotation [2020-07-18 06:35:47,488 WARN L170 areAnnotationChecker]: L59-12 has no Hoare annotation [2020-07-18 06:35:47,489 WARN L170 areAnnotationChecker]: L58-8 has no Hoare annotation [2020-07-18 06:35:47,489 WARN L170 areAnnotationChecker]: L58-6 has no Hoare annotation [2020-07-18 06:35:47,489 WARN L170 areAnnotationChecker]: L58-13 has no Hoare annotation [2020-07-18 06:35:47,489 WARN L170 areAnnotationChecker]: L58-18 has no Hoare annotation [2020-07-18 06:35:47,489 WARN L170 areAnnotationChecker]: L59-7 has no Hoare annotation [2020-07-18 06:35:47,489 WARN L170 areAnnotationChecker]: L59-13 has no Hoare annotation [2020-07-18 06:35:47,489 WARN L170 areAnnotationChecker]: L59-13 has no Hoare annotation [2020-07-18 06:35:47,489 WARN L170 areAnnotationChecker]: L58-7 has no Hoare annotation [2020-07-18 06:35:47,489 WARN L170 areAnnotationChecker]: L58-14 has no Hoare annotation [2020-07-18 06:35:47,489 WARN L170 areAnnotationChecker]: L58-19 has no Hoare annotation [2020-07-18 06:35:47,489 WARN L170 areAnnotationChecker]: L59-8 has no Hoare annotation [2020-07-18 06:35:47,490 WARN L170 areAnnotationChecker]: L61 has no Hoare annotation [2020-07-18 06:35:47,490 WARN L170 areAnnotationChecker]: L61 has no Hoare annotation [2020-07-18 06:35:47,490 WARN L170 areAnnotationChecker]: L65 has no Hoare annotation [2020-07-18 06:35:47,490 WARN L170 areAnnotationChecker]: L58-20 has no Hoare annotation [2020-07-18 06:35:47,490 WARN L170 areAnnotationChecker]: L59-9 has no Hoare annotation [2020-07-18 06:35:47,490 WARN L170 areAnnotationChecker]: L49-4 has no Hoare annotation [2020-07-18 06:35:47,490 WARN L170 areAnnotationChecker]: L58-21 has no Hoare annotation [2020-07-18 06:35:47,490 WARN L170 areAnnotationChecker]: L49-5 has no Hoare annotation [2020-07-18 06:35:47,490 WARN L170 areAnnotationChecker]: L58-22 has no Hoare annotation [2020-07-18 06:35:47,491 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2020-07-18 06:35:47,498 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 18.07 06:35:47 BoogieIcfgContainer [2020-07-18 06:35:47,498 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-18 06:35:47,500 INFO L168 Benchmark]: Toolchain (without parser) took 61425.52 ms. Allocated memory was 146.3 MB in the beginning and 521.7 MB in the end (delta: 375.4 MB). Free memory was 104.1 MB in the beginning and 371.7 MB in the end (delta: -267.6 MB). Peak memory consumption was 107.8 MB. Max. memory is 7.1 GB. [2020-07-18 06:35:47,501 INFO L168 Benchmark]: CDTParser took 0.16 ms. Allocated memory is still 146.3 MB. Free memory was 122.8 MB in the beginning and 122.6 MB in the end (delta: 209.7 kB). Peak memory consumption was 209.7 kB. Max. memory is 7.1 GB. [2020-07-18 06:35:47,504 INFO L168 Benchmark]: CACSL2BoogieTranslator took 416.20 ms. Allocated memory was 146.3 MB in the beginning and 203.9 MB in the end (delta: 57.7 MB). Free memory was 103.7 MB in the beginning and 180.2 MB in the end (delta: -76.5 MB). Peak memory consumption was 19.2 MB. Max. memory is 7.1 GB. [2020-07-18 06:35:47,504 INFO L168 Benchmark]: Boogie Preprocessor took 87.55 ms. Allocated memory is still 203.9 MB. Free memory was 180.2 MB in the beginning and 177.5 MB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 7.1 GB. [2020-07-18 06:35:47,504 INFO L168 Benchmark]: RCFGBuilder took 696.25 ms. Allocated memory is still 203.9 MB. Free memory was 177.5 MB in the beginning and 128.0 MB in the end (delta: 49.5 MB). Peak memory consumption was 49.5 MB. Max. memory is 7.1 GB. [2020-07-18 06:35:47,505 INFO L168 Benchmark]: TraceAbstraction took 60218.31 ms. Allocated memory was 203.9 MB in the beginning and 521.7 MB in the end (delta: 317.7 MB). Free memory was 128.0 MB in the beginning and 371.7 MB in the end (delta: -243.8 MB). Peak memory consumption was 74.0 MB. Max. memory is 7.1 GB. [2020-07-18 06:35:47,509 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.16 ms. Allocated memory is still 146.3 MB. Free memory was 122.8 MB in the beginning and 122.6 MB in the end (delta: 209.7 kB). Peak memory consumption was 209.7 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 416.20 ms. Allocated memory was 146.3 MB in the beginning and 203.9 MB in the end (delta: 57.7 MB). Free memory was 103.7 MB in the beginning and 180.2 MB in the end (delta: -76.5 MB). Peak memory consumption was 19.2 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 87.55 ms. Allocated memory is still 203.9 MB. Free memory was 180.2 MB in the beginning and 177.5 MB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 7.1 GB. * RCFGBuilder took 696.25 ms. Allocated memory is still 203.9 MB. Free memory was 177.5 MB in the beginning and 128.0 MB in the end (delta: 49.5 MB). Peak memory consumption was 49.5 MB. Max. memory is 7.1 GB. * TraceAbstraction took 60218.31 ms. Allocated memory was 203.9 MB in the beginning and 521.7 MB in the end (delta: 317.7 MB). Free memory was 128.0 MB in the beginning and 371.7 MB in the end (delta: -243.8 MB). Peak memory consumption was 74.0 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch4 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 4]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L74] char A [2 + 2 + 4 +1]; VAL [A={4:0}] [L75] A[2 + 2 + 4] = 0 VAL [A={4:0}] [L76] CALL parse_expression_list (A) VAL [str={4:0}] [L48] int start=0, i=-1, j=-1; VAL [i=-1, j=-1, start=0, str={4:0}, str={4:0}] [L49] char str2[2]; VAL [i=-1, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}] [L50] COND FALSE !(!str) VAL [i=-1, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}] [L52] i++ VAL [i=0, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}] [L53] str[i] VAL [i=0, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=40] [L54] case 0: VAL [i=0, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=40] [L69] EXPR str[i] VAL [i=0, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=40] [L69] COND TRUE str[i] != 0 VAL [i=0, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=40] [L52] i++ VAL [i=1, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}] [L53] str[i] VAL [i=1, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=36] [L54] case 0: VAL [i=1, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=36] [L69] EXPR str[i] VAL [i=1, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=36] [L69] COND TRUE str[i] != 0 VAL [i=1, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=36] [L52] i++ VAL [i=2, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}] [L53] str[i] VAL [i=2, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0] [L54] case 0: VAL [i=2, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0] [L55] EXPR str[start] VAL [i=2, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0, str[start]=40] [L55] (str[start] == ' ') || (str[start] == '\t') VAL [(str[start] == ' ') || (str[start] == '\t')=0, i=2, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0, str[start]=40] [L55] EXPR str[start] VAL [(str[start] == ' ') || (str[start] == '\t')=0, i=2, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0, str[start]=40, str[start]=40] [L55] (str[start] == ' ') || (str[start] == '\t') VAL [(str[start] == ' ') || (str[start] == '\t')=0, i=2, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0, str[start]=40, str[start]=40] [L55] COND FALSE !((str[start] == ' ') || (str[start] == '\t')) VAL [(str[start] == ' ') || (str[start] == '\t')=0, i=2, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0, str[start]=40, str[start]=40] [L56] EXPR str[start] VAL [i=2, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0, str[start]=40] [L56] COND FALSE !(str[start] == '"') VAL [i=2, j=-1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0, str[start]=40] [L57] j = i-1 VAL [i=2, j=1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0] [L58] (0 < j) && ((str[j] == ' ') || (str[j] == '\t')) VAL [(0 < j) && ((str[j] == ' ') || (str[j] == '\t'))=1, i=2, j=1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0] [L58] EXPR str[j] VAL [(0 < j) && ((str[j] == ' ') || (str[j] == '\t'))=1, i=2, j=1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0, str[j]=36] [L58] EXPR (str[j] == ' ') || (str[j] == '\t') VAL [(0 < j) && ((str[j] == ' ') || (str[j] == '\t'))=1, (str[j] == ' ') || (str[j] == '\t')=0, i=2, j=1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0, str[j]=36] [L58] EXPR str[j] VAL [(0 < j) && ((str[j] == ' ') || (str[j] == '\t'))=1, (str[j] == ' ') || (str[j] == '\t')=0, i=2, j=1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0, str[j]=36, str[j]=36] [L58] EXPR (str[j] == ' ') || (str[j] == '\t') VAL [(0 < j) && ((str[j] == ' ') || (str[j] == '\t'))=1, (str[j] == ' ') || (str[j] == '\t')=0, i=2, j=1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0, str[j]=36, str[j]=36] [L58] (0 < j) && ((str[j] == ' ') || (str[j] == '\t')) VAL [(0 < j) && ((str[j] == ' ') || (str[j] == '\t'))=0, (str[j] == ' ') || (str[j] == '\t')=0, i=2, j=1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0, str[j]=36, str[j]=36] [L58] COND FALSE !((0 < j) && ((str[j] == ' ') || (str[j] == '\t'))) VAL [(0 < j) && ((str[j] == ' ') || (str[j] == '\t'))=0, (str[j] == ' ') || (str[j] == '\t')=0, i=2, j=1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0, str[j]=36, str[j]=36] [L59] (0 < j) && (str[j] == '"') VAL [(0 < j) && (str[j] == '"')=1, i=2, j=1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0] [L59] EXPR str[j] VAL [(0 < j) && (str[j] == '"')=1, i=2, j=1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0, str[j]=36] [L59] (0 < j) && (str[j] == '"') VAL [(0 < j) && (str[j] == '"')=0, i=2, j=1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0, str[j]=36] [L59] COND FALSE !((0 < j) && (str[j] == '"')) VAL [(0 < j) && (str[j] == '"')=0, i=2, j=1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0, str[j]=36] [L60] COND TRUE start<=j VAL [i=2, j=1, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0] [L61] CALL r_strncpy(str2, str+start, j-start+1) VAL [\old(n)=2, dest={3:0}, src={4:0}] [L30] return strncpy(dest,src,n); VAL [\old(n)=2, \result={37:38}, dest={3:0}, dest={3:0}, n=2, src={4:0}, src={4:0}, strncpy(dest,src,n)={37:38}] [L61] RET r_strncpy(str2, str+start, j-start+1) VAL [i=2, j=1, r_strncpy(str2, str+start, j-start+1)={37:38}, start=0, str={4:0}, str={4:0}, str2={3:0}, str[i]=0] [L62] CALL __VERIFIER_assert(j - start + 1 < 2) VAL [\old(cond)=0] [L3] COND TRUE !(cond) VAL [\old(cond)=0, cond=0] [L4] __VERIFIER_error() VAL [\old(cond)=0, cond=0] - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 123 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 60.0s, OverallIterations: 20, TraceHistogramMax: 3, AutomataDifference: 41.8s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 2561 SDtfs, 3364 SDslu, 9225 SDs, 0 SdLazy, 6140 SolverSat, 274 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 6.8s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 322 GetRequests, 95 SyntacticMatches, 0 SemanticMatches, 227 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 616 ImplicationChecksByTransitivity, 2.9s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=390occurred in iteration=17, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 6.5s AutomataMinimizationTime, 19 MinimizatonAttempts, 1529 StatesRemovedByMinimization, 15 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 3.2s InterpolantComputationTime, 1464 NumberOfCodeBlocks, 1464 NumberOfCodeBlocksAsserted, 20 NumberOfCheckSat, 1353 ConstructedInterpolants, 0 QuantifiedInterpolants, 257869 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 19 InterpolantComputations, 14 PerfectInterpolantSequences, 60/100 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 incorrect! Received shutdown request...