/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf -i ../../../trunk/examples/svcomp/loops/verisec_OpenSER_cases1_stripFullBoth_arr.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-8fc6572 [2020-07-10 20:22:21,777 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-10 20:22:21,780 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-10 20:22:21,798 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-10 20:22:21,799 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-10 20:22:21,801 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-10 20:22:21,803 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-10 20:22:21,813 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-10 20:22:21,816 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-10 20:22:21,819 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-10 20:22:21,822 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-10 20:22:21,824 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-10 20:22:21,825 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-10 20:22:21,826 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-10 20:22:21,829 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-10 20:22:21,830 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-10 20:22:21,832 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-10 20:22:21,832 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-10 20:22:21,834 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-10 20:22:21,840 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-10 20:22:21,845 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-10 20:22:21,849 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-10 20:22:21,851 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-10 20:22:21,852 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-10 20:22:21,854 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-10 20:22:21,855 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-10 20:22:21,855 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-10 20:22:21,858 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-10 20:22:21,858 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-10 20:22:21,860 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-10 20:22:21,861 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-10 20:22:21,862 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-10 20:22:21,863 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-10 20:22:21,864 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-10 20:22:21,865 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-10 20:22:21,865 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-10 20:22:21,866 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-10 20:22:21,866 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-10 20:22:21,866 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-10 20:22:21,867 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-10 20:22:21,868 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-10 20:22:21,869 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf [2020-07-10 20:22:21,900 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-10 20:22:21,901 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-10 20:22:21,904 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-10 20:22:21,905 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-10 20:22:21,905 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-10 20:22:21,905 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-10 20:22:21,905 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-10 20:22:21,905 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-10 20:22:21,906 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-10 20:22:21,906 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-10 20:22:21,906 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-10 20:22:21,906 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-10 20:22:21,906 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-10 20:22:21,906 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-10 20:22:21,907 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-10 20:22:21,907 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-10 20:22:21,907 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-10 20:22:21,909 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-10 20:22:21,909 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-10 20:22:21,909 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-10 20:22:21,909 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-10 20:22:21,910 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-10 20:22:21,910 INFO L138 SettingsManager]: * Use separate solver for trace checks=false [2020-07-10 20:22:22,210 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-10 20:22:22,229 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-10 20:22:22,232 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-10 20:22:22,233 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-10 20:22:22,234 INFO L275 PluginConnector]: CDTParser initialized [2020-07-10 20:22:22,234 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-10 20:22:22,303 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f0768083d/e2809472bbd74ee8bf800caeec4ec2a2/FLAGd50f96843 [2020-07-10 20:22:22,811 INFO L306 CDTParser]: Found 1 translation units. [2020-07-10 20:22:22,812 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/verisec_OpenSER_cases1_stripFullBoth_arr.i [2020-07-10 20:22:22,823 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f0768083d/e2809472bbd74ee8bf800caeec4ec2a2/FLAGd50f96843 [2020-07-10 20:22:23,160 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f0768083d/e2809472bbd74ee8bf800caeec4ec2a2 [2020-07-10 20:22:23,170 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-10 20:22:23,172 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-10 20:22:23,173 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-10 20:22:23,173 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-10 20:22:23,177 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-10 20:22:23,179 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 08:22:23" (1/1) ... [2020-07-10 20:22:23,182 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@a6a5704 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 08:22:23, skipping insertion in model container [2020-07-10 20:22:23,182 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 08:22:23" (1/1) ... [2020-07-10 20:22:23,190 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-10 20:22:23,213 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-10 20:22:23,462 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 20:22:23,476 INFO L203 MainTranslator]: Completed pre-run [2020-07-10 20:22:23,610 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 20:22:23,641 INFO L208 MainTranslator]: Completed translation [2020-07-10 20:22:23,642 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 08:22:23 WrapperNode [2020-07-10 20:22:23,642 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-10 20:22:23,643 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-10 20:22:23,643 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-10 20:22:23,643 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-10 20:22:23,655 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 08:22:23" (1/1) ... [2020-07-10 20:22:23,656 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 08:22:23" (1/1) ... [2020-07-10 20:22:23,665 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 08:22:23" (1/1) ... [2020-07-10 20:22:23,666 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 08:22:23" (1/1) ... [2020-07-10 20:22:23,684 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 08:22:23" (1/1) ... [2020-07-10 20:22:23,693 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 08:22:23" (1/1) ... [2020-07-10 20:22:23,695 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 08:22:23" (1/1) ... [2020-07-10 20:22:23,699 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-10 20:22:23,700 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-10 20:22:23,700 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-10 20:22:23,700 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-10 20:22:23,701 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 08:22:23" (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-10 20:22:23,764 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-10 20:22:23,764 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-10 20:22:23,764 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2020-07-10 20:22:23,764 INFO L138 BoogieDeclarations]: Found implementation of procedure r_strncpy [2020-07-10 20:22:23,764 INFO L138 BoogieDeclarations]: Found implementation of procedure parse_expression_list [2020-07-10 20:22:23,764 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-10 20:22:23,764 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-10 20:22:23,764 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2020-07-10 20:22:23,765 INFO L130 BoogieDeclarations]: Found specification of procedure strchr [2020-07-10 20:22:23,765 INFO L130 BoogieDeclarations]: Found specification of procedure strrchr [2020-07-10 20:22:23,765 INFO L130 BoogieDeclarations]: Found specification of procedure strstr [2020-07-10 20:22:23,766 INFO L130 BoogieDeclarations]: Found specification of procedure strncpy [2020-07-10 20:22:23,766 INFO L130 BoogieDeclarations]: Found specification of procedure strncpy_ptr [2020-07-10 20:22:23,766 INFO L130 BoogieDeclarations]: Found specification of procedure strcpy [2020-07-10 20:22:23,767 INFO L130 BoogieDeclarations]: Found specification of procedure strlen [2020-07-10 20:22:23,767 INFO L130 BoogieDeclarations]: Found specification of procedure strncmp [2020-07-10 20:22:23,767 INFO L130 BoogieDeclarations]: Found specification of procedure strcmp [2020-07-10 20:22:23,767 INFO L130 BoogieDeclarations]: Found specification of procedure strcat [2020-07-10 20:22:23,768 INFO L130 BoogieDeclarations]: Found specification of procedure memcpy [2020-07-10 20:22:23,768 INFO L130 BoogieDeclarations]: Found specification of procedure isascii [2020-07-10 20:22:23,769 INFO L130 BoogieDeclarations]: Found specification of procedure isspace [2020-07-10 20:22:23,769 INFO L130 BoogieDeclarations]: Found specification of procedure getc [2020-07-10 20:22:23,771 INFO L130 BoogieDeclarations]: Found specification of procedure strrand [2020-07-10 20:22:23,772 INFO L130 BoogieDeclarations]: Found specification of procedure istrrand [2020-07-10 20:22:23,772 INFO L130 BoogieDeclarations]: Found specification of procedure istrchr [2020-07-10 20:22:23,772 INFO L130 BoogieDeclarations]: Found specification of procedure istrrchr [2020-07-10 20:22:23,772 INFO L130 BoogieDeclarations]: Found specification of procedure istrncmp [2020-07-10 20:22:23,772 INFO L130 BoogieDeclarations]: Found specification of procedure istrstr [2020-07-10 20:22:23,772 INFO L130 BoogieDeclarations]: Found specification of procedure r_strncpy [2020-07-10 20:22:23,772 INFO L130 BoogieDeclarations]: Found specification of procedure r_strcpy [2020-07-10 20:22:23,773 INFO L130 BoogieDeclarations]: Found specification of procedure r_strcat [2020-07-10 20:22:23,773 INFO L130 BoogieDeclarations]: Found specification of procedure r_strncat [2020-07-10 20:22:23,773 INFO L130 BoogieDeclarations]: Found specification of procedure r_memcpy [2020-07-10 20:22:23,773 INFO L130 BoogieDeclarations]: Found specification of procedure parse_expression_list [2020-07-10 20:22:23,773 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-10 20:22:23,774 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-10 20:22:23,774 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-10 20:22:23,774 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-10 20:22:23,774 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-10 20:22:23,774 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-10 20:22:23,774 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-10 20:22:24,395 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-10 20:22:24,395 INFO L295 CfgBuilder]: Removed 3 assume(true) statements. [2020-07-10 20:22:24,401 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 08:22:24 BoogieIcfgContainer [2020-07-10 20:22:24,401 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-10 20:22:24,402 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-10 20:22:24,403 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-10 20:22:24,406 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-10 20:22:24,407 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 10.07 08:22:23" (1/3) ... [2020-07-10 20:22:24,408 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6916da03 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 08:22:24, skipping insertion in model container [2020-07-10 20:22:24,408 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 08:22:23" (2/3) ... [2020-07-10 20:22:24,409 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6916da03 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 08:22:24, skipping insertion in model container [2020-07-10 20:22:24,409 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 08:22:24" (3/3) ... [2020-07-10 20:22:24,411 INFO L109 eAbstractionObserver]: Analyzing ICFG verisec_OpenSER_cases1_stripFullBoth_arr.i [2020-07-10 20:22:24,423 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:AcceleratedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-10 20:22:24,432 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-10 20:22:24,449 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-10 20:22:24,475 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-10 20:22:24,476 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-10 20:22:24,476 INFO L377 AbstractCegarLoop]: Compute interpolants for AcceleratedInterpolation [2020-07-10 20:22:24,476 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-10 20:22:24,477 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-10 20:22:24,477 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-10 20:22:24,477 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-10 20:22:24,478 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-10 20:22:24,498 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states. [2020-07-10 20:22:24,512 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2020-07-10 20:22:24,513 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:24,514 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-10 20:22:24,515 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:24,521 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:24,522 INFO L82 PathProgramCache]: Analyzing trace with hash 2116113079, now seen corresponding path program 1 times [2020-07-10 20:22:24,532 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:24,533 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1622242443] [2020-07-10 20:22:24,533 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:24,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:24,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:24,792 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-10 20:22:24,793 INFO L280 TraceCheckUtils]: 1: Hoare triple {126#true} #valid := #valid[0 := 0]; {126#true} is VALID [2020-07-10 20:22:24,793 INFO L280 TraceCheckUtils]: 2: Hoare triple {126#true} assume 0 < #StackHeapBarrier; {126#true} is VALID [2020-07-10 20:22:24,794 INFO L280 TraceCheckUtils]: 3: Hoare triple {126#true} assume true; {126#true} is VALID [2020-07-10 20:22:24,795 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {126#true} {126#true} #205#return; {126#true} is VALID [2020-07-10 20:22:24,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:24,812 INFO L280 TraceCheckUtils]: 0: Hoare triple {126#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {126#true} is VALID [2020-07-10 20:22:24,813 INFO L280 TraceCheckUtils]: 1: Hoare triple {126#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {126#true} is VALID [2020-07-10 20:22:24,814 INFO L280 TraceCheckUtils]: 2: Hoare triple {126#true} ~n := #in~n; {126#true} is VALID [2020-07-10 20:22:24,814 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-10 20:22:24,815 INFO L280 TraceCheckUtils]: 4: Hoare triple {126#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {126#true} is VALID [2020-07-10 20:22:24,815 INFO L280 TraceCheckUtils]: 5: Hoare triple {126#true} havoc #t~ret0.base, #t~ret0.offset; {126#true} is VALID [2020-07-10 20:22:24,816 INFO L280 TraceCheckUtils]: 6: Hoare triple {126#true} assume true; {126#true} is VALID [2020-07-10 20:22:24,816 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {126#true} {127#false} #201#return; {127#false} is VALID [2020-07-10 20:22:24,818 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-10 20:22:24,819 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-10 20:22:24,820 INFO L280 TraceCheckUtils]: 2: Hoare triple {126#true} #valid := #valid[0 := 0]; {126#true} is VALID [2020-07-10 20:22:24,820 INFO L280 TraceCheckUtils]: 3: Hoare triple {126#true} assume 0 < #StackHeapBarrier; {126#true} is VALID [2020-07-10 20:22:24,820 INFO L280 TraceCheckUtils]: 4: Hoare triple {126#true} assume true; {126#true} is VALID [2020-07-10 20:22:24,821 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {126#true} {126#true} #205#return; {126#true} is VALID [2020-07-10 20:22:24,821 INFO L263 TraceCheckUtils]: 6: Hoare triple {126#true} call #t~ret21 := main(); {126#true} is VALID [2020-07-10 20:22:24,822 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-10 20:22:24,822 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-10 20:22:24,823 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-10 20:22:24,823 INFO L280 TraceCheckUtils]: 10: Hoare triple {126#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {126#true} is VALID [2020-07-10 20:22:24,824 INFO L280 TraceCheckUtils]: 11: Hoare triple {126#true} ~start~0 := 0; {126#true} is VALID [2020-07-10 20:22:24,824 INFO L280 TraceCheckUtils]: 12: Hoare triple {126#true} ~i~0 := -1; {126#true} is VALID [2020-07-10 20:22:24,824 INFO L280 TraceCheckUtils]: 13: Hoare triple {126#true} ~j~0 := -1; {126#true} is VALID [2020-07-10 20:22:24,825 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-10 20:22:24,825 INFO L280 TraceCheckUtils]: 15: Hoare triple {126#true} assume !(~str.base == 0 && ~str.offset == 0); {126#true} is VALID [2020-07-10 20:22:24,826 INFO L280 TraceCheckUtils]: 16: Hoare triple {126#true} #t~post2 := ~i~0; {126#true} is VALID [2020-07-10 20:22:24,826 INFO L280 TraceCheckUtils]: 17: Hoare triple {126#true} ~i~0 := 1 + #t~post2; {126#true} is VALID [2020-07-10 20:22:24,826 INFO L280 TraceCheckUtils]: 18: Hoare triple {126#true} havoc #t~post2; {126#true} is VALID [2020-07-10 20:22:24,827 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-10 20:22:24,827 INFO L280 TraceCheckUtils]: 20: Hoare triple {126#true} #t~switch4 := 0 == #t~mem3; {126#true} is VALID [2020-07-10 20:22:24,828 INFO L280 TraceCheckUtils]: 21: Hoare triple {126#true} assume #t~switch4; {126#true} is VALID [2020-07-10 20:22:24,829 INFO L280 TraceCheckUtils]: 22: Hoare triple {126#true} assume !true; {127#false} is VALID [2020-07-10 20:22:24,830 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-10 20:22:24,830 INFO L280 TraceCheckUtils]: 24: Hoare triple {127#false} assume !(34 == #t~mem9); {127#false} is VALID [2020-07-10 20:22:24,831 INFO L280 TraceCheckUtils]: 25: Hoare triple {127#false} havoc #t~mem9; {127#false} is VALID [2020-07-10 20:22:24,831 INFO L280 TraceCheckUtils]: 26: Hoare triple {127#false} ~j~0 := ~i~0 - 1; {127#false} is VALID [2020-07-10 20:22:24,831 INFO L280 TraceCheckUtils]: 27: Hoare triple {127#false} assume !true; {127#false} is VALID [2020-07-10 20:22:24,832 INFO L280 TraceCheckUtils]: 28: Hoare triple {127#false} #t~short17 := 0 < ~j~0; {127#false} is VALID [2020-07-10 20:22:24,832 INFO L280 TraceCheckUtils]: 29: Hoare triple {127#false} assume !#t~short17; {127#false} is VALID [2020-07-10 20:22:24,833 INFO L280 TraceCheckUtils]: 30: Hoare triple {127#false} assume !#t~short17; {127#false} is VALID [2020-07-10 20:22:24,833 INFO L280 TraceCheckUtils]: 31: Hoare triple {127#false} havoc #t~short17; {127#false} is VALID [2020-07-10 20:22:24,833 INFO L280 TraceCheckUtils]: 32: Hoare triple {127#false} havoc #t~mem16; {127#false} is VALID [2020-07-10 20:22:24,834 INFO L280 TraceCheckUtils]: 33: Hoare triple {127#false} assume ~start~0 <= ~j~0; {127#false} is VALID [2020-07-10 20:22:24,834 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-10 20:22:24,835 INFO L280 TraceCheckUtils]: 35: Hoare triple {126#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {126#true} is VALID [2020-07-10 20:22:24,835 INFO L280 TraceCheckUtils]: 36: Hoare triple {126#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {126#true} is VALID [2020-07-10 20:22:24,835 INFO L280 TraceCheckUtils]: 37: Hoare triple {126#true} ~n := #in~n; {126#true} is VALID [2020-07-10 20:22:24,836 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-10 20:22:24,836 INFO L280 TraceCheckUtils]: 39: Hoare triple {126#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {126#true} is VALID [2020-07-10 20:22:24,837 INFO L280 TraceCheckUtils]: 40: Hoare triple {126#true} havoc #t~ret0.base, #t~ret0.offset; {126#true} is VALID [2020-07-10 20:22:24,837 INFO L280 TraceCheckUtils]: 41: Hoare triple {126#true} assume true; {126#true} is VALID [2020-07-10 20:22:24,837 INFO L275 TraceCheckUtils]: 42: Hoare quadruple {126#true} {127#false} #201#return; {127#false} is VALID [2020-07-10 20:22:24,838 INFO L280 TraceCheckUtils]: 43: Hoare triple {127#false} havoc #t~ret19.base, #t~ret19.offset; {127#false} is VALID [2020-07-10 20:22:24,838 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-10 20:22:24,839 INFO L280 TraceCheckUtils]: 45: Hoare triple {127#false} ~cond := #in~cond; {127#false} is VALID [2020-07-10 20:22:24,839 INFO L280 TraceCheckUtils]: 46: Hoare triple {127#false} assume 0 == ~cond; {127#false} is VALID [2020-07-10 20:22:24,840 INFO L280 TraceCheckUtils]: 47: Hoare triple {127#false} assume !false; {127#false} is VALID [2020-07-10 20:22:24,847 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-10 20:22:24,848 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:24,850 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1622242443] [2020-07-10 20:22:24,853 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:24,853 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-07-10 20:22:24,854 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1735511532] [2020-07-10 20:22:24,861 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 48 [2020-07-10 20:22:24,865 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:24,869 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-10 20:22:24,978 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-10 20:22:24,978 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-10 20:22:24,979 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:24,987 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-10 20:22:24,988 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-10 20:22:24,990 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 3 states. [2020-07-10 20:22:25,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:25,763 INFO L93 Difference]: Finished difference Result 227 states and 257 transitions. [2020-07-10 20:22:25,763 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-10 20:22:25,763 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 48 [2020-07-10 20:22:25,765 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:25,766 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-10 20:22:25,793 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 257 transitions. [2020-07-10 20:22:25,794 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-10 20:22:25,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 257 transitions. [2020-07-10 20:22:25,806 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 257 transitions. [2020-07-10 20:22:26,163 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-10 20:22:26,200 INFO L225 Difference]: With dead ends: 227 [2020-07-10 20:22:26,200 INFO L226 Difference]: Without dead ends: 102 [2020-07-10 20:22:26,205 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-10 20:22:26,231 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2020-07-10 20:22:26,341 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 102. [2020-07-10 20:22:26,342 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:26,342 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand 102 states. [2020-07-10 20:22:26,343 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 102 states. [2020-07-10 20:22:26,343 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 102 states. [2020-07-10 20:22:26,352 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:26,352 INFO L93 Difference]: Finished difference Result 102 states and 111 transitions. [2020-07-10 20:22:26,353 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 111 transitions. [2020-07-10 20:22:26,357 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:26,357 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:26,358 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 102 states. [2020-07-10 20:22:26,358 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 102 states. [2020-07-10 20:22:26,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:26,380 INFO L93 Difference]: Finished difference Result 102 states and 111 transitions. [2020-07-10 20:22:26,381 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 111 transitions. [2020-07-10 20:22:26,382 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:26,382 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:26,382 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:26,382 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:26,383 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 102 states. [2020-07-10 20:22:26,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 111 transitions. [2020-07-10 20:22:26,397 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 111 transitions. Word has length 48 [2020-07-10 20:22:26,399 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:26,399 INFO L479 AbstractCegarLoop]: Abstraction has 102 states and 111 transitions. [2020-07-10 20:22:26,399 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-10 20:22:26,399 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 102 states and 111 transitions. [2020-07-10 20:22:26,519 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-10 20:22:26,520 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 111 transitions. [2020-07-10 20:22:26,523 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2020-07-10 20:22:26,523 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:26,523 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-10 20:22:26,524 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-10 20:22:26,524 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:26,524 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:26,525 INFO L82 PathProgramCache]: Analyzing trace with hash 1227098254, now seen corresponding path program 1 times [2020-07-10 20:22:26,525 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:26,525 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [521375396] [2020-07-10 20:22:26,525 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:26,559 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:26,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:26,634 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-10 20:22:26,634 INFO L280 TraceCheckUtils]: 1: Hoare triple {1006#true} #valid := #valid[0 := 0]; {1006#true} is VALID [2020-07-10 20:22:26,635 INFO L280 TraceCheckUtils]: 2: Hoare triple {1006#true} assume 0 < #StackHeapBarrier; {1006#true} is VALID [2020-07-10 20:22:26,635 INFO L280 TraceCheckUtils]: 3: Hoare triple {1006#true} assume true; {1006#true} is VALID [2020-07-10 20:22:26,635 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1006#true} {1006#true} #205#return; {1006#true} is VALID [2020-07-10 20:22:26,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:26,643 INFO L280 TraceCheckUtils]: 0: Hoare triple {1006#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {1006#true} is VALID [2020-07-10 20:22:26,644 INFO L280 TraceCheckUtils]: 1: Hoare triple {1006#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {1006#true} is VALID [2020-07-10 20:22:26,644 INFO L280 TraceCheckUtils]: 2: Hoare triple {1006#true} ~n := #in~n; {1006#true} is VALID [2020-07-10 20:22:26,644 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-10 20:22:26,645 INFO L280 TraceCheckUtils]: 4: Hoare triple {1006#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {1006#true} is VALID [2020-07-10 20:22:26,645 INFO L280 TraceCheckUtils]: 5: Hoare triple {1006#true} havoc #t~ret0.base, #t~ret0.offset; {1006#true} is VALID [2020-07-10 20:22:26,645 INFO L280 TraceCheckUtils]: 6: Hoare triple {1006#true} assume true; {1006#true} is VALID [2020-07-10 20:22:26,645 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {1006#true} {1007#false} #201#return; {1007#false} is VALID [2020-07-10 20:22:26,647 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-10 20:22:26,647 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-10 20:22:26,647 INFO L280 TraceCheckUtils]: 2: Hoare triple {1006#true} #valid := #valid[0 := 0]; {1006#true} is VALID [2020-07-10 20:22:26,648 INFO L280 TraceCheckUtils]: 3: Hoare triple {1006#true} assume 0 < #StackHeapBarrier; {1006#true} is VALID [2020-07-10 20:22:26,648 INFO L280 TraceCheckUtils]: 4: Hoare triple {1006#true} assume true; {1006#true} is VALID [2020-07-10 20:22:26,648 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1006#true} {1006#true} #205#return; {1006#true} is VALID [2020-07-10 20:22:26,649 INFO L263 TraceCheckUtils]: 6: Hoare triple {1006#true} call #t~ret21 := main(); {1006#true} is VALID [2020-07-10 20:22:26,649 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-10 20:22:26,649 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-10 20:22:26,650 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-10 20:22:26,650 INFO L280 TraceCheckUtils]: 10: Hoare triple {1006#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {1006#true} is VALID [2020-07-10 20:22:26,650 INFO L280 TraceCheckUtils]: 11: Hoare triple {1006#true} ~start~0 := 0; {1006#true} is VALID [2020-07-10 20:22:26,650 INFO L280 TraceCheckUtils]: 12: Hoare triple {1006#true} ~i~0 := -1; {1006#true} is VALID [2020-07-10 20:22:26,651 INFO L280 TraceCheckUtils]: 13: Hoare triple {1006#true} ~j~0 := -1; {1006#true} is VALID [2020-07-10 20:22:26,651 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-10 20:22:26,651 INFO L280 TraceCheckUtils]: 15: Hoare triple {1006#true} assume !(~str.base == 0 && ~str.offset == 0); {1006#true} is VALID [2020-07-10 20:22:26,652 INFO L280 TraceCheckUtils]: 16: Hoare triple {1006#true} #t~post2 := ~i~0; {1006#true} is VALID [2020-07-10 20:22:26,652 INFO L280 TraceCheckUtils]: 17: Hoare triple {1006#true} ~i~0 := 1 + #t~post2; {1006#true} is VALID [2020-07-10 20:22:26,652 INFO L280 TraceCheckUtils]: 18: Hoare triple {1006#true} havoc #t~post2; {1006#true} is VALID [2020-07-10 20:22:26,652 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-10 20:22:26,653 INFO L280 TraceCheckUtils]: 20: Hoare triple {1006#true} #t~switch4 := 0 == #t~mem3; {1006#true} is VALID [2020-07-10 20:22:26,653 INFO L280 TraceCheckUtils]: 21: Hoare triple {1006#true} assume #t~switch4; {1006#true} is VALID [2020-07-10 20:22:26,653 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-10 20:22:26,654 INFO L280 TraceCheckUtils]: 23: Hoare triple {1006#true} #t~short7 := 32 == #t~mem5; {1006#true} is VALID [2020-07-10 20:22:26,655 INFO L280 TraceCheckUtils]: 24: Hoare triple {1006#true} assume #t~short7; {1013#|parse_expression_list_#t~short7|} is VALID [2020-07-10 20:22:26,655 INFO L280 TraceCheckUtils]: 25: Hoare triple {1013#|parse_expression_list_#t~short7|} assume !#t~short7; {1007#false} is VALID [2020-07-10 20:22:26,656 INFO L280 TraceCheckUtils]: 26: Hoare triple {1007#false} havoc #t~mem6; {1007#false} is VALID [2020-07-10 20:22:26,656 INFO L280 TraceCheckUtils]: 27: Hoare triple {1007#false} havoc #t~short7; {1007#false} is VALID [2020-07-10 20:22:26,656 INFO L280 TraceCheckUtils]: 28: Hoare triple {1007#false} havoc #t~mem5; {1007#false} is VALID [2020-07-10 20:22:26,657 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-10 20:22:26,657 INFO L280 TraceCheckUtils]: 30: Hoare triple {1007#false} assume !(34 == #t~mem9); {1007#false} is VALID [2020-07-10 20:22:26,657 INFO L280 TraceCheckUtils]: 31: Hoare triple {1007#false} havoc #t~mem9; {1007#false} is VALID [2020-07-10 20:22:26,658 INFO L280 TraceCheckUtils]: 32: Hoare triple {1007#false} ~j~0 := ~i~0 - 1; {1007#false} is VALID [2020-07-10 20:22:26,658 INFO L280 TraceCheckUtils]: 33: Hoare triple {1007#false} #t~short14 := 0 < ~j~0; {1007#false} is VALID [2020-07-10 20:22:26,658 INFO L280 TraceCheckUtils]: 34: Hoare triple {1007#false} assume !#t~short14; {1007#false} is VALID [2020-07-10 20:22:26,658 INFO L280 TraceCheckUtils]: 35: Hoare triple {1007#false} assume !#t~short14; {1007#false} is VALID [2020-07-10 20:22:26,659 INFO L280 TraceCheckUtils]: 36: Hoare triple {1007#false} havoc #t~mem11; {1007#false} is VALID [2020-07-10 20:22:26,659 INFO L280 TraceCheckUtils]: 37: Hoare triple {1007#false} havoc #t~short14; {1007#false} is VALID [2020-07-10 20:22:26,659 INFO L280 TraceCheckUtils]: 38: Hoare triple {1007#false} havoc #t~short13; {1007#false} is VALID [2020-07-10 20:22:26,660 INFO L280 TraceCheckUtils]: 39: Hoare triple {1007#false} havoc #t~mem12; {1007#false} is VALID [2020-07-10 20:22:26,660 INFO L280 TraceCheckUtils]: 40: Hoare triple {1007#false} #t~short17 := 0 < ~j~0; {1007#false} is VALID [2020-07-10 20:22:26,660 INFO L280 TraceCheckUtils]: 41: Hoare triple {1007#false} assume !#t~short17; {1007#false} is VALID [2020-07-10 20:22:26,661 INFO L280 TraceCheckUtils]: 42: Hoare triple {1007#false} assume !#t~short17; {1007#false} is VALID [2020-07-10 20:22:26,661 INFO L280 TraceCheckUtils]: 43: Hoare triple {1007#false} havoc #t~short17; {1007#false} is VALID [2020-07-10 20:22:26,661 INFO L280 TraceCheckUtils]: 44: Hoare triple {1007#false} havoc #t~mem16; {1007#false} is VALID [2020-07-10 20:22:26,661 INFO L280 TraceCheckUtils]: 45: Hoare triple {1007#false} assume ~start~0 <= ~j~0; {1007#false} is VALID [2020-07-10 20:22:26,662 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-10 20:22:26,662 INFO L280 TraceCheckUtils]: 47: Hoare triple {1006#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {1006#true} is VALID [2020-07-10 20:22:26,662 INFO L280 TraceCheckUtils]: 48: Hoare triple {1006#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {1006#true} is VALID [2020-07-10 20:22:26,663 INFO L280 TraceCheckUtils]: 49: Hoare triple {1006#true} ~n := #in~n; {1006#true} is VALID [2020-07-10 20:22:26,663 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-10 20:22:26,663 INFO L280 TraceCheckUtils]: 51: Hoare triple {1006#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {1006#true} is VALID [2020-07-10 20:22:26,664 INFO L280 TraceCheckUtils]: 52: Hoare triple {1006#true} havoc #t~ret0.base, #t~ret0.offset; {1006#true} is VALID [2020-07-10 20:22:26,664 INFO L280 TraceCheckUtils]: 53: Hoare triple {1006#true} assume true; {1006#true} is VALID [2020-07-10 20:22:26,664 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {1006#true} {1007#false} #201#return; {1007#false} is VALID [2020-07-10 20:22:26,665 INFO L280 TraceCheckUtils]: 55: Hoare triple {1007#false} havoc #t~ret19.base, #t~ret19.offset; {1007#false} is VALID [2020-07-10 20:22:26,665 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-10 20:22:26,665 INFO L280 TraceCheckUtils]: 57: Hoare triple {1007#false} ~cond := #in~cond; {1007#false} is VALID [2020-07-10 20:22:26,666 INFO L280 TraceCheckUtils]: 58: Hoare triple {1007#false} assume 0 == ~cond; {1007#false} is VALID [2020-07-10 20:22:26,666 INFO L280 TraceCheckUtils]: 59: Hoare triple {1007#false} assume !false; {1007#false} is VALID [2020-07-10 20:22:26,670 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-10 20:22:26,670 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:26,670 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [521375396] [2020-07-10 20:22:26,671 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:26,671 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-10 20:22:26,671 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [18943742] [2020-07-10 20:22:26,672 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 60 [2020-07-10 20:22:26,673 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:26,673 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-10 20:22:26,734 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-10 20:22:26,734 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-10 20:22:26,734 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:26,734 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-10 20:22:26,735 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 20:22:26,735 INFO L87 Difference]: Start difference. First operand 102 states and 111 transitions. Second operand 4 states. [2020-07-10 20:22:27,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:27,283 INFO L93 Difference]: Finished difference Result 189 states and 208 transitions. [2020-07-10 20:22:27,283 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-10 20:22:27,283 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 60 [2020-07-10 20:22:27,283 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:27,284 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 20:22:27,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 208 transitions. [2020-07-10 20:22:27,288 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 20:22:27,292 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 208 transitions. [2020-07-10 20:22:27,292 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 208 transitions. [2020-07-10 20:22:27,503 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-10 20:22:27,507 INFO L225 Difference]: With dead ends: 189 [2020-07-10 20:22:27,507 INFO L226 Difference]: Without dead ends: 103 [2020-07-10 20:22:27,509 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-10 20:22:27,510 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2020-07-10 20:22:27,589 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2020-07-10 20:22:27,589 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:27,589 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand 103 states. [2020-07-10 20:22:27,590 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand 103 states. [2020-07-10 20:22:27,590 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 103 states. [2020-07-10 20:22:27,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:27,599 INFO L93 Difference]: Finished difference Result 103 states and 112 transitions. [2020-07-10 20:22:27,600 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 112 transitions. [2020-07-10 20:22:27,605 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:27,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:27,606 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand 103 states. [2020-07-10 20:22:27,606 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 103 states. [2020-07-10 20:22:27,615 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:27,615 INFO L93 Difference]: Finished difference Result 103 states and 112 transitions. [2020-07-10 20:22:27,615 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 112 transitions. [2020-07-10 20:22:27,616 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:27,616 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:27,616 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:27,616 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:27,617 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 103 states. [2020-07-10 20:22:27,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 112 transitions. [2020-07-10 20:22:27,623 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 112 transitions. Word has length 60 [2020-07-10 20:22:27,625 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:27,625 INFO L479 AbstractCegarLoop]: Abstraction has 103 states and 112 transitions. [2020-07-10 20:22:27,625 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-10 20:22:27,625 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 103 states and 112 transitions. [2020-07-10 20:22:27,767 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-10 20:22:27,767 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 112 transitions. [2020-07-10 20:22:27,769 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2020-07-10 20:22:27,769 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:27,769 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-10 20:22:27,770 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-10 20:22:27,770 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:27,770 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:27,770 INFO L82 PathProgramCache]: Analyzing trace with hash 1578191403, now seen corresponding path program 1 times [2020-07-10 20:22:27,770 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:27,771 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [260489413] [2020-07-10 20:22:27,771 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:27,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:27,989 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:27,994 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-10 20:22:27,994 INFO L280 TraceCheckUtils]: 1: Hoare triple {1815#true} #valid := #valid[0 := 0]; {1815#true} is VALID [2020-07-10 20:22:27,994 INFO L280 TraceCheckUtils]: 2: Hoare triple {1815#true} assume 0 < #StackHeapBarrier; {1815#true} is VALID [2020-07-10 20:22:27,995 INFO L280 TraceCheckUtils]: 3: Hoare triple {1815#true} assume true; {1815#true} is VALID [2020-07-10 20:22:27,995 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1815#true} {1815#true} #205#return; {1815#true} is VALID [2020-07-10 20:22:27,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:28,001 INFO L280 TraceCheckUtils]: 0: Hoare triple {1815#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {1815#true} is VALID [2020-07-10 20:22:28,001 INFO L280 TraceCheckUtils]: 1: Hoare triple {1815#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {1815#true} is VALID [2020-07-10 20:22:28,002 INFO L280 TraceCheckUtils]: 2: Hoare triple {1815#true} ~n := #in~n; {1815#true} is VALID [2020-07-10 20:22:28,002 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-10 20:22:28,002 INFO L280 TraceCheckUtils]: 4: Hoare triple {1815#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {1815#true} is VALID [2020-07-10 20:22:28,003 INFO L280 TraceCheckUtils]: 5: Hoare triple {1815#true} havoc #t~ret0.base, #t~ret0.offset; {1815#true} is VALID [2020-07-10 20:22:28,003 INFO L280 TraceCheckUtils]: 6: Hoare triple {1815#true} assume true; {1815#true} is VALID [2020-07-10 20:22:28,003 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {1815#true} {1816#false} #201#return; {1816#false} is VALID [2020-07-10 20:22:28,004 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-10 20:22:28,005 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-10 20:22:28,005 INFO L280 TraceCheckUtils]: 2: Hoare triple {1815#true} #valid := #valid[0 := 0]; {1815#true} is VALID [2020-07-10 20:22:28,005 INFO L280 TraceCheckUtils]: 3: Hoare triple {1815#true} assume 0 < #StackHeapBarrier; {1815#true} is VALID [2020-07-10 20:22:28,006 INFO L280 TraceCheckUtils]: 4: Hoare triple {1815#true} assume true; {1815#true} is VALID [2020-07-10 20:22:28,006 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1815#true} {1815#true} #205#return; {1815#true} is VALID [2020-07-10 20:22:28,006 INFO L263 TraceCheckUtils]: 6: Hoare triple {1815#true} call #t~ret21 := main(); {1815#true} is VALID [2020-07-10 20:22:28,006 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-10 20:22:28,007 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-10 20:22:28,007 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-10 20:22:28,007 INFO L280 TraceCheckUtils]: 10: Hoare triple {1815#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {1815#true} is VALID [2020-07-10 20:22:28,008 INFO L280 TraceCheckUtils]: 11: Hoare triple {1815#true} ~start~0 := 0; {1822#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:28,009 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-10 20:22:28,010 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-10 20:22:28,011 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-10 20:22:28,012 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-10 20:22:28,013 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-10 20:22:28,014 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-10 20:22:28,015 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-10 20:22:28,016 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-10 20:22:28,017 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-10 20:22:28,018 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-10 20:22:28,019 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-10 20:22:28,020 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-10 20:22:28,020 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-10 20:22:28,021 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-10 20:22:28,022 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-10 20:22:28,023 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-10 20:22:28,024 INFO L280 TraceCheckUtils]: 28: 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-10 20:22:28,024 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-10 20:22:28,025 INFO L280 TraceCheckUtils]: 30: 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-10 20:22:28,026 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-10 20:22:28,027 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-10 20:22:28,028 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-10 20:22:28,029 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-10 20:22:28,030 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-10 20:22:28,031 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-10 20:22:28,032 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-10 20:22:28,033 INFO L280 TraceCheckUtils]: 38: 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-10 20:22:28,034 INFO L280 TraceCheckUtils]: 39: 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-10 20:22:28,035 INFO L280 TraceCheckUtils]: 40: 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-10 20:22:28,035 INFO L280 TraceCheckUtils]: 41: 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-10 20:22:28,036 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-10 20:22:28,037 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-10 20:22:28,038 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-10 20:22:28,039 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-10 20:22:28,040 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-10 20:22:28,041 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-10 20:22:28,041 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-10 20:22:28,041 INFO L280 TraceCheckUtils]: 49: Hoare triple {1815#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {1815#true} is VALID [2020-07-10 20:22:28,041 INFO L280 TraceCheckUtils]: 50: Hoare triple {1815#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {1815#true} is VALID [2020-07-10 20:22:28,042 INFO L280 TraceCheckUtils]: 51: Hoare triple {1815#true} ~n := #in~n; {1815#true} is VALID [2020-07-10 20:22:28,042 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-10 20:22:28,042 INFO L280 TraceCheckUtils]: 53: Hoare triple {1815#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {1815#true} is VALID [2020-07-10 20:22:28,042 INFO L280 TraceCheckUtils]: 54: Hoare triple {1815#true} havoc #t~ret0.base, #t~ret0.offset; {1815#true} is VALID [2020-07-10 20:22:28,043 INFO L280 TraceCheckUtils]: 55: Hoare triple {1815#true} assume true; {1815#true} is VALID [2020-07-10 20:22:28,043 INFO L275 TraceCheckUtils]: 56: Hoare quadruple {1815#true} {1816#false} #201#return; {1816#false} is VALID [2020-07-10 20:22:28,043 INFO L280 TraceCheckUtils]: 57: Hoare triple {1816#false} havoc #t~ret19.base, #t~ret19.offset; {1816#false} is VALID [2020-07-10 20:22:28,044 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-10 20:22:28,044 INFO L280 TraceCheckUtils]: 59: Hoare triple {1816#false} ~cond := #in~cond; {1816#false} is VALID [2020-07-10 20:22:28,044 INFO L280 TraceCheckUtils]: 60: Hoare triple {1816#false} assume 0 == ~cond; {1816#false} is VALID [2020-07-10 20:22:28,044 INFO L280 TraceCheckUtils]: 61: Hoare triple {1816#false} assume !false; {1816#false} is VALID [2020-07-10 20:22:28,055 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-10 20:22:28,055 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:28,056 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [260489413] [2020-07-10 20:22:28,056 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:28,056 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2020-07-10 20:22:28,056 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [745076982] [2020-07-10 20:22:28,057 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 62 [2020-07-10 20:22:28,057 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:28,058 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-10 20:22:28,124 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-10 20:22:28,124 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-10 20:22:28,124 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:28,125 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-10 20:22:28,125 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=38, Unknown=0, NotChecked=0, Total=56 [2020-07-10 20:22:28,125 INFO L87 Difference]: Start difference. First operand 103 states and 112 transitions. Second operand 8 states. [2020-07-10 20:22:29,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:29,870 INFO L93 Difference]: Finished difference Result 365 states and 410 transitions. [2020-07-10 20:22:29,870 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2020-07-10 20:22:29,870 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 62 [2020-07-10 20:22:29,871 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:29,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 20:22:29,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 406 transitions. [2020-07-10 20:22:29,878 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 20:22:29,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 406 transitions. [2020-07-10 20:22:29,885 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 406 transitions. [2020-07-10 20:22:30,319 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-10 20:22:30,328 INFO L225 Difference]: With dead ends: 365 [2020-07-10 20:22:30,328 INFO L226 Difference]: Without dead ends: 275 [2020-07-10 20:22:30,329 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-10 20:22:30,330 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 275 states. [2020-07-10 20:22:30,495 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 275 to 140. [2020-07-10 20:22:30,495 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:30,495 INFO L82 GeneralOperation]: Start isEquivalent. First operand 275 states. Second operand 140 states. [2020-07-10 20:22:30,496 INFO L74 IsIncluded]: Start isIncluded. First operand 275 states. Second operand 140 states. [2020-07-10 20:22:30,496 INFO L87 Difference]: Start difference. First operand 275 states. Second operand 140 states. [2020-07-10 20:22:30,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:30,520 INFO L93 Difference]: Finished difference Result 275 states and 310 transitions. [2020-07-10 20:22:30,521 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 310 transitions. [2020-07-10 20:22:30,522 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:30,523 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:30,523 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand 275 states. [2020-07-10 20:22:30,523 INFO L87 Difference]: Start difference. First operand 140 states. Second operand 275 states. [2020-07-10 20:22:30,539 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:30,539 INFO L93 Difference]: Finished difference Result 275 states and 310 transitions. [2020-07-10 20:22:30,539 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 310 transitions. [2020-07-10 20:22:30,541 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:30,541 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:30,541 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:30,542 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:30,542 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 140 states. [2020-07-10 20:22:30,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 140 states to 140 states and 157 transitions. [2020-07-10 20:22:30,553 INFO L78 Accepts]: Start accepts. Automaton has 140 states and 157 transitions. Word has length 62 [2020-07-10 20:22:30,555 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:30,556 INFO L479 AbstractCegarLoop]: Abstraction has 140 states and 157 transitions. [2020-07-10 20:22:30,556 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-10 20:22:30,556 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 140 states and 157 transitions. [2020-07-10 20:22:30,759 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-10 20:22:30,760 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 157 transitions. [2020-07-10 20:22:30,761 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2020-07-10 20:22:30,761 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:30,762 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-10 20:22:30,764 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-10 20:22:30,764 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:30,764 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:30,765 INFO L82 PathProgramCache]: Analyzing trace with hash 1116699365, now seen corresponding path program 1 times [2020-07-10 20:22:30,765 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:30,765 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1538483642] [2020-07-10 20:22:30,766 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:30,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:30,960 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:30,971 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-10 20:22:30,971 INFO L280 TraceCheckUtils]: 1: Hoare triple {3412#true} #valid := #valid[0 := 0]; {3412#true} is VALID [2020-07-10 20:22:30,971 INFO L280 TraceCheckUtils]: 2: Hoare triple {3412#true} assume 0 < #StackHeapBarrier; {3412#true} is VALID [2020-07-10 20:22:30,971 INFO L280 TraceCheckUtils]: 3: Hoare triple {3412#true} assume true; {3412#true} is VALID [2020-07-10 20:22:30,972 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {3412#true} {3412#true} #205#return; {3412#true} is VALID [2020-07-10 20:22:30,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:30,978 INFO L280 TraceCheckUtils]: 0: Hoare triple {3412#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {3412#true} is VALID [2020-07-10 20:22:30,978 INFO L280 TraceCheckUtils]: 1: Hoare triple {3412#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {3412#true} is VALID [2020-07-10 20:22:30,978 INFO L280 TraceCheckUtils]: 2: Hoare triple {3412#true} ~n := #in~n; {3412#true} is VALID [2020-07-10 20:22:30,978 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-10 20:22:30,979 INFO L280 TraceCheckUtils]: 4: Hoare triple {3412#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {3412#true} is VALID [2020-07-10 20:22:30,979 INFO L280 TraceCheckUtils]: 5: Hoare triple {3412#true} havoc #t~ret0.base, #t~ret0.offset; {3412#true} is VALID [2020-07-10 20:22:30,979 INFO L280 TraceCheckUtils]: 6: Hoare triple {3412#true} assume true; {3412#true} is VALID [2020-07-10 20:22:30,979 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {3412#true} {3413#false} #201#return; {3413#false} is VALID [2020-07-10 20:22:30,980 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-10 20:22:30,980 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-10 20:22:30,980 INFO L280 TraceCheckUtils]: 2: Hoare triple {3412#true} #valid := #valid[0 := 0]; {3412#true} is VALID [2020-07-10 20:22:30,981 INFO L280 TraceCheckUtils]: 3: Hoare triple {3412#true} assume 0 < #StackHeapBarrier; {3412#true} is VALID [2020-07-10 20:22:30,981 INFO L280 TraceCheckUtils]: 4: Hoare triple {3412#true} assume true; {3412#true} is VALID [2020-07-10 20:22:30,981 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {3412#true} {3412#true} #205#return; {3412#true} is VALID [2020-07-10 20:22:30,981 INFO L263 TraceCheckUtils]: 6: Hoare triple {3412#true} call #t~ret21 := main(); {3412#true} is VALID [2020-07-10 20:22:30,982 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-10 20:22:30,982 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-10 20:22:30,982 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-10 20:22:30,982 INFO L280 TraceCheckUtils]: 10: Hoare triple {3412#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {3412#true} is VALID [2020-07-10 20:22:30,987 INFO L280 TraceCheckUtils]: 11: Hoare triple {3412#true} ~start~0 := 0; {3419#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:30,988 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-10 20:22:30,992 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-10 20:22:30,993 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-10 20:22:30,994 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-10 20:22:30,995 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-10 20:22:30,996 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-10 20:22:30,997 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-10 20:22:30,998 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-10 20:22:30,998 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-10 20:22:31,002 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-10 20:22:31,004 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-10 20:22:31,005 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-10 20:22:31,005 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-10 20:22:31,006 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-10 20:22:31,007 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-10 20:22:31,008 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-10 20:22:31,009 INFO L280 TraceCheckUtils]: 28: 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-10 20:22:31,010 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-10 20:22:31,010 INFO L280 TraceCheckUtils]: 30: 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-10 20:22:31,013 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-10 20:22:31,016 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-10 20:22:31,020 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-10 20:22:31,027 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-10 20:22:31,030 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-10 20:22:31,031 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-10 20:22:31,032 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-10 20:22:31,032 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-10 20:22:31,033 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-10 20:22:31,034 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-10 20:22:31,035 INFO L280 TraceCheckUtils]: 41: 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-10 20:22:31,035 INFO L280 TraceCheckUtils]: 42: 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-10 20:22:31,035 INFO L280 TraceCheckUtils]: 43: 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-10 20:22:31,036 INFO L280 TraceCheckUtils]: 44: 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-10 20:22:31,036 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-10 20:22:31,037 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-10 20:22:31,037 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-10 20:22:31,037 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-10 20:22:31,038 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-10 20:22:31,038 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-10 20:22:31,039 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-10 20:22:31,039 INFO L280 TraceCheckUtils]: 52: Hoare triple {3412#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {3412#true} is VALID [2020-07-10 20:22:31,039 INFO L280 TraceCheckUtils]: 53: Hoare triple {3412#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {3412#true} is VALID [2020-07-10 20:22:31,039 INFO L280 TraceCheckUtils]: 54: Hoare triple {3412#true} ~n := #in~n; {3412#true} is VALID [2020-07-10 20:22:31,039 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-10 20:22:31,040 INFO L280 TraceCheckUtils]: 56: Hoare triple {3412#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {3412#true} is VALID [2020-07-10 20:22:31,040 INFO L280 TraceCheckUtils]: 57: Hoare triple {3412#true} havoc #t~ret0.base, #t~ret0.offset; {3412#true} is VALID [2020-07-10 20:22:31,040 INFO L280 TraceCheckUtils]: 58: Hoare triple {3412#true} assume true; {3412#true} is VALID [2020-07-10 20:22:31,040 INFO L275 TraceCheckUtils]: 59: Hoare quadruple {3412#true} {3413#false} #201#return; {3413#false} is VALID [2020-07-10 20:22:31,040 INFO L280 TraceCheckUtils]: 60: Hoare triple {3413#false} havoc #t~ret19.base, #t~ret19.offset; {3413#false} is VALID [2020-07-10 20:22:31,041 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-10 20:22:31,041 INFO L280 TraceCheckUtils]: 62: Hoare triple {3413#false} ~cond := #in~cond; {3413#false} is VALID [2020-07-10 20:22:31,041 INFO L280 TraceCheckUtils]: 63: Hoare triple {3413#false} assume 0 == ~cond; {3413#false} is VALID [2020-07-10 20:22:31,041 INFO L280 TraceCheckUtils]: 64: Hoare triple {3413#false} assume !false; {3413#false} is VALID [2020-07-10 20:22:31,047 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-10 20:22:31,048 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:31,048 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1538483642] [2020-07-10 20:22:31,048 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:31,049 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2020-07-10 20:22:31,049 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [775501433] [2020-07-10 20:22:31,049 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 65 [2020-07-10 20:22:31,050 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:31,050 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-10 20:22:31,114 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-10 20:22:31,114 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-10 20:22:31,115 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:31,115 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-10 20:22:31,115 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2020-07-10 20:22:31,116 INFO L87 Difference]: Start difference. First operand 140 states and 157 transitions. Second operand 10 states. [2020-07-10 20:22:33,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:33,179 INFO L93 Difference]: Finished difference Result 430 states and 486 transitions. [2020-07-10 20:22:33,179 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-10 20:22:33,179 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 65 [2020-07-10 20:22:33,179 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:33,179 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-10 20:22:33,197 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 460 transitions. [2020-07-10 20:22:33,197 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-10 20:22:33,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 460 transitions. [2020-07-10 20:22:33,209 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 460 transitions. [2020-07-10 20:22:33,696 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-10 20:22:33,707 INFO L225 Difference]: With dead ends: 430 [2020-07-10 20:22:33,707 INFO L226 Difference]: Without dead ends: 340 [2020-07-10 20:22:33,708 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-10 20:22:33,709 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 340 states. [2020-07-10 20:22:33,877 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 340 to 144. [2020-07-10 20:22:33,877 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:33,877 INFO L82 GeneralOperation]: Start isEquivalent. First operand 340 states. Second operand 144 states. [2020-07-10 20:22:33,878 INFO L74 IsIncluded]: Start isIncluded. First operand 340 states. Second operand 144 states. [2020-07-10 20:22:33,878 INFO L87 Difference]: Start difference. First operand 340 states. Second operand 144 states. [2020-07-10 20:22:33,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:33,892 INFO L93 Difference]: Finished difference Result 340 states and 386 transitions. [2020-07-10 20:22:33,892 INFO L276 IsEmpty]: Start isEmpty. Operand 340 states and 386 transitions. [2020-07-10 20:22:33,894 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:33,894 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:33,894 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand 340 states. [2020-07-10 20:22:33,894 INFO L87 Difference]: Start difference. First operand 144 states. Second operand 340 states. [2020-07-10 20:22:33,908 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:33,909 INFO L93 Difference]: Finished difference Result 340 states and 386 transitions. [2020-07-10 20:22:33,909 INFO L276 IsEmpty]: Start isEmpty. Operand 340 states and 386 transitions. [2020-07-10 20:22:33,910 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:33,910 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:33,910 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:33,911 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:33,911 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 144 states. [2020-07-10 20:22:33,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 161 transitions. [2020-07-10 20:22:33,915 INFO L78 Accepts]: Start accepts. Automaton has 144 states and 161 transitions. Word has length 65 [2020-07-10 20:22:33,924 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:33,924 INFO L479 AbstractCegarLoop]: Abstraction has 144 states and 161 transitions. [2020-07-10 20:22:33,924 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-10 20:22:33,924 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 144 states and 161 transitions. [2020-07-10 20:22:34,110 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-10 20:22:34,110 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 161 transitions. [2020-07-10 20:22:34,111 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2020-07-10 20:22:34,111 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:34,112 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-10 20:22:34,112 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-10 20:22:34,112 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:34,113 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:34,113 INFO L82 PathProgramCache]: Analyzing trace with hash 1492663361, now seen corresponding path program 1 times [2020-07-10 20:22:34,113 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:34,113 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [890383125] [2020-07-10 20:22:34,113 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:34,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:34,185 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:34,190 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-10 20:22:34,190 INFO L280 TraceCheckUtils]: 1: Hoare triple {5279#true} #valid := #valid[0 := 0]; {5279#true} is VALID [2020-07-10 20:22:34,191 INFO L280 TraceCheckUtils]: 2: Hoare triple {5279#true} assume 0 < #StackHeapBarrier; {5279#true} is VALID [2020-07-10 20:22:34,191 INFO L280 TraceCheckUtils]: 3: Hoare triple {5279#true} assume true; {5279#true} is VALID [2020-07-10 20:22:34,191 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {5279#true} {5279#true} #205#return; {5279#true} is VALID [2020-07-10 20:22:34,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:34,203 INFO L280 TraceCheckUtils]: 0: Hoare triple {5279#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {5279#true} is VALID [2020-07-10 20:22:34,204 INFO L280 TraceCheckUtils]: 1: Hoare triple {5279#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {5279#true} is VALID [2020-07-10 20:22:34,204 INFO L280 TraceCheckUtils]: 2: Hoare triple {5279#true} ~n := #in~n; {5279#true} is VALID [2020-07-10 20:22:34,205 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-10 20:22:34,205 INFO L280 TraceCheckUtils]: 4: Hoare triple {5279#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {5279#true} is VALID [2020-07-10 20:22:34,206 INFO L280 TraceCheckUtils]: 5: Hoare triple {5279#true} havoc #t~ret0.base, #t~ret0.offset; {5279#true} is VALID [2020-07-10 20:22:34,206 INFO L280 TraceCheckUtils]: 6: Hoare triple {5279#true} assume true; {5279#true} is VALID [2020-07-10 20:22:34,206 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {5279#true} {5280#false} #201#return; {5280#false} is VALID [2020-07-10 20:22:34,207 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-10 20:22:34,207 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-10 20:22:34,208 INFO L280 TraceCheckUtils]: 2: Hoare triple {5279#true} #valid := #valid[0 := 0]; {5279#true} is VALID [2020-07-10 20:22:34,208 INFO L280 TraceCheckUtils]: 3: Hoare triple {5279#true} assume 0 < #StackHeapBarrier; {5279#true} is VALID [2020-07-10 20:22:34,208 INFO L280 TraceCheckUtils]: 4: Hoare triple {5279#true} assume true; {5279#true} is VALID [2020-07-10 20:22:34,208 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {5279#true} {5279#true} #205#return; {5279#true} is VALID [2020-07-10 20:22:34,209 INFO L263 TraceCheckUtils]: 6: Hoare triple {5279#true} call #t~ret21 := main(); {5279#true} is VALID [2020-07-10 20:22:34,209 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-10 20:22:34,209 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-10 20:22:34,210 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-10 20:22:34,210 INFO L280 TraceCheckUtils]: 10: Hoare triple {5279#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {5279#true} is VALID [2020-07-10 20:22:34,211 INFO L280 TraceCheckUtils]: 11: Hoare triple {5279#true} ~start~0 := 0; {5279#true} is VALID [2020-07-10 20:22:34,211 INFO L280 TraceCheckUtils]: 12: Hoare triple {5279#true} ~i~0 := -1; {5279#true} is VALID [2020-07-10 20:22:34,211 INFO L280 TraceCheckUtils]: 13: Hoare triple {5279#true} ~j~0 := -1; {5279#true} is VALID [2020-07-10 20:22:34,211 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-10 20:22:34,212 INFO L280 TraceCheckUtils]: 15: Hoare triple {5279#true} assume !(~str.base == 0 && ~str.offset == 0); {5279#true} is VALID [2020-07-10 20:22:34,212 INFO L280 TraceCheckUtils]: 16: Hoare triple {5279#true} #t~post2 := ~i~0; {5279#true} is VALID [2020-07-10 20:22:34,212 INFO L280 TraceCheckUtils]: 17: Hoare triple {5279#true} ~i~0 := 1 + #t~post2; {5279#true} is VALID [2020-07-10 20:22:34,212 INFO L280 TraceCheckUtils]: 18: Hoare triple {5279#true} havoc #t~post2; {5279#true} is VALID [2020-07-10 20:22:34,213 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-10 20:22:34,213 INFO L280 TraceCheckUtils]: 20: Hoare triple {5279#true} #t~switch4 := 0 == #t~mem3; {5279#true} is VALID [2020-07-10 20:22:34,213 INFO L280 TraceCheckUtils]: 21: Hoare triple {5279#true} assume #t~switch4; {5279#true} is VALID [2020-07-10 20:22:34,213 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-10 20:22:34,213 INFO L280 TraceCheckUtils]: 23: Hoare triple {5279#true} #t~short7 := 32 == #t~mem5; {5279#true} is VALID [2020-07-10 20:22:34,214 INFO L280 TraceCheckUtils]: 24: Hoare triple {5279#true} assume !#t~short7; {5279#true} is VALID [2020-07-10 20:22:34,214 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-10 20:22:34,214 INFO L280 TraceCheckUtils]: 26: Hoare triple {5279#true} #t~short7 := 9 == #t~mem6; {5279#true} is VALID [2020-07-10 20:22:34,214 INFO L280 TraceCheckUtils]: 27: Hoare triple {5279#true} assume !#t~short7; {5279#true} is VALID [2020-07-10 20:22:34,215 INFO L280 TraceCheckUtils]: 28: Hoare triple {5279#true} havoc #t~mem6; {5279#true} is VALID [2020-07-10 20:22:34,215 INFO L280 TraceCheckUtils]: 29: Hoare triple {5279#true} havoc #t~short7; {5279#true} is VALID [2020-07-10 20:22:34,215 INFO L280 TraceCheckUtils]: 30: Hoare triple {5279#true} havoc #t~mem5; {5279#true} is VALID [2020-07-10 20:22:34,221 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-10 20:22:34,221 INFO L280 TraceCheckUtils]: 32: Hoare triple {5279#true} assume !(34 == #t~mem9); {5279#true} is VALID [2020-07-10 20:22:34,221 INFO L280 TraceCheckUtils]: 33: Hoare triple {5279#true} havoc #t~mem9; {5279#true} is VALID [2020-07-10 20:22:34,221 INFO L280 TraceCheckUtils]: 34: Hoare triple {5279#true} ~j~0 := ~i~0 - 1; {5279#true} is VALID [2020-07-10 20:22:34,221 INFO L280 TraceCheckUtils]: 35: Hoare triple {5279#true} #t~short14 := 0 < ~j~0; {5279#true} is VALID [2020-07-10 20:22:34,222 INFO L280 TraceCheckUtils]: 36: Hoare triple {5279#true} assume !#t~short14; {5279#true} is VALID [2020-07-10 20:22:34,222 INFO L280 TraceCheckUtils]: 37: Hoare triple {5279#true} assume !#t~short14; {5279#true} is VALID [2020-07-10 20:22:34,222 INFO L280 TraceCheckUtils]: 38: Hoare triple {5279#true} havoc #t~mem11; {5279#true} is VALID [2020-07-10 20:22:34,222 INFO L280 TraceCheckUtils]: 39: Hoare triple {5279#true} havoc #t~short14; {5279#true} is VALID [2020-07-10 20:22:34,222 INFO L280 TraceCheckUtils]: 40: Hoare triple {5279#true} havoc #t~short13; {5279#true} is VALID [2020-07-10 20:22:34,222 INFO L280 TraceCheckUtils]: 41: Hoare triple {5279#true} havoc #t~mem12; {5279#true} is VALID [2020-07-10 20:22:34,223 INFO L280 TraceCheckUtils]: 42: Hoare triple {5279#true} #t~short17 := 0 < ~j~0; {5279#true} is VALID [2020-07-10 20:22:34,223 INFO L280 TraceCheckUtils]: 43: Hoare triple {5279#true} assume !#t~short17; {5286#(not |parse_expression_list_#t~short17|)} is VALID [2020-07-10 20:22:34,224 INFO L280 TraceCheckUtils]: 44: Hoare triple {5286#(not |parse_expression_list_#t~short17|)} assume #t~short17; {5280#false} is VALID [2020-07-10 20:22:34,224 INFO L280 TraceCheckUtils]: 45: Hoare triple {5280#false} havoc #t~short17; {5280#false} is VALID [2020-07-10 20:22:34,224 INFO L280 TraceCheckUtils]: 46: Hoare triple {5280#false} havoc #t~mem16; {5280#false} is VALID [2020-07-10 20:22:34,225 INFO L280 TraceCheckUtils]: 47: Hoare triple {5280#false} #t~post18 := ~j~0; {5280#false} is VALID [2020-07-10 20:22:34,225 INFO L280 TraceCheckUtils]: 48: Hoare triple {5280#false} ~j~0 := #t~post18 - 1; {5280#false} is VALID [2020-07-10 20:22:34,225 INFO L280 TraceCheckUtils]: 49: Hoare triple {5280#false} havoc #t~post18; {5280#false} is VALID [2020-07-10 20:22:34,225 INFO L280 TraceCheckUtils]: 50: Hoare triple {5280#false} assume ~start~0 <= ~j~0; {5280#false} is VALID [2020-07-10 20:22:34,225 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-10 20:22:34,225 INFO L280 TraceCheckUtils]: 52: Hoare triple {5279#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {5279#true} is VALID [2020-07-10 20:22:34,226 INFO L280 TraceCheckUtils]: 53: Hoare triple {5279#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {5279#true} is VALID [2020-07-10 20:22:34,226 INFO L280 TraceCheckUtils]: 54: Hoare triple {5279#true} ~n := #in~n; {5279#true} is VALID [2020-07-10 20:22:34,226 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-10 20:22:34,226 INFO L280 TraceCheckUtils]: 56: Hoare triple {5279#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {5279#true} is VALID [2020-07-10 20:22:34,226 INFO L280 TraceCheckUtils]: 57: Hoare triple {5279#true} havoc #t~ret0.base, #t~ret0.offset; {5279#true} is VALID [2020-07-10 20:22:34,227 INFO L280 TraceCheckUtils]: 58: Hoare triple {5279#true} assume true; {5279#true} is VALID [2020-07-10 20:22:34,227 INFO L275 TraceCheckUtils]: 59: Hoare quadruple {5279#true} {5280#false} #201#return; {5280#false} is VALID [2020-07-10 20:22:34,227 INFO L280 TraceCheckUtils]: 60: Hoare triple {5280#false} havoc #t~ret19.base, #t~ret19.offset; {5280#false} is VALID [2020-07-10 20:22:34,227 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-10 20:22:34,228 INFO L280 TraceCheckUtils]: 62: Hoare triple {5280#false} ~cond := #in~cond; {5280#false} is VALID [2020-07-10 20:22:34,228 INFO L280 TraceCheckUtils]: 63: Hoare triple {5280#false} assume 0 == ~cond; {5280#false} is VALID [2020-07-10 20:22:34,228 INFO L280 TraceCheckUtils]: 64: Hoare triple {5280#false} assume !false; {5280#false} is VALID [2020-07-10 20:22:34,230 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-10 20:22:34,231 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:34,231 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [890383125] [2020-07-10 20:22:34,231 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:34,231 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-10 20:22:34,231 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1263379497] [2020-07-10 20:22:34,232 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 65 [2020-07-10 20:22:34,232 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:34,232 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-10 20:22:34,297 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-10 20:22:34,297 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-10 20:22:34,298 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:34,298 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-10 20:22:34,298 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 20:22:34,299 INFO L87 Difference]: Start difference. First operand 144 states and 161 transitions. Second operand 4 states. [2020-07-10 20:22:34,824 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:34,825 INFO L93 Difference]: Finished difference Result 233 states and 260 transitions. [2020-07-10 20:22:34,825 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-10 20:22:34,825 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 65 [2020-07-10 20:22:34,825 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:34,826 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 20:22:34,830 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 208 transitions. [2020-07-10 20:22:34,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 20:22:34,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 208 transitions. [2020-07-10 20:22:34,834 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 208 transitions. [2020-07-10 20:22:35,019 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-10 20:22:35,023 INFO L225 Difference]: With dead ends: 233 [2020-07-10 20:22:35,023 INFO L226 Difference]: Without dead ends: 145 [2020-07-10 20:22:35,025 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-10 20:22:35,025 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 145 states. [2020-07-10 20:22:35,239 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 145 to 145. [2020-07-10 20:22:35,240 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:35,240 INFO L82 GeneralOperation]: Start isEquivalent. First operand 145 states. Second operand 145 states. [2020-07-10 20:22:35,240 INFO L74 IsIncluded]: Start isIncluded. First operand 145 states. Second operand 145 states. [2020-07-10 20:22:35,241 INFO L87 Difference]: Start difference. First operand 145 states. Second operand 145 states. [2020-07-10 20:22:35,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:35,248 INFO L93 Difference]: Finished difference Result 145 states and 161 transitions. [2020-07-10 20:22:35,248 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 161 transitions. [2020-07-10 20:22:35,249 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:35,249 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:35,249 INFO L74 IsIncluded]: Start isIncluded. First operand 145 states. Second operand 145 states. [2020-07-10 20:22:35,249 INFO L87 Difference]: Start difference. First operand 145 states. Second operand 145 states. [2020-07-10 20:22:35,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:35,256 INFO L93 Difference]: Finished difference Result 145 states and 161 transitions. [2020-07-10 20:22:35,256 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 161 transitions. [2020-07-10 20:22:35,257 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:35,257 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:35,257 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:35,257 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:35,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 145 states. [2020-07-10 20:22:35,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 145 states to 145 states and 161 transitions. [2020-07-10 20:22:35,264 INFO L78 Accepts]: Start accepts. Automaton has 145 states and 161 transitions. Word has length 65 [2020-07-10 20:22:35,264 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:35,264 INFO L479 AbstractCegarLoop]: Abstraction has 145 states and 161 transitions. [2020-07-10 20:22:35,264 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-10 20:22:35,264 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 145 states and 161 transitions. [2020-07-10 20:22:35,493 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-10 20:22:35,493 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 161 transitions. [2020-07-10 20:22:35,495 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2020-07-10 20:22:35,495 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:35,495 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-10 20:22:35,495 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-10 20:22:35,496 INFO L427 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:35,496 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:35,496 INFO L82 PathProgramCache]: Analyzing trace with hash -1492389340, now seen corresponding path program 1 times [2020-07-10 20:22:35,496 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:35,497 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1708856814] [2020-07-10 20:22:35,497 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:35,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:35,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:35,765 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-10 20:22:35,765 INFO L280 TraceCheckUtils]: 1: Hoare triple {6344#true} #valid := #valid[0 := 0]; {6344#true} is VALID [2020-07-10 20:22:35,766 INFO L280 TraceCheckUtils]: 2: Hoare triple {6344#true} assume 0 < #StackHeapBarrier; {6344#true} is VALID [2020-07-10 20:22:35,766 INFO L280 TraceCheckUtils]: 3: Hoare triple {6344#true} assume true; {6344#true} is VALID [2020-07-10 20:22:35,766 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {6344#true} {6344#true} #205#return; {6344#true} is VALID [2020-07-10 20:22:35,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:35,781 INFO L280 TraceCheckUtils]: 0: Hoare triple {6344#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {6344#true} is VALID [2020-07-10 20:22:35,781 INFO L280 TraceCheckUtils]: 1: Hoare triple {6344#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {6344#true} is VALID [2020-07-10 20:22:35,781 INFO L280 TraceCheckUtils]: 2: Hoare triple {6344#true} ~n := #in~n; {6344#true} is VALID [2020-07-10 20:22:35,782 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-10 20:22:35,782 INFO L280 TraceCheckUtils]: 4: Hoare triple {6344#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {6344#true} is VALID [2020-07-10 20:22:35,782 INFO L280 TraceCheckUtils]: 5: Hoare triple {6344#true} havoc #t~ret0.base, #t~ret0.offset; {6344#true} is VALID [2020-07-10 20:22:35,782 INFO L280 TraceCheckUtils]: 6: Hoare triple {6344#true} assume true; {6344#true} is VALID [2020-07-10 20:22:35,783 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {6344#true} {6345#false} #201#return; {6345#false} is VALID [2020-07-10 20:22:35,785 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-10 20:22:35,785 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-10 20:22:35,785 INFO L280 TraceCheckUtils]: 2: Hoare triple {6344#true} #valid := #valid[0 := 0]; {6344#true} is VALID [2020-07-10 20:22:35,786 INFO L280 TraceCheckUtils]: 3: Hoare triple {6344#true} assume 0 < #StackHeapBarrier; {6344#true} is VALID [2020-07-10 20:22:35,786 INFO L280 TraceCheckUtils]: 4: Hoare triple {6344#true} assume true; {6344#true} is VALID [2020-07-10 20:22:35,786 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {6344#true} {6344#true} #205#return; {6344#true} is VALID [2020-07-10 20:22:35,786 INFO L263 TraceCheckUtils]: 6: Hoare triple {6344#true} call #t~ret21 := main(); {6344#true} is VALID [2020-07-10 20:22:35,787 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-10 20:22:35,787 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-10 20:22:35,787 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-10 20:22:35,792 INFO L280 TraceCheckUtils]: 10: Hoare triple {6344#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {6344#true} is VALID [2020-07-10 20:22:35,797 INFO L280 TraceCheckUtils]: 11: Hoare triple {6344#true} ~start~0 := 0; {6351#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:35,798 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-10 20:22:35,798 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-10 20:22:35,799 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-10 20:22:35,800 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-10 20:22:35,801 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-10 20:22:35,802 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-10 20:22:35,802 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-10 20:22:35,803 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-10 20:22:35,804 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-10 20:22:35,805 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-10 20:22:35,805 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-10 20:22:35,806 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-10 20:22:35,807 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-10 20:22:35,808 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-10 20:22:35,808 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-10 20:22:35,809 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-10 20:22:35,810 INFO L280 TraceCheckUtils]: 28: 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-10 20:22:35,811 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-10 20:22:35,811 INFO L280 TraceCheckUtils]: 30: 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-10 20:22:35,812 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-10 20:22:35,813 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-10 20:22:35,813 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-10 20:22:35,814 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-10 20:22:35,815 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-10 20:22:35,816 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-10 20:22:35,817 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-10 20:22:35,818 INFO L280 TraceCheckUtils]: 38: 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-10 20:22:35,818 INFO L280 TraceCheckUtils]: 39: 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-10 20:22:35,819 INFO L280 TraceCheckUtils]: 40: 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-10 20:22:35,820 INFO L280 TraceCheckUtils]: 41: 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-10 20:22:35,820 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-10 20:22:35,821 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-10 20:22:35,822 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-10 20:22:35,822 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-10 20:22:35,823 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-10 20:22:35,824 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-10 20:22:35,824 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-10 20:22:35,825 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-10 20:22:35,826 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-10 20:22:35,827 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-10 20:22:35,827 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-10 20:22:35,828 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-10 20:22:35,828 INFO L280 TraceCheckUtils]: 54: Hoare triple {6344#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {6344#true} is VALID [2020-07-10 20:22:35,828 INFO L280 TraceCheckUtils]: 55: Hoare triple {6344#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {6344#true} is VALID [2020-07-10 20:22:35,828 INFO L280 TraceCheckUtils]: 56: Hoare triple {6344#true} ~n := #in~n; {6344#true} is VALID [2020-07-10 20:22:35,829 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-10 20:22:35,829 INFO L280 TraceCheckUtils]: 58: Hoare triple {6344#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {6344#true} is VALID [2020-07-10 20:22:35,829 INFO L280 TraceCheckUtils]: 59: Hoare triple {6344#true} havoc #t~ret0.base, #t~ret0.offset; {6344#true} is VALID [2020-07-10 20:22:35,829 INFO L280 TraceCheckUtils]: 60: Hoare triple {6344#true} assume true; {6344#true} is VALID [2020-07-10 20:22:35,829 INFO L275 TraceCheckUtils]: 61: Hoare quadruple {6344#true} {6345#false} #201#return; {6345#false} is VALID [2020-07-10 20:22:35,830 INFO L280 TraceCheckUtils]: 62: Hoare triple {6345#false} havoc #t~ret19.base, #t~ret19.offset; {6345#false} is VALID [2020-07-10 20:22:35,830 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-10 20:22:35,830 INFO L280 TraceCheckUtils]: 64: Hoare triple {6345#false} ~cond := #in~cond; {6345#false} is VALID [2020-07-10 20:22:35,830 INFO L280 TraceCheckUtils]: 65: Hoare triple {6345#false} assume 0 == ~cond; {6345#false} is VALID [2020-07-10 20:22:35,831 INFO L280 TraceCheckUtils]: 66: Hoare triple {6345#false} assume !false; {6345#false} is VALID [2020-07-10 20:22:35,839 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-10 20:22:35,839 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:35,839 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1708856814] [2020-07-10 20:22:35,840 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:35,840 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2020-07-10 20:22:35,840 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1600519596] [2020-07-10 20:22:35,841 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 67 [2020-07-10 20:22:35,841 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:35,841 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-10 20:22:35,914 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-10 20:22:35,914 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-10 20:22:35,914 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:35,915 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-10 20:22:35,915 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2020-07-10 20:22:35,915 INFO L87 Difference]: Start difference. First operand 145 states and 161 transitions. Second operand 10 states. [2020-07-10 20:22:38,203 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:38,204 INFO L93 Difference]: Finished difference Result 388 states and 434 transitions. [2020-07-10 20:22:38,204 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2020-07-10 20:22:38,204 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 67 [2020-07-10 20:22:38,205 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:38,206 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-10 20:22:38,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 403 transitions. [2020-07-10 20:22:38,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-10 20:22:38,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 403 transitions. [2020-07-10 20:22:38,231 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 403 transitions. [2020-07-10 20:22:38,654 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-10 20:22:38,664 INFO L225 Difference]: With dead ends: 388 [2020-07-10 20:22:38,664 INFO L226 Difference]: Without dead ends: 285 [2020-07-10 20:22:38,665 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-10 20:22:38,666 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 285 states. [2020-07-10 20:22:38,834 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 285 to 155. [2020-07-10 20:22:38,835 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:38,835 INFO L82 GeneralOperation]: Start isEquivalent. First operand 285 states. Second operand 155 states. [2020-07-10 20:22:38,835 INFO L74 IsIncluded]: Start isIncluded. First operand 285 states. Second operand 155 states. [2020-07-10 20:22:38,835 INFO L87 Difference]: Start difference. First operand 285 states. Second operand 155 states. [2020-07-10 20:22:38,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:38,845 INFO L93 Difference]: Finished difference Result 285 states and 321 transitions. [2020-07-10 20:22:38,845 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 321 transitions. [2020-07-10 20:22:38,846 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:38,846 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:38,846 INFO L74 IsIncluded]: Start isIncluded. First operand 155 states. Second operand 285 states. [2020-07-10 20:22:38,847 INFO L87 Difference]: Start difference. First operand 155 states. Second operand 285 states. [2020-07-10 20:22:38,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:38,855 INFO L93 Difference]: Finished difference Result 285 states and 321 transitions. [2020-07-10 20:22:38,855 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 321 transitions. [2020-07-10 20:22:38,856 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:38,857 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:38,857 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:38,857 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:38,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 155 states. [2020-07-10 20:22:38,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 155 states to 155 states and 173 transitions. [2020-07-10 20:22:38,861 INFO L78 Accepts]: Start accepts. Automaton has 155 states and 173 transitions. Word has length 67 [2020-07-10 20:22:38,861 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:38,862 INFO L479 AbstractCegarLoop]: Abstraction has 155 states and 173 transitions. [2020-07-10 20:22:38,862 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-10 20:22:38,862 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 155 states and 173 transitions. [2020-07-10 20:22:39,040 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-10 20:22:39,041 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 173 transitions. [2020-07-10 20:22:39,041 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 71 [2020-07-10 20:22:39,041 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:39,042 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-10 20:22:39,042 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-10 20:22:39,042 INFO L427 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:39,042 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:39,042 INFO L82 PathProgramCache]: Analyzing trace with hash 122758570, now seen corresponding path program 1 times [2020-07-10 20:22:39,042 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:39,043 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1060894939] [2020-07-10 20:22:39,043 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:39,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:39,207 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:39,223 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-10 20:22:39,224 INFO L280 TraceCheckUtils]: 1: Hoare triple {8045#true} #valid := #valid[0 := 0]; {8045#true} is VALID [2020-07-10 20:22:39,224 INFO L280 TraceCheckUtils]: 2: Hoare triple {8045#true} assume 0 < #StackHeapBarrier; {8045#true} is VALID [2020-07-10 20:22:39,224 INFO L280 TraceCheckUtils]: 3: Hoare triple {8045#true} assume true; {8045#true} is VALID [2020-07-10 20:22:39,224 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {8045#true} {8045#true} #205#return; {8045#true} is VALID [2020-07-10 20:22:39,225 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:39,233 INFO L280 TraceCheckUtils]: 0: Hoare triple {8045#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {8045#true} is VALID [2020-07-10 20:22:39,234 INFO L280 TraceCheckUtils]: 1: Hoare triple {8045#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {8045#true} is VALID [2020-07-10 20:22:39,234 INFO L280 TraceCheckUtils]: 2: Hoare triple {8045#true} ~n := #in~n; {8045#true} is VALID [2020-07-10 20:22:39,234 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-10 20:22:39,234 INFO L280 TraceCheckUtils]: 4: Hoare triple {8045#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {8045#true} is VALID [2020-07-10 20:22:39,235 INFO L280 TraceCheckUtils]: 5: Hoare triple {8045#true} havoc #t~ret0.base, #t~ret0.offset; {8045#true} is VALID [2020-07-10 20:22:39,235 INFO L280 TraceCheckUtils]: 6: Hoare triple {8045#true} assume true; {8045#true} is VALID [2020-07-10 20:22:39,235 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {8045#true} {8046#false} #201#return; {8046#false} is VALID [2020-07-10 20:22:39,236 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-10 20:22:39,236 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-10 20:22:39,236 INFO L280 TraceCheckUtils]: 2: Hoare triple {8045#true} #valid := #valid[0 := 0]; {8045#true} is VALID [2020-07-10 20:22:39,237 INFO L280 TraceCheckUtils]: 3: Hoare triple {8045#true} assume 0 < #StackHeapBarrier; {8045#true} is VALID [2020-07-10 20:22:39,237 INFO L280 TraceCheckUtils]: 4: Hoare triple {8045#true} assume true; {8045#true} is VALID [2020-07-10 20:22:39,237 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {8045#true} {8045#true} #205#return; {8045#true} is VALID [2020-07-10 20:22:39,237 INFO L263 TraceCheckUtils]: 6: Hoare triple {8045#true} call #t~ret21 := main(); {8045#true} is VALID [2020-07-10 20:22:39,238 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-10 20:22:39,238 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-10 20:22:39,238 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-10 20:22:39,238 INFO L280 TraceCheckUtils]: 10: Hoare triple {8045#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {8045#true} is VALID [2020-07-10 20:22:39,238 INFO L280 TraceCheckUtils]: 11: Hoare triple {8045#true} ~start~0 := 0; {8052#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:39,239 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-10 20:22:39,240 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-10 20:22:39,240 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-10 20:22:39,241 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-10 20:22:39,241 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-10 20:22:39,242 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-10 20:22:39,243 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-10 20:22:39,243 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-10 20:22:39,250 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-10 20:22:39,251 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-10 20:22:39,251 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-10 20:22:39,252 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-10 20:22:39,253 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-10 20:22:39,253 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-10 20:22:39,254 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-10 20:22:39,254 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-10 20:22:39,254 INFO L280 TraceCheckUtils]: 28: 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-10 20:22:39,255 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-10 20:22:39,255 INFO L280 TraceCheckUtils]: 30: 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-10 20:22:39,256 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-10 20:22:39,261 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-10 20:22:39,262 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-10 20:22:39,263 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-10 20:22:39,264 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-10 20:22:39,264 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-10 20:22:39,265 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-10 20:22:39,265 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-10 20:22:39,266 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-10 20:22:39,266 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-10 20:22:39,267 INFO L280 TraceCheckUtils]: 41: 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-10 20:22:39,267 INFO L280 TraceCheckUtils]: 42: 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-10 20:22:39,268 INFO L280 TraceCheckUtils]: 43: 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-10 20:22:39,268 INFO L280 TraceCheckUtils]: 44: 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-10 20:22:39,269 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-10 20:22:39,269 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-10 20:22:39,270 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-10 20:22:39,270 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-10 20:22:39,271 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-10 20:22:39,271 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-10 20:22:39,272 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-10 20:22:39,273 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-10 20:22:39,274 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-10 20:22:39,274 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-10 20:22:39,276 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-10 20:22:39,277 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-10 20:22:39,277 INFO L280 TraceCheckUtils]: 57: Hoare triple {8045#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {8045#true} is VALID [2020-07-10 20:22:39,277 INFO L280 TraceCheckUtils]: 58: Hoare triple {8045#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {8045#true} is VALID [2020-07-10 20:22:39,277 INFO L280 TraceCheckUtils]: 59: Hoare triple {8045#true} ~n := #in~n; {8045#true} is VALID [2020-07-10 20:22:39,277 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-10 20:22:39,278 INFO L280 TraceCheckUtils]: 61: Hoare triple {8045#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {8045#true} is VALID [2020-07-10 20:22:39,278 INFO L280 TraceCheckUtils]: 62: Hoare triple {8045#true} havoc #t~ret0.base, #t~ret0.offset; {8045#true} is VALID [2020-07-10 20:22:39,278 INFO L280 TraceCheckUtils]: 63: Hoare triple {8045#true} assume true; {8045#true} is VALID [2020-07-10 20:22:39,278 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {8045#true} {8046#false} #201#return; {8046#false} is VALID [2020-07-10 20:22:39,278 INFO L280 TraceCheckUtils]: 65: Hoare triple {8046#false} havoc #t~ret19.base, #t~ret19.offset; {8046#false} is VALID [2020-07-10 20:22:39,279 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-10 20:22:39,279 INFO L280 TraceCheckUtils]: 67: Hoare triple {8046#false} ~cond := #in~cond; {8046#false} is VALID [2020-07-10 20:22:39,279 INFO L280 TraceCheckUtils]: 68: Hoare triple {8046#false} assume 0 == ~cond; {8046#false} is VALID [2020-07-10 20:22:39,279 INFO L280 TraceCheckUtils]: 69: Hoare triple {8046#false} assume !false; {8046#false} is VALID [2020-07-10 20:22:39,286 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-10 20:22:39,286 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:39,287 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1060894939] [2020-07-10 20:22:39,287 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:39,287 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2020-07-10 20:22:39,287 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2020105509] [2020-07-10 20:22:39,288 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 70 [2020-07-10 20:22:39,288 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:39,288 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-10 20:22:39,363 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-10 20:22:39,363 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-10 20:22:39,363 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:39,364 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-10 20:22:39,364 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=105, Unknown=0, NotChecked=0, Total=132 [2020-07-10 20:22:39,364 INFO L87 Difference]: Start difference. First operand 155 states and 173 transitions. Second operand 12 states. [2020-07-10 20:22:41,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:41,838 INFO L93 Difference]: Finished difference Result 425 states and 477 transitions. [2020-07-10 20:22:41,838 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-10 20:22:41,838 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 70 [2020-07-10 20:22:41,838 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:41,838 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-10 20:22:41,847 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 457 transitions. [2020-07-10 20:22:41,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-10 20:22:41,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 457 transitions. [2020-07-10 20:22:41,853 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 457 transitions. [2020-07-10 20:22:42,307 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-10 20:22:42,318 INFO L225 Difference]: With dead ends: 425 [2020-07-10 20:22:42,319 INFO L226 Difference]: Without dead ends: 322 [2020-07-10 20:22:42,320 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-10 20:22:42,321 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 322 states. [2020-07-10 20:22:42,495 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 322 to 136. [2020-07-10 20:22:42,495 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:42,495 INFO L82 GeneralOperation]: Start isEquivalent. First operand 322 states. Second operand 136 states. [2020-07-10 20:22:42,495 INFO L74 IsIncluded]: Start isIncluded. First operand 322 states. Second operand 136 states. [2020-07-10 20:22:42,495 INFO L87 Difference]: Start difference. First operand 322 states. Second operand 136 states. [2020-07-10 20:22:42,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:42,505 INFO L93 Difference]: Finished difference Result 322 states and 364 transitions. [2020-07-10 20:22:42,505 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 364 transitions. [2020-07-10 20:22:42,506 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:42,507 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:42,507 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand 322 states. [2020-07-10 20:22:42,507 INFO L87 Difference]: Start difference. First operand 136 states. Second operand 322 states. [2020-07-10 20:22:42,517 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:42,517 INFO L93 Difference]: Finished difference Result 322 states and 364 transitions. [2020-07-10 20:22:42,518 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 364 transitions. [2020-07-10 20:22:42,519 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:42,519 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:42,519 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:42,519 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:42,519 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 136 states. [2020-07-10 20:22:42,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 151 transitions. [2020-07-10 20:22:42,523 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 151 transitions. Word has length 70 [2020-07-10 20:22:42,524 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:42,524 INFO L479 AbstractCegarLoop]: Abstraction has 136 states and 151 transitions. [2020-07-10 20:22:42,524 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-10 20:22:42,524 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 136 states and 151 transitions. [2020-07-10 20:22:42,724 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-10 20:22:42,724 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 151 transitions. [2020-07-10 20:22:42,725 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2020-07-10 20:22:42,725 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:42,726 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-10 20:22:42,726 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-10 20:22:42,726 INFO L427 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:42,728 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:42,729 INFO L82 PathProgramCache]: Analyzing trace with hash -272178825, now seen corresponding path program 1 times [2020-07-10 20:22:42,729 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:42,729 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [264350835] [2020-07-10 20:22:42,729 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:42,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:42,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:42,819 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-10 20:22:42,819 INFO L280 TraceCheckUtils]: 1: Hoare triple {9858#true} #valid := #valid[0 := 0]; {9858#true} is VALID [2020-07-10 20:22:42,820 INFO L280 TraceCheckUtils]: 2: Hoare triple {9858#true} assume 0 < #StackHeapBarrier; {9858#true} is VALID [2020-07-10 20:22:42,820 INFO L280 TraceCheckUtils]: 3: Hoare triple {9858#true} assume true; {9858#true} is VALID [2020-07-10 20:22:42,820 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {9858#true} {9858#true} #205#return; {9858#true} is VALID [2020-07-10 20:22:42,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:42,828 INFO L280 TraceCheckUtils]: 0: Hoare triple {9858#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {9858#true} is VALID [2020-07-10 20:22:42,828 INFO L280 TraceCheckUtils]: 1: Hoare triple {9858#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {9858#true} is VALID [2020-07-10 20:22:42,828 INFO L280 TraceCheckUtils]: 2: Hoare triple {9858#true} ~n := #in~n; {9858#true} is VALID [2020-07-10 20:22:42,828 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-10 20:22:42,829 INFO L280 TraceCheckUtils]: 4: Hoare triple {9858#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {9858#true} is VALID [2020-07-10 20:22:42,829 INFO L280 TraceCheckUtils]: 5: Hoare triple {9858#true} havoc #t~ret0.base, #t~ret0.offset; {9858#true} is VALID [2020-07-10 20:22:42,829 INFO L280 TraceCheckUtils]: 6: Hoare triple {9858#true} assume true; {9858#true} is VALID [2020-07-10 20:22:42,830 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {9858#true} {9859#false} #201#return; {9859#false} is VALID [2020-07-10 20:22:42,832 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-10 20:22:42,832 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-10 20:22:42,833 INFO L280 TraceCheckUtils]: 2: Hoare triple {9858#true} #valid := #valid[0 := 0]; {9858#true} is VALID [2020-07-10 20:22:42,833 INFO L280 TraceCheckUtils]: 3: Hoare triple {9858#true} assume 0 < #StackHeapBarrier; {9858#true} is VALID [2020-07-10 20:22:42,833 INFO L280 TraceCheckUtils]: 4: Hoare triple {9858#true} assume true; {9858#true} is VALID [2020-07-10 20:22:42,834 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {9858#true} {9858#true} #205#return; {9858#true} is VALID [2020-07-10 20:22:42,834 INFO L263 TraceCheckUtils]: 6: Hoare triple {9858#true} call #t~ret21 := main(); {9858#true} is VALID [2020-07-10 20:22:42,834 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-10 20:22:42,834 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-10 20:22:42,835 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-10 20:22:42,835 INFO L280 TraceCheckUtils]: 10: Hoare triple {9858#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {9858#true} is VALID [2020-07-10 20:22:42,835 INFO L280 TraceCheckUtils]: 11: Hoare triple {9858#true} ~start~0 := 0; {9858#true} is VALID [2020-07-10 20:22:42,836 INFO L280 TraceCheckUtils]: 12: Hoare triple {9858#true} ~i~0 := -1; {9858#true} is VALID [2020-07-10 20:22:42,836 INFO L280 TraceCheckUtils]: 13: Hoare triple {9858#true} ~j~0 := -1; {9858#true} is VALID [2020-07-10 20:22:42,836 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-10 20:22:42,837 INFO L280 TraceCheckUtils]: 15: Hoare triple {9858#true} assume !(~str.base == 0 && ~str.offset == 0); {9858#true} is VALID [2020-07-10 20:22:42,837 INFO L280 TraceCheckUtils]: 16: Hoare triple {9858#true} #t~post2 := ~i~0; {9858#true} is VALID [2020-07-10 20:22:42,837 INFO L280 TraceCheckUtils]: 17: Hoare triple {9858#true} ~i~0 := 1 + #t~post2; {9858#true} is VALID [2020-07-10 20:22:42,837 INFO L280 TraceCheckUtils]: 18: Hoare triple {9858#true} havoc #t~post2; {9858#true} is VALID [2020-07-10 20:22:42,838 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-10 20:22:42,838 INFO L280 TraceCheckUtils]: 20: Hoare triple {9858#true} #t~switch4 := 0 == #t~mem3; {9858#true} is VALID [2020-07-10 20:22:42,838 INFO L280 TraceCheckUtils]: 21: Hoare triple {9858#true} assume #t~switch4; {9858#true} is VALID [2020-07-10 20:22:42,839 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-10 20:22:42,839 INFO L280 TraceCheckUtils]: 23: Hoare triple {9858#true} #t~short7 := 32 == #t~mem5; {9858#true} is VALID [2020-07-10 20:22:42,839 INFO L280 TraceCheckUtils]: 24: Hoare triple {9858#true} assume !#t~short7; {9858#true} is VALID [2020-07-10 20:22:42,839 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-10 20:22:42,839 INFO L280 TraceCheckUtils]: 26: Hoare triple {9858#true} #t~short7 := 9 == #t~mem6; {9858#true} is VALID [2020-07-10 20:22:42,840 INFO L280 TraceCheckUtils]: 27: Hoare triple {9858#true} assume !#t~short7; {9858#true} is VALID [2020-07-10 20:22:42,840 INFO L280 TraceCheckUtils]: 28: Hoare triple {9858#true} havoc #t~mem6; {9858#true} is VALID [2020-07-10 20:22:42,840 INFO L280 TraceCheckUtils]: 29: Hoare triple {9858#true} havoc #t~short7; {9858#true} is VALID [2020-07-10 20:22:42,840 INFO L280 TraceCheckUtils]: 30: Hoare triple {9858#true} havoc #t~mem5; {9858#true} is VALID [2020-07-10 20:22:42,840 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-10 20:22:42,841 INFO L280 TraceCheckUtils]: 32: Hoare triple {9858#true} assume !(34 == #t~mem9); {9858#true} is VALID [2020-07-10 20:22:42,841 INFO L280 TraceCheckUtils]: 33: Hoare triple {9858#true} havoc #t~mem9; {9858#true} is VALID [2020-07-10 20:22:42,841 INFO L280 TraceCheckUtils]: 34: Hoare triple {9858#true} ~j~0 := ~i~0 - 1; {9858#true} is VALID [2020-07-10 20:22:42,841 INFO L280 TraceCheckUtils]: 35: Hoare triple {9858#true} #t~short14 := 0 < ~j~0; {9858#true} is VALID [2020-07-10 20:22:42,843 INFO L280 TraceCheckUtils]: 36: Hoare triple {9858#true} assume !#t~short14; {9865#(not |parse_expression_list_#t~short14|)} is VALID [2020-07-10 20:22:42,843 INFO L280 TraceCheckUtils]: 37: Hoare triple {9865#(not |parse_expression_list_#t~short14|)} assume !!#t~short14; {9859#false} is VALID [2020-07-10 20:22:42,843 INFO L280 TraceCheckUtils]: 38: Hoare triple {9859#false} havoc #t~mem11; {9859#false} is VALID [2020-07-10 20:22:42,844 INFO L280 TraceCheckUtils]: 39: Hoare triple {9859#false} havoc #t~short14; {9859#false} is VALID [2020-07-10 20:22:42,844 INFO L280 TraceCheckUtils]: 40: Hoare triple {9859#false} havoc #t~short13; {9859#false} is VALID [2020-07-10 20:22:42,844 INFO L280 TraceCheckUtils]: 41: Hoare triple {9859#false} havoc #t~mem12; {9859#false} is VALID [2020-07-10 20:22:42,844 INFO L280 TraceCheckUtils]: 42: Hoare triple {9859#false} #t~post15 := ~j~0; {9859#false} is VALID [2020-07-10 20:22:42,845 INFO L280 TraceCheckUtils]: 43: Hoare triple {9859#false} ~j~0 := #t~post15 - 1; {9859#false} is VALID [2020-07-10 20:22:42,845 INFO L280 TraceCheckUtils]: 44: Hoare triple {9859#false} havoc #t~post15; {9859#false} is VALID [2020-07-10 20:22:42,845 INFO L280 TraceCheckUtils]: 45: Hoare triple {9859#false} #t~short14 := 0 < ~j~0; {9859#false} is VALID [2020-07-10 20:22:42,846 INFO L280 TraceCheckUtils]: 46: Hoare triple {9859#false} assume !#t~short14; {9859#false} is VALID [2020-07-10 20:22:42,846 INFO L280 TraceCheckUtils]: 47: Hoare triple {9859#false} assume !#t~short14; {9859#false} is VALID [2020-07-10 20:22:42,846 INFO L280 TraceCheckUtils]: 48: Hoare triple {9859#false} havoc #t~mem11; {9859#false} is VALID [2020-07-10 20:22:42,846 INFO L280 TraceCheckUtils]: 49: Hoare triple {9859#false} havoc #t~short14; {9859#false} is VALID [2020-07-10 20:22:42,847 INFO L280 TraceCheckUtils]: 50: Hoare triple {9859#false} havoc #t~short13; {9859#false} is VALID [2020-07-10 20:22:42,847 INFO L280 TraceCheckUtils]: 51: Hoare triple {9859#false} havoc #t~mem12; {9859#false} is VALID [2020-07-10 20:22:42,847 INFO L280 TraceCheckUtils]: 52: Hoare triple {9859#false} #t~short17 := 0 < ~j~0; {9859#false} is VALID [2020-07-10 20:22:42,847 INFO L280 TraceCheckUtils]: 53: Hoare triple {9859#false} assume !#t~short17; {9859#false} is VALID [2020-07-10 20:22:42,848 INFO L280 TraceCheckUtils]: 54: Hoare triple {9859#false} assume !#t~short17; {9859#false} is VALID [2020-07-10 20:22:42,848 INFO L280 TraceCheckUtils]: 55: Hoare triple {9859#false} havoc #t~short17; {9859#false} is VALID [2020-07-10 20:22:42,848 INFO L280 TraceCheckUtils]: 56: Hoare triple {9859#false} havoc #t~mem16; {9859#false} is VALID [2020-07-10 20:22:42,848 INFO L280 TraceCheckUtils]: 57: Hoare triple {9859#false} assume ~start~0 <= ~j~0; {9859#false} is VALID [2020-07-10 20:22:42,849 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-10 20:22:42,849 INFO L280 TraceCheckUtils]: 59: Hoare triple {9858#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {9858#true} is VALID [2020-07-10 20:22:42,849 INFO L280 TraceCheckUtils]: 60: Hoare triple {9858#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {9858#true} is VALID [2020-07-10 20:22:42,849 INFO L280 TraceCheckUtils]: 61: Hoare triple {9858#true} ~n := #in~n; {9858#true} is VALID [2020-07-10 20:22:42,850 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-10 20:22:42,850 INFO L280 TraceCheckUtils]: 63: Hoare triple {9858#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {9858#true} is VALID [2020-07-10 20:22:42,850 INFO L280 TraceCheckUtils]: 64: Hoare triple {9858#true} havoc #t~ret0.base, #t~ret0.offset; {9858#true} is VALID [2020-07-10 20:22:42,851 INFO L280 TraceCheckUtils]: 65: Hoare triple {9858#true} assume true; {9858#true} is VALID [2020-07-10 20:22:42,851 INFO L275 TraceCheckUtils]: 66: Hoare quadruple {9858#true} {9859#false} #201#return; {9859#false} is VALID [2020-07-10 20:22:42,851 INFO L280 TraceCheckUtils]: 67: Hoare triple {9859#false} havoc #t~ret19.base, #t~ret19.offset; {9859#false} is VALID [2020-07-10 20:22:42,851 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-10 20:22:42,852 INFO L280 TraceCheckUtils]: 69: Hoare triple {9859#false} ~cond := #in~cond; {9859#false} is VALID [2020-07-10 20:22:42,852 INFO L280 TraceCheckUtils]: 70: Hoare triple {9859#false} assume 0 == ~cond; {9859#false} is VALID [2020-07-10 20:22:42,852 INFO L280 TraceCheckUtils]: 71: Hoare triple {9859#false} assume !false; {9859#false} is VALID [2020-07-10 20:22:42,857 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-10 20:22:42,858 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:42,859 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [264350835] [2020-07-10 20:22:42,859 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:42,859 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-10 20:22:42,859 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [936327321] [2020-07-10 20:22:42,860 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 72 [2020-07-10 20:22:42,860 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:42,861 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-10 20:22:42,936 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-10 20:22:42,936 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-10 20:22:42,937 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:42,937 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-10 20:22:42,937 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 20:22:42,937 INFO L87 Difference]: Start difference. First operand 136 states and 151 transitions. Second operand 4 states. [2020-07-10 20:22:43,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:43,456 INFO L93 Difference]: Finished difference Result 226 states and 251 transitions. [2020-07-10 20:22:43,456 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-10 20:22:43,456 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 72 [2020-07-10 20:22:43,457 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:43,457 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 20:22:43,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 208 transitions. [2020-07-10 20:22:43,459 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 20:22:43,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 208 transitions. [2020-07-10 20:22:43,460 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 208 transitions. [2020-07-10 20:22:43,684 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-10 20:22:43,687 INFO L225 Difference]: With dead ends: 226 [2020-07-10 20:22:43,688 INFO L226 Difference]: Without dead ends: 137 [2020-07-10 20:22:43,689 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-10 20:22:43,689 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2020-07-10 20:22:43,841 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 137. [2020-07-10 20:22:43,841 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:43,841 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand 137 states. [2020-07-10 20:22:43,842 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 137 states. [2020-07-10 20:22:43,842 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 137 states. [2020-07-10 20:22:43,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:43,846 INFO L93 Difference]: Finished difference Result 137 states and 151 transitions. [2020-07-10 20:22:43,847 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 151 transitions. [2020-07-10 20:22:43,847 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:43,847 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:43,847 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 137 states. [2020-07-10 20:22:43,847 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 137 states. [2020-07-10 20:22:43,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:43,850 INFO L93 Difference]: Finished difference Result 137 states and 151 transitions. [2020-07-10 20:22:43,850 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 151 transitions. [2020-07-10 20:22:43,851 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:43,851 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:43,851 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:43,851 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:43,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2020-07-10 20:22:43,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 151 transitions. [2020-07-10 20:22:43,854 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 151 transitions. Word has length 72 [2020-07-10 20:22:43,854 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:43,854 INFO L479 AbstractCegarLoop]: Abstraction has 137 states and 151 transitions. [2020-07-10 20:22:43,854 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-10 20:22:43,855 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 137 states and 151 transitions. [2020-07-10 20:22:44,035 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-10 20:22:44,035 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 151 transitions. [2020-07-10 20:22:44,036 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2020-07-10 20:22:44,036 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:44,037 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-10 20:22:44,037 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-10 20:22:44,037 INFO L427 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:44,037 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:44,037 INFO L82 PathProgramCache]: Analyzing trace with hash 588909148, now seen corresponding path program 1 times [2020-07-10 20:22:44,038 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:44,038 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [715300436] [2020-07-10 20:22:44,038 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:44,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:44,238 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:44,245 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-10 20:22:44,246 INFO L280 TraceCheckUtils]: 1: Hoare triple {10877#true} #valid := #valid[0 := 0]; {10877#true} is VALID [2020-07-10 20:22:44,246 INFO L280 TraceCheckUtils]: 2: Hoare triple {10877#true} assume 0 < #StackHeapBarrier; {10877#true} is VALID [2020-07-10 20:22:44,247 INFO L280 TraceCheckUtils]: 3: Hoare triple {10877#true} assume true; {10877#true} is VALID [2020-07-10 20:22:44,247 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {10877#true} {10877#true} #205#return; {10877#true} is VALID [2020-07-10 20:22:44,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:44,261 INFO L280 TraceCheckUtils]: 0: Hoare triple {10877#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {10877#true} is VALID [2020-07-10 20:22:44,262 INFO L280 TraceCheckUtils]: 1: Hoare triple {10877#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {10877#true} is VALID [2020-07-10 20:22:44,262 INFO L280 TraceCheckUtils]: 2: Hoare triple {10877#true} ~n := #in~n; {10877#true} is VALID [2020-07-10 20:22:44,262 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-10 20:22:44,262 INFO L280 TraceCheckUtils]: 4: Hoare triple {10877#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {10877#true} is VALID [2020-07-10 20:22:44,263 INFO L280 TraceCheckUtils]: 5: Hoare triple {10877#true} havoc #t~ret0.base, #t~ret0.offset; {10877#true} is VALID [2020-07-10 20:22:44,263 INFO L280 TraceCheckUtils]: 6: Hoare triple {10877#true} assume true; {10877#true} is VALID [2020-07-10 20:22:44,265 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-10 20:22:44,266 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-10 20:22:44,267 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-10 20:22:44,267 INFO L280 TraceCheckUtils]: 2: Hoare triple {10877#true} #valid := #valid[0 := 0]; {10877#true} is VALID [2020-07-10 20:22:44,267 INFO L280 TraceCheckUtils]: 3: Hoare triple {10877#true} assume 0 < #StackHeapBarrier; {10877#true} is VALID [2020-07-10 20:22:44,268 INFO L280 TraceCheckUtils]: 4: Hoare triple {10877#true} assume true; {10877#true} is VALID [2020-07-10 20:22:44,268 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {10877#true} {10877#true} #205#return; {10877#true} is VALID [2020-07-10 20:22:44,269 INFO L263 TraceCheckUtils]: 6: Hoare triple {10877#true} call #t~ret21 := main(); {10877#true} is VALID [2020-07-10 20:22:44,269 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-10 20:22:44,269 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-10 20:22:44,270 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-10 20:22:44,270 INFO L280 TraceCheckUtils]: 10: Hoare triple {10877#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {10877#true} is VALID [2020-07-10 20:22:44,271 INFO L280 TraceCheckUtils]: 11: Hoare triple {10877#true} ~start~0 := 0; {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:44,272 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-10 20:22:44,273 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-10 20:22:44,274 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-10 20:22:44,275 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-10 20:22:44,276 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-10 20:22:44,277 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-10 20:22:44,278 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-10 20:22:44,279 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-10 20:22:44,280 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-10 20:22:44,281 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-10 20:22:44,282 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-10 20:22:44,283 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-10 20:22:44,284 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-10 20:22:44,285 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-10 20:22:44,286 INFO L280 TraceCheckUtils]: 26: Hoare triple {10884#(= 0 parse_expression_list_~start~0)} havoc #t~mem6; {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:44,287 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-10 20:22:44,288 INFO L280 TraceCheckUtils]: 28: Hoare triple {10884#(= 0 parse_expression_list_~start~0)} havoc #t~mem5; {10884#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:44,289 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-10 20:22:44,290 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-10 20:22:44,291 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-10 20:22:44,292 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-10 20:22:44,292 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-10 20:22:44,293 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-10 20:22:44,294 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-10 20:22:44,295 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-10 20:22:44,296 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-10 20:22:44,297 INFO L280 TraceCheckUtils]: 38: Hoare triple {10886#(<= 1 parse_expression_list_~start~0)} havoc #t~mem6; {10886#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:44,298 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-10 20:22:44,299 INFO L280 TraceCheckUtils]: 40: Hoare triple {10886#(<= 1 parse_expression_list_~start~0)} havoc #t~mem5; {10886#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:44,299 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-10 20:22:44,300 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-10 20:22:44,300 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-10 20:22:44,301 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-10 20:22:44,302 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-10 20:22:44,303 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-10 20:22:44,304 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-10 20:22:44,305 INFO L280 TraceCheckUtils]: 48: 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-10 20:22:44,306 INFO L280 TraceCheckUtils]: 49: 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-10 20:22:44,306 INFO L280 TraceCheckUtils]: 50: 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-10 20:22:44,307 INFO L280 TraceCheckUtils]: 51: 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-10 20:22:44,308 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-10 20:22:44,309 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-10 20:22:44,310 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-10 20:22:44,311 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-10 20:22:44,311 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-10 20:22:44,312 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-10 20:22:44,313 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-10 20:22:44,313 INFO L280 TraceCheckUtils]: 59: Hoare triple {10877#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {10877#true} is VALID [2020-07-10 20:22:44,313 INFO L280 TraceCheckUtils]: 60: Hoare triple {10877#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {10877#true} is VALID [2020-07-10 20:22:44,314 INFO L280 TraceCheckUtils]: 61: Hoare triple {10877#true} ~n := #in~n; {10877#true} is VALID [2020-07-10 20:22:44,314 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-10 20:22:44,315 INFO L280 TraceCheckUtils]: 63: Hoare triple {10877#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {10877#true} is VALID [2020-07-10 20:22:44,315 INFO L280 TraceCheckUtils]: 64: Hoare triple {10877#true} havoc #t~ret0.base, #t~ret0.offset; {10877#true} is VALID [2020-07-10 20:22:44,315 INFO L280 TraceCheckUtils]: 65: Hoare triple {10877#true} assume true; {10877#true} is VALID [2020-07-10 20:22:44,318 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-10 20:22:44,319 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-10 20:22:44,320 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-10 20:22:44,322 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-10 20:22:44,323 INFO L280 TraceCheckUtils]: 70: Hoare triple {10898#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {10878#false} is VALID [2020-07-10 20:22:44,323 INFO L280 TraceCheckUtils]: 71: Hoare triple {10878#false} assume !false; {10878#false} is VALID [2020-07-10 20:22:44,340 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-10 20:22:44,341 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:44,341 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [715300436] [2020-07-10 20:22:44,342 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:44,342 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2020-07-10 20:22:44,346 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1694249648] [2020-07-10 20:22:44,346 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 72 [2020-07-10 20:22:44,347 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:44,347 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-10 20:22:44,449 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-10 20:22:44,450 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-10 20:22:44,450 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:44,450 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-10 20:22:44,451 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=72, Unknown=0, NotChecked=0, Total=90 [2020-07-10 20:22:44,451 INFO L87 Difference]: Start difference. First operand 137 states and 151 transitions. Second operand 10 states. [2020-07-10 20:22:46,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:46,801 INFO L93 Difference]: Finished difference Result 389 states and 436 transitions. [2020-07-10 20:22:46,801 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2020-07-10 20:22:46,801 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 72 [2020-07-10 20:22:46,802 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:46,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-10 20:22:46,805 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 376 transitions. [2020-07-10 20:22:46,805 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-10 20:22:46,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 376 transitions. [2020-07-10 20:22:46,808 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 376 transitions. [2020-07-10 20:22:47,237 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-10 20:22:47,252 INFO L225 Difference]: With dead ends: 389 [2020-07-10 20:22:47,252 INFO L226 Difference]: Without dead ends: 296 [2020-07-10 20:22:47,254 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-10 20:22:47,255 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 296 states. [2020-07-10 20:22:47,597 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 296 to 200. [2020-07-10 20:22:47,598 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:47,598 INFO L82 GeneralOperation]: Start isEquivalent. First operand 296 states. Second operand 200 states. [2020-07-10 20:22:47,598 INFO L74 IsIncluded]: Start isIncluded. First operand 296 states. Second operand 200 states. [2020-07-10 20:22:47,598 INFO L87 Difference]: Start difference. First operand 296 states. Second operand 200 states. [2020-07-10 20:22:47,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:47,609 INFO L93 Difference]: Finished difference Result 296 states and 332 transitions. [2020-07-10 20:22:47,610 INFO L276 IsEmpty]: Start isEmpty. Operand 296 states and 332 transitions. [2020-07-10 20:22:47,611 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:47,611 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:47,612 INFO L74 IsIncluded]: Start isIncluded. First operand 200 states. Second operand 296 states. [2020-07-10 20:22:47,612 INFO L87 Difference]: Start difference. First operand 200 states. Second operand 296 states. [2020-07-10 20:22:47,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:47,627 INFO L93 Difference]: Finished difference Result 296 states and 332 transitions. [2020-07-10 20:22:47,627 INFO L276 IsEmpty]: Start isEmpty. Operand 296 states and 332 transitions. [2020-07-10 20:22:47,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:47,628 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:47,628 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:47,629 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:47,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 200 states. [2020-07-10 20:22:47,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 200 states to 200 states and 223 transitions. [2020-07-10 20:22:47,635 INFO L78 Accepts]: Start accepts. Automaton has 200 states and 223 transitions. Word has length 72 [2020-07-10 20:22:47,635 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:47,635 INFO L479 AbstractCegarLoop]: Abstraction has 200 states and 223 transitions. [2020-07-10 20:22:47,635 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-10 20:22:47,635 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 200 states and 223 transitions. [2020-07-10 20:22:47,910 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-10 20:22:47,911 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 223 transitions. [2020-07-10 20:22:47,912 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2020-07-10 20:22:47,912 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:47,912 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-10 20:22:47,912 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-10 20:22:47,913 INFO L427 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:47,913 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:47,913 INFO L82 PathProgramCache]: Analyzing trace with hash 69190993, now seen corresponding path program 1 times [2020-07-10 20:22:47,913 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:47,913 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1473513232] [2020-07-10 20:22:47,914 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:47,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:48,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:48,088 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-10 20:22:48,088 INFO L280 TraceCheckUtils]: 1: Hoare triple {12690#true} #valid := #valid[0 := 0]; {12690#true} is VALID [2020-07-10 20:22:48,089 INFO L280 TraceCheckUtils]: 2: Hoare triple {12690#true} assume 0 < #StackHeapBarrier; {12690#true} is VALID [2020-07-10 20:22:48,089 INFO L280 TraceCheckUtils]: 3: Hoare triple {12690#true} assume true; {12690#true} is VALID [2020-07-10 20:22:48,089 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {12690#true} {12690#true} #205#return; {12690#true} is VALID [2020-07-10 20:22:48,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:48,101 INFO L280 TraceCheckUtils]: 0: Hoare triple {12690#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {12690#true} is VALID [2020-07-10 20:22:48,102 INFO L280 TraceCheckUtils]: 1: Hoare triple {12690#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {12690#true} is VALID [2020-07-10 20:22:48,102 INFO L280 TraceCheckUtils]: 2: Hoare triple {12690#true} ~n := #in~n; {12690#true} is VALID [2020-07-10 20:22:48,102 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-10 20:22:48,102 INFO L280 TraceCheckUtils]: 4: Hoare triple {12690#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {12690#true} is VALID [2020-07-10 20:22:48,102 INFO L280 TraceCheckUtils]: 5: Hoare triple {12690#true} havoc #t~ret0.base, #t~ret0.offset; {12690#true} is VALID [2020-07-10 20:22:48,103 INFO L280 TraceCheckUtils]: 6: Hoare triple {12690#true} assume true; {12690#true} is VALID [2020-07-10 20:22:48,104 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-10 20:22:48,105 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-10 20:22:48,106 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-10 20:22:48,106 INFO L280 TraceCheckUtils]: 2: Hoare triple {12690#true} #valid := #valid[0 := 0]; {12690#true} is VALID [2020-07-10 20:22:48,106 INFO L280 TraceCheckUtils]: 3: Hoare triple {12690#true} assume 0 < #StackHeapBarrier; {12690#true} is VALID [2020-07-10 20:22:48,106 INFO L280 TraceCheckUtils]: 4: Hoare triple {12690#true} assume true; {12690#true} is VALID [2020-07-10 20:22:48,106 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {12690#true} {12690#true} #205#return; {12690#true} is VALID [2020-07-10 20:22:48,107 INFO L263 TraceCheckUtils]: 6: Hoare triple {12690#true} call #t~ret21 := main(); {12690#true} is VALID [2020-07-10 20:22:48,107 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-10 20:22:48,107 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-10 20:22:48,107 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-10 20:22:48,107 INFO L280 TraceCheckUtils]: 10: Hoare triple {12690#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {12690#true} is VALID [2020-07-10 20:22:48,108 INFO L280 TraceCheckUtils]: 11: Hoare triple {12690#true} ~start~0 := 0; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:48,109 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-10 20:22:48,109 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-10 20:22:48,110 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-10 20:22:48,110 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-10 20:22:48,111 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-10 20:22:48,111 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-10 20:22:48,112 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-10 20:22:48,112 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-10 20:22:48,113 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-10 20:22:48,113 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-10 20:22:48,114 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-10 20:22:48,114 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-10 20:22:48,115 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-10 20:22:48,115 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-10 20:22:48,116 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-10 20:22:48,116 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-10 20:22:48,117 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-10 20:22:48,118 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-10 20:22:48,118 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-10 20:22:48,119 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-10 20:22:48,119 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-10 20:22:48,120 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-10 20:22:48,120 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-10 20:22:48,121 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-10 20:22:48,121 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-10 20:22:48,122 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-10 20:22:48,122 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-10 20:22:48,123 INFO L280 TraceCheckUtils]: 39: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} havoc #t~mem6; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:48,123 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-10 20:22:48,124 INFO L280 TraceCheckUtils]: 41: Hoare triple {12697#(= 0 parse_expression_list_~start~0)} havoc #t~mem5; {12697#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:48,124 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-10 20:22:48,125 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-10 20:22:48,125 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-10 20:22:48,126 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-10 20:22:48,127 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-10 20:22:48,128 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-10 20:22:48,128 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-10 20:22:48,129 INFO L280 TraceCheckUtils]: 49: 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-10 20:22:48,130 INFO L280 TraceCheckUtils]: 50: 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-10 20:22:48,130 INFO L280 TraceCheckUtils]: 51: 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-10 20:22:48,131 INFO L280 TraceCheckUtils]: 52: 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-10 20:22:48,132 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-10 20:22:48,133 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-10 20:22:48,133 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-10 20:22:48,134 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-10 20:22:48,135 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-10 20:22:48,135 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-10 20:22:48,135 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-10 20:22:48,136 INFO L280 TraceCheckUtils]: 60: Hoare triple {12690#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {12690#true} is VALID [2020-07-10 20:22:48,136 INFO L280 TraceCheckUtils]: 61: Hoare triple {12690#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {12690#true} is VALID [2020-07-10 20:22:48,136 INFO L280 TraceCheckUtils]: 62: Hoare triple {12690#true} ~n := #in~n; {12690#true} is VALID [2020-07-10 20:22:48,136 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-10 20:22:48,136 INFO L280 TraceCheckUtils]: 64: Hoare triple {12690#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {12690#true} is VALID [2020-07-10 20:22:48,137 INFO L280 TraceCheckUtils]: 65: Hoare triple {12690#true} havoc #t~ret0.base, #t~ret0.offset; {12690#true} is VALID [2020-07-10 20:22:48,137 INFO L280 TraceCheckUtils]: 66: Hoare triple {12690#true} assume true; {12690#true} is VALID [2020-07-10 20:22:48,138 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-10 20:22:48,139 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-10 20:22:48,140 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-10 20:22:48,141 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-10 20:22:48,141 INFO L280 TraceCheckUtils]: 71: Hoare triple {12709#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {12691#false} is VALID [2020-07-10 20:22:48,142 INFO L280 TraceCheckUtils]: 72: Hoare triple {12691#false} assume !false; {12691#false} is VALID [2020-07-10 20:22:48,147 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-10 20:22:48,148 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:48,148 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1473513232] [2020-07-10 20:22:48,148 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:48,149 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2020-07-10 20:22:48,149 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [344019089] [2020-07-10 20:22:48,149 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 73 [2020-07-10 20:22:48,149 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:48,150 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-10 20:22:48,225 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-10 20:22:48,225 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-10 20:22:48,226 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:48,226 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-10 20:22:48,226 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2020-07-10 20:22:48,226 INFO L87 Difference]: Start difference. First operand 200 states and 223 transitions. Second operand 8 states. [2020-07-10 20:22:49,639 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:49,640 INFO L93 Difference]: Finished difference Result 288 states and 323 transitions. [2020-07-10 20:22:49,640 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-10 20:22:49,640 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 73 [2020-07-10 20:22:49,640 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:49,641 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 20:22:49,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 223 transitions. [2020-07-10 20:22:49,643 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 20:22:49,645 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 223 transitions. [2020-07-10 20:22:49,646 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 223 transitions. [2020-07-10 20:22:49,891 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-10 20:22:49,897 INFO L225 Difference]: With dead ends: 288 [2020-07-10 20:22:49,898 INFO L226 Difference]: Without dead ends: 286 [2020-07-10 20:22:49,898 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-10 20:22:49,899 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 286 states. [2020-07-10 20:22:50,226 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 286 to 254. [2020-07-10 20:22:50,227 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:50,227 INFO L82 GeneralOperation]: Start isEquivalent. First operand 286 states. Second operand 254 states. [2020-07-10 20:22:50,227 INFO L74 IsIncluded]: Start isIncluded. First operand 286 states. Second operand 254 states. [2020-07-10 20:22:50,227 INFO L87 Difference]: Start difference. First operand 286 states. Second operand 254 states. [2020-07-10 20:22:50,238 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:50,238 INFO L93 Difference]: Finished difference Result 286 states and 321 transitions. [2020-07-10 20:22:50,238 INFO L276 IsEmpty]: Start isEmpty. Operand 286 states and 321 transitions. [2020-07-10 20:22:50,239 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:50,240 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:50,240 INFO L74 IsIncluded]: Start isIncluded. First operand 254 states. Second operand 286 states. [2020-07-10 20:22:50,240 INFO L87 Difference]: Start difference. First operand 254 states. Second operand 286 states. [2020-07-10 20:22:50,249 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:50,250 INFO L93 Difference]: Finished difference Result 286 states and 321 transitions. [2020-07-10 20:22:50,250 INFO L276 IsEmpty]: Start isEmpty. Operand 286 states and 321 transitions. [2020-07-10 20:22:50,251 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:50,251 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:50,251 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:50,251 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:50,251 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 254 states. [2020-07-10 20:22:50,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 254 states to 254 states and 285 transitions. [2020-07-10 20:22:50,258 INFO L78 Accepts]: Start accepts. Automaton has 254 states and 285 transitions. Word has length 73 [2020-07-10 20:22:50,258 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:50,258 INFO L479 AbstractCegarLoop]: Abstraction has 254 states and 285 transitions. [2020-07-10 20:22:50,258 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-10 20:22:50,258 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 254 states and 285 transitions. [2020-07-10 20:22:50,640 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-10 20:22:50,641 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 285 transitions. [2020-07-10 20:22:50,642 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2020-07-10 20:22:50,643 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:50,643 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-10 20:22:50,643 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-10 20:22:50,644 INFO L427 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:50,644 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:50,644 INFO L82 PathProgramCache]: Analyzing trace with hash 1474625812, now seen corresponding path program 1 times [2020-07-10 20:22:50,645 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:50,645 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [937979624] [2020-07-10 20:22:50,645 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:50,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:50,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:50,822 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-10 20:22:50,823 INFO L280 TraceCheckUtils]: 1: Hoare triple {14379#true} #valid := #valid[0 := 0]; {14379#true} is VALID [2020-07-10 20:22:50,823 INFO L280 TraceCheckUtils]: 2: Hoare triple {14379#true} assume 0 < #StackHeapBarrier; {14379#true} is VALID [2020-07-10 20:22:50,823 INFO L280 TraceCheckUtils]: 3: Hoare triple {14379#true} assume true; {14379#true} is VALID [2020-07-10 20:22:50,823 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {14379#true} {14379#true} #205#return; {14379#true} is VALID [2020-07-10 20:22:50,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:50,831 INFO L280 TraceCheckUtils]: 0: Hoare triple {14379#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {14379#true} is VALID [2020-07-10 20:22:50,832 INFO L280 TraceCheckUtils]: 1: Hoare triple {14379#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {14379#true} is VALID [2020-07-10 20:22:50,832 INFO L280 TraceCheckUtils]: 2: Hoare triple {14379#true} ~n := #in~n; {14379#true} is VALID [2020-07-10 20:22:50,832 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-10 20:22:50,832 INFO L280 TraceCheckUtils]: 4: Hoare triple {14379#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {14379#true} is VALID [2020-07-10 20:22:50,833 INFO L280 TraceCheckUtils]: 5: Hoare triple {14379#true} havoc #t~ret0.base, #t~ret0.offset; {14379#true} is VALID [2020-07-10 20:22:50,833 INFO L280 TraceCheckUtils]: 6: Hoare triple {14379#true} assume true; {14379#true} is VALID [2020-07-10 20:22:50,836 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-10 20:22:50,837 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-10 20:22:50,837 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-10 20:22:50,838 INFO L280 TraceCheckUtils]: 2: Hoare triple {14379#true} #valid := #valid[0 := 0]; {14379#true} is VALID [2020-07-10 20:22:50,838 INFO L280 TraceCheckUtils]: 3: Hoare triple {14379#true} assume 0 < #StackHeapBarrier; {14379#true} is VALID [2020-07-10 20:22:50,838 INFO L280 TraceCheckUtils]: 4: Hoare triple {14379#true} assume true; {14379#true} is VALID [2020-07-10 20:22:50,839 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {14379#true} {14379#true} #205#return; {14379#true} is VALID [2020-07-10 20:22:50,839 INFO L263 TraceCheckUtils]: 6: Hoare triple {14379#true} call #t~ret21 := main(); {14379#true} is VALID [2020-07-10 20:22:50,839 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-10 20:22:50,840 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-10 20:22:50,840 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-10 20:22:50,840 INFO L280 TraceCheckUtils]: 10: Hoare triple {14379#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {14379#true} is VALID [2020-07-10 20:22:50,841 INFO L280 TraceCheckUtils]: 11: Hoare triple {14379#true} ~start~0 := 0; {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:50,842 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-10 20:22:50,843 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-10 20:22:50,844 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-10 20:22:50,845 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-10 20:22:50,845 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-10 20:22:50,846 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-10 20:22:50,847 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-10 20:22:50,848 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-10 20:22:50,848 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-10 20:22:50,849 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-10 20:22:50,849 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-10 20:22:50,850 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-10 20:22:50,851 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-10 20:22:50,852 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-10 20:22:50,852 INFO L280 TraceCheckUtils]: 26: Hoare triple {14386#(= 0 parse_expression_list_~start~0)} havoc #t~mem6; {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:50,854 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-10 20:22:50,854 INFO L280 TraceCheckUtils]: 28: Hoare triple {14386#(= 0 parse_expression_list_~start~0)} havoc #t~mem5; {14386#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:50,855 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-10 20:22:50,856 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-10 20:22:50,857 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-10 20:22:50,858 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-10 20:22:50,858 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-10 20:22:50,859 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-10 20:22:50,860 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-10 20:22:50,861 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-10 20:22:50,862 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-10 20:22:50,863 INFO L280 TraceCheckUtils]: 38: Hoare triple {14388#(<= 1 parse_expression_list_~start~0)} havoc #t~mem6; {14388#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:50,864 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-10 20:22:50,865 INFO L280 TraceCheckUtils]: 40: Hoare triple {14388#(<= 1 parse_expression_list_~start~0)} havoc #t~mem5; {14388#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:50,866 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-10 20:22:50,867 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-10 20:22:50,867 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-10 20:22:50,868 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-10 20:22:50,869 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-10 20:22:50,870 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-10 20:22:50,870 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-10 20:22:50,871 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-10 20:22:50,872 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-10 20:22:50,872 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-10 20:22:50,873 INFO L280 TraceCheckUtils]: 51: 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-10 20:22:50,873 INFO L280 TraceCheckUtils]: 52: 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-10 20:22:50,874 INFO L280 TraceCheckUtils]: 53: 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-10 20:22:50,874 INFO L280 TraceCheckUtils]: 54: 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-10 20:22:50,875 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-10 20:22:50,876 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-10 20:22:50,876 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-10 20:22:50,877 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-10 20:22:50,877 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-10 20:22:50,878 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-10 20:22:50,878 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-10 20:22:50,878 INFO L280 TraceCheckUtils]: 62: Hoare triple {14379#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {14379#true} is VALID [2020-07-10 20:22:50,878 INFO L280 TraceCheckUtils]: 63: Hoare triple {14379#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {14379#true} is VALID [2020-07-10 20:22:50,879 INFO L280 TraceCheckUtils]: 64: Hoare triple {14379#true} ~n := #in~n; {14379#true} is VALID [2020-07-10 20:22:50,879 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-10 20:22:50,879 INFO L280 TraceCheckUtils]: 66: Hoare triple {14379#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {14379#true} is VALID [2020-07-10 20:22:50,879 INFO L280 TraceCheckUtils]: 67: Hoare triple {14379#true} havoc #t~ret0.base, #t~ret0.offset; {14379#true} is VALID [2020-07-10 20:22:50,879 INFO L280 TraceCheckUtils]: 68: Hoare triple {14379#true} assume true; {14379#true} is VALID [2020-07-10 20:22:50,881 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-10 20:22:50,882 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-10 20:22:50,883 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-10 20:22:50,884 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-10 20:22:50,884 INFO L280 TraceCheckUtils]: 73: Hoare triple {14402#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {14380#false} is VALID [2020-07-10 20:22:50,885 INFO L280 TraceCheckUtils]: 74: Hoare triple {14380#false} assume !false; {14380#false} is VALID [2020-07-10 20:22:50,896 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-10 20:22:50,896 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:50,896 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [937979624] [2020-07-10 20:22:50,897 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:50,897 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2020-07-10 20:22:50,897 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [455359430] [2020-07-10 20:22:50,898 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 75 [2020-07-10 20:22:50,898 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:50,898 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-10 20:22:50,996 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-10 20:22:50,996 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-10 20:22:50,996 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:50,997 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-10 20:22:50,997 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=109, Unknown=0, NotChecked=0, Total=132 [2020-07-10 20:22:50,997 INFO L87 Difference]: Start difference. First operand 254 states and 285 transitions. Second operand 12 states. [2020-07-10 20:22:54,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:54,077 INFO L93 Difference]: Finished difference Result 460 states and 517 transitions. [2020-07-10 20:22:54,077 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-10 20:22:54,078 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 75 [2020-07-10 20:22:54,078 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:54,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-10 20:22:54,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 423 transitions. [2020-07-10 20:22:54,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-10 20:22:54,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 423 transitions. [2020-07-10 20:22:54,091 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 423 transitions. [2020-07-10 20:22:54,521 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-10 20:22:54,533 INFO L225 Difference]: With dead ends: 460 [2020-07-10 20:22:54,533 INFO L226 Difference]: Without dead ends: 367 [2020-07-10 20:22:54,534 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-10 20:22:54,535 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 367 states. [2020-07-10 20:22:54,917 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 367 to 258. [2020-07-10 20:22:54,917 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:54,917 INFO L82 GeneralOperation]: Start isEquivalent. First operand 367 states. Second operand 258 states. [2020-07-10 20:22:54,918 INFO L74 IsIncluded]: Start isIncluded. First operand 367 states. Second operand 258 states. [2020-07-10 20:22:54,918 INFO L87 Difference]: Start difference. First operand 367 states. Second operand 258 states. [2020-07-10 20:22:54,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:54,931 INFO L93 Difference]: Finished difference Result 367 states and 413 transitions. [2020-07-10 20:22:54,931 INFO L276 IsEmpty]: Start isEmpty. Operand 367 states and 413 transitions. [2020-07-10 20:22:54,932 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:54,932 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:54,933 INFO L74 IsIncluded]: Start isIncluded. First operand 258 states. Second operand 367 states. [2020-07-10 20:22:54,933 INFO L87 Difference]: Start difference. First operand 258 states. Second operand 367 states. [2020-07-10 20:22:54,943 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:54,944 INFO L93 Difference]: Finished difference Result 367 states and 413 transitions. [2020-07-10 20:22:54,944 INFO L276 IsEmpty]: Start isEmpty. Operand 367 states and 413 transitions. [2020-07-10 20:22:54,945 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:54,945 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:54,945 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:54,945 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:54,945 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 258 states. [2020-07-10 20:22:54,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 258 states to 258 states and 289 transitions. [2020-07-10 20:22:54,952 INFO L78 Accepts]: Start accepts. Automaton has 258 states and 289 transitions. Word has length 75 [2020-07-10 20:22:54,952 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:54,952 INFO L479 AbstractCegarLoop]: Abstraction has 258 states and 289 transitions. [2020-07-10 20:22:54,952 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-10 20:22:54,953 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 258 states and 289 transitions. [2020-07-10 20:22:55,357 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-10 20:22:55,358 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 289 transitions. [2020-07-10 20:22:55,360 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2020-07-10 20:22:55,360 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:55,360 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-10 20:22:55,361 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2020-07-10 20:22:55,361 INFO L427 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:55,361 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:55,361 INFO L82 PathProgramCache]: Analyzing trace with hash 1908172287, now seen corresponding path program 1 times [2020-07-10 20:22:55,362 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:55,362 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [188941216] [2020-07-10 20:22:55,362 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:55,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:55,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:55,503 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-10 20:22:55,503 INFO L280 TraceCheckUtils]: 1: Hoare triple {16596#true} #valid := #valid[0 := 0]; {16596#true} is VALID [2020-07-10 20:22:55,503 INFO L280 TraceCheckUtils]: 2: Hoare triple {16596#true} assume 0 < #StackHeapBarrier; {16596#true} is VALID [2020-07-10 20:22:55,503 INFO L280 TraceCheckUtils]: 3: Hoare triple {16596#true} assume true; {16596#true} is VALID [2020-07-10 20:22:55,504 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {16596#true} {16596#true} #205#return; {16596#true} is VALID [2020-07-10 20:22:55,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:55,509 INFO L280 TraceCheckUtils]: 0: Hoare triple {16596#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {16596#true} is VALID [2020-07-10 20:22:55,510 INFO L280 TraceCheckUtils]: 1: Hoare triple {16596#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {16596#true} is VALID [2020-07-10 20:22:55,510 INFO L280 TraceCheckUtils]: 2: Hoare triple {16596#true} ~n := #in~n; {16596#true} is VALID [2020-07-10 20:22:55,510 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-10 20:22:55,510 INFO L280 TraceCheckUtils]: 4: Hoare triple {16596#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {16596#true} is VALID [2020-07-10 20:22:55,511 INFO L280 TraceCheckUtils]: 5: Hoare triple {16596#true} havoc #t~ret0.base, #t~ret0.offset; {16596#true} is VALID [2020-07-10 20:22:55,511 INFO L280 TraceCheckUtils]: 6: Hoare triple {16596#true} assume true; {16596#true} is VALID [2020-07-10 20:22:55,511 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {16596#true} {16597#false} #201#return; {16597#false} is VALID [2020-07-10 20:22:55,512 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-10 20:22:55,512 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-10 20:22:55,512 INFO L280 TraceCheckUtils]: 2: Hoare triple {16596#true} #valid := #valid[0 := 0]; {16596#true} is VALID [2020-07-10 20:22:55,513 INFO L280 TraceCheckUtils]: 3: Hoare triple {16596#true} assume 0 < #StackHeapBarrier; {16596#true} is VALID [2020-07-10 20:22:55,513 INFO L280 TraceCheckUtils]: 4: Hoare triple {16596#true} assume true; {16596#true} is VALID [2020-07-10 20:22:55,513 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {16596#true} {16596#true} #205#return; {16596#true} is VALID [2020-07-10 20:22:55,513 INFO L263 TraceCheckUtils]: 6: Hoare triple {16596#true} call #t~ret21 := main(); {16596#true} is VALID [2020-07-10 20:22:55,513 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-10 20:22:55,514 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-10 20:22:55,514 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-10 20:22:55,514 INFO L280 TraceCheckUtils]: 10: Hoare triple {16596#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {16596#true} is VALID [2020-07-10 20:22:55,515 INFO L280 TraceCheckUtils]: 11: Hoare triple {16596#true} ~start~0 := 0; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:55,516 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-10 20:22:55,516 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-10 20:22:55,517 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-10 20:22:55,517 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-10 20:22:55,518 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-10 20:22:55,518 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-10 20:22:55,519 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-10 20:22:55,520 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-10 20:22:55,521 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-10 20:22:55,522 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-10 20:22:55,522 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-10 20:22:55,523 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-10 20:22:55,523 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-10 20:22:55,524 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-10 20:22:55,524 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-10 20:22:55,525 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-10 20:22:55,525 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-10 20:22:55,526 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-10 20:22:55,526 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-10 20:22:55,527 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-10 20:22:55,528 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-10 20:22:55,528 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-10 20:22:55,529 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-10 20:22:55,529 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-10 20:22:55,530 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-10 20:22:55,530 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-10 20:22:55,531 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-10 20:22:55,531 INFO L280 TraceCheckUtils]: 39: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} havoc #t~mem6; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:55,532 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-10 20:22:55,532 INFO L280 TraceCheckUtils]: 41: Hoare triple {16603#(= 0 parse_expression_list_~start~0)} havoc #t~mem5; {16603#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:55,533 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-10 20:22:55,533 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-10 20:22:55,534 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-10 20:22:55,535 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-10 20:22:55,535 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-10 20:22:55,536 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-10 20:22:55,536 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-10 20:22:55,537 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-10 20:22:55,538 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-10 20:22:55,539 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-10 20:22:55,539 INFO L280 TraceCheckUtils]: 52: 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-10 20:22:55,540 INFO L280 TraceCheckUtils]: 53: 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-10 20:22:55,540 INFO L280 TraceCheckUtils]: 54: 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-10 20:22:55,541 INFO L280 TraceCheckUtils]: 55: 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-10 20:22:55,542 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-10 20:22:55,542 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-10 20:22:55,543 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-10 20:22:55,544 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-10 20:22:55,544 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-10 20:22:55,545 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-10 20:22:55,545 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-10 20:22:55,545 INFO L280 TraceCheckUtils]: 63: Hoare triple {16596#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {16596#true} is VALID [2020-07-10 20:22:55,546 INFO L280 TraceCheckUtils]: 64: Hoare triple {16596#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {16596#true} is VALID [2020-07-10 20:22:55,546 INFO L280 TraceCheckUtils]: 65: Hoare triple {16596#true} ~n := #in~n; {16596#true} is VALID [2020-07-10 20:22:55,546 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-10 20:22:55,546 INFO L280 TraceCheckUtils]: 67: Hoare triple {16596#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {16596#true} is VALID [2020-07-10 20:22:55,547 INFO L280 TraceCheckUtils]: 68: Hoare triple {16596#true} havoc #t~ret0.base, #t~ret0.offset; {16596#true} is VALID [2020-07-10 20:22:55,547 INFO L280 TraceCheckUtils]: 69: Hoare triple {16596#true} assume true; {16596#true} is VALID [2020-07-10 20:22:55,547 INFO L275 TraceCheckUtils]: 70: Hoare quadruple {16596#true} {16597#false} #201#return; {16597#false} is VALID [2020-07-10 20:22:55,547 INFO L280 TraceCheckUtils]: 71: Hoare triple {16597#false} havoc #t~ret19.base, #t~ret19.offset; {16597#false} is VALID [2020-07-10 20:22:55,547 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-10 20:22:55,548 INFO L280 TraceCheckUtils]: 73: Hoare triple {16597#false} ~cond := #in~cond; {16597#false} is VALID [2020-07-10 20:22:55,548 INFO L280 TraceCheckUtils]: 74: Hoare triple {16597#false} assume 0 == ~cond; {16597#false} is VALID [2020-07-10 20:22:55,548 INFO L280 TraceCheckUtils]: 75: Hoare triple {16597#false} assume !false; {16597#false} is VALID [2020-07-10 20:22:55,553 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-10 20:22:55,553 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:55,554 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [188941216] [2020-07-10 20:22:55,554 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:55,554 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2020-07-10 20:22:55,554 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1012612829] [2020-07-10 20:22:55,555 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 76 [2020-07-10 20:22:55,555 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:55,555 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-10 20:22:55,630 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-10 20:22:55,630 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-10 20:22:55,630 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:55,631 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-10 20:22:55,631 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2020-07-10 20:22:55,631 INFO L87 Difference]: Start difference. First operand 258 states and 289 transitions. Second operand 8 states. [2020-07-10 20:22:57,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:57,666 INFO L93 Difference]: Finished difference Result 432 states and 485 transitions. [2020-07-10 20:22:57,666 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-10 20:22:57,666 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 76 [2020-07-10 20:22:57,666 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:57,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 20:22:57,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 353 transitions. [2020-07-10 20:22:57,669 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 20:22:57,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 353 transitions. [2020-07-10 20:22:57,672 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 353 transitions. [2020-07-10 20:22:58,064 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-10 20:22:58,073 INFO L225 Difference]: With dead ends: 432 [2020-07-10 20:22:58,073 INFO L226 Difference]: Without dead ends: 339 [2020-07-10 20:22:58,074 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-10 20:22:58,075 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 339 states. [2020-07-10 20:22:58,551 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 339 to 258. [2020-07-10 20:22:58,552 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:58,552 INFO L82 GeneralOperation]: Start isEquivalent. First operand 339 states. Second operand 258 states. [2020-07-10 20:22:58,552 INFO L74 IsIncluded]: Start isIncluded. First operand 339 states. Second operand 258 states. [2020-07-10 20:22:58,552 INFO L87 Difference]: Start difference. First operand 339 states. Second operand 258 states. [2020-07-10 20:22:58,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:58,564 INFO L93 Difference]: Finished difference Result 339 states and 381 transitions. [2020-07-10 20:22:58,565 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 381 transitions. [2020-07-10 20:22:58,566 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:58,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:58,567 INFO L74 IsIncluded]: Start isIncluded. First operand 258 states. Second operand 339 states. [2020-07-10 20:22:58,567 INFO L87 Difference]: Start difference. First operand 258 states. Second operand 339 states. [2020-07-10 20:22:58,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:58,581 INFO L93 Difference]: Finished difference Result 339 states and 381 transitions. [2020-07-10 20:22:58,581 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 381 transitions. [2020-07-10 20:22:58,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:58,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:58,585 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:58,586 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:58,586 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 258 states. [2020-07-10 20:22:58,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 258 states to 258 states and 289 transitions. [2020-07-10 20:22:58,597 INFO L78 Accepts]: Start accepts. Automaton has 258 states and 289 transitions. Word has length 76 [2020-07-10 20:22:58,598 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:58,598 INFO L479 AbstractCegarLoop]: Abstraction has 258 states and 289 transitions. [2020-07-10 20:22:58,598 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-10 20:22:58,598 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 258 states and 289 transitions. [2020-07-10 20:22:58,985 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-10 20:22:58,986 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 289 transitions. [2020-07-10 20:22:58,987 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2020-07-10 20:22:58,988 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:58,988 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-10 20:22:58,988 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2020-07-10 20:22:58,989 INFO L427 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:58,989 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:58,989 INFO L82 PathProgramCache]: Analyzing trace with hash 116425250, now seen corresponding path program 1 times [2020-07-10 20:22:58,989 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:58,989 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1729088980] [2020-07-10 20:22:58,990 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:59,018 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:59,052 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:59,055 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-10 20:22:59,055 INFO L280 TraceCheckUtils]: 1: Hoare triple {18693#true} #valid := #valid[0 := 0]; {18693#true} is VALID [2020-07-10 20:22:59,055 INFO L280 TraceCheckUtils]: 2: Hoare triple {18693#true} assume 0 < #StackHeapBarrier; {18693#true} is VALID [2020-07-10 20:22:59,055 INFO L280 TraceCheckUtils]: 3: Hoare triple {18693#true} assume true; {18693#true} is VALID [2020-07-10 20:22:59,056 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {18693#true} {18693#true} #205#return; {18693#true} is VALID [2020-07-10 20:22:59,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:59,059 INFO L280 TraceCheckUtils]: 0: Hoare triple {18693#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {18693#true} is VALID [2020-07-10 20:22:59,059 INFO L280 TraceCheckUtils]: 1: Hoare triple {18693#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {18693#true} is VALID [2020-07-10 20:22:59,060 INFO L280 TraceCheckUtils]: 2: Hoare triple {18693#true} ~n := #in~n; {18693#true} is VALID [2020-07-10 20:22:59,060 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-10 20:22:59,060 INFO L280 TraceCheckUtils]: 4: Hoare triple {18693#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {18693#true} is VALID [2020-07-10 20:22:59,060 INFO L280 TraceCheckUtils]: 5: Hoare triple {18693#true} havoc #t~ret0.base, #t~ret0.offset; {18693#true} is VALID [2020-07-10 20:22:59,061 INFO L280 TraceCheckUtils]: 6: Hoare triple {18693#true} assume true; {18693#true} is VALID [2020-07-10 20:22:59,061 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {18693#true} {18694#false} #201#return; {18694#false} is VALID [2020-07-10 20:22:59,062 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-10 20:22:59,062 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-10 20:22:59,062 INFO L280 TraceCheckUtils]: 2: Hoare triple {18693#true} #valid := #valid[0 := 0]; {18693#true} is VALID [2020-07-10 20:22:59,062 INFO L280 TraceCheckUtils]: 3: Hoare triple {18693#true} assume 0 < #StackHeapBarrier; {18693#true} is VALID [2020-07-10 20:22:59,063 INFO L280 TraceCheckUtils]: 4: Hoare triple {18693#true} assume true; {18693#true} is VALID [2020-07-10 20:22:59,063 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {18693#true} {18693#true} #205#return; {18693#true} is VALID [2020-07-10 20:22:59,063 INFO L263 TraceCheckUtils]: 6: Hoare triple {18693#true} call #t~ret21 := main(); {18693#true} is VALID [2020-07-10 20:22:59,063 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-10 20:22:59,063 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-10 20:22:59,064 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-10 20:22:59,064 INFO L280 TraceCheckUtils]: 10: Hoare triple {18693#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {18693#true} is VALID [2020-07-10 20:22:59,064 INFO L280 TraceCheckUtils]: 11: Hoare triple {18693#true} ~start~0 := 0; {18693#true} is VALID [2020-07-10 20:22:59,064 INFO L280 TraceCheckUtils]: 12: Hoare triple {18693#true} ~i~0 := -1; {18693#true} is VALID [2020-07-10 20:22:59,064 INFO L280 TraceCheckUtils]: 13: Hoare triple {18693#true} ~j~0 := -1; {18693#true} is VALID [2020-07-10 20:22:59,065 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-10 20:22:59,065 INFO L280 TraceCheckUtils]: 15: Hoare triple {18693#true} assume !(~str.base == 0 && ~str.offset == 0); {18693#true} is VALID [2020-07-10 20:22:59,065 INFO L280 TraceCheckUtils]: 16: Hoare triple {18693#true} #t~post2 := ~i~0; {18693#true} is VALID [2020-07-10 20:22:59,065 INFO L280 TraceCheckUtils]: 17: Hoare triple {18693#true} ~i~0 := 1 + #t~post2; {18693#true} is VALID [2020-07-10 20:22:59,066 INFO L280 TraceCheckUtils]: 18: Hoare triple {18693#true} havoc #t~post2; {18693#true} is VALID [2020-07-10 20:22:59,066 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-10 20:22:59,066 INFO L280 TraceCheckUtils]: 20: Hoare triple {18693#true} #t~switch4 := 0 == #t~mem3; {18693#true} is VALID [2020-07-10 20:22:59,066 INFO L280 TraceCheckUtils]: 21: Hoare triple {18693#true} assume #t~switch4; {18693#true} is VALID [2020-07-10 20:22:59,066 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-10 20:22:59,067 INFO L280 TraceCheckUtils]: 23: Hoare triple {18693#true} #t~short7 := 32 == #t~mem5; {18693#true} is VALID [2020-07-10 20:22:59,067 INFO L280 TraceCheckUtils]: 24: Hoare triple {18693#true} assume #t~short7; {18693#true} is VALID [2020-07-10 20:22:59,067 INFO L280 TraceCheckUtils]: 25: Hoare triple {18693#true} assume !!#t~short7; {18693#true} is VALID [2020-07-10 20:22:59,067 INFO L280 TraceCheckUtils]: 26: Hoare triple {18693#true} havoc #t~mem6; {18693#true} is VALID [2020-07-10 20:22:59,067 INFO L280 TraceCheckUtils]: 27: Hoare triple {18693#true} havoc #t~short7; {18693#true} is VALID [2020-07-10 20:22:59,068 INFO L280 TraceCheckUtils]: 28: Hoare triple {18693#true} havoc #t~mem5; {18693#true} is VALID [2020-07-10 20:22:59,068 INFO L280 TraceCheckUtils]: 29: Hoare triple {18693#true} #t~post8 := ~start~0; {18693#true} is VALID [2020-07-10 20:22:59,068 INFO L280 TraceCheckUtils]: 30: Hoare triple {18693#true} ~start~0 := 1 + #t~post8; {18693#true} is VALID [2020-07-10 20:22:59,068 INFO L280 TraceCheckUtils]: 31: Hoare triple {18693#true} havoc #t~post8; {18693#true} is VALID [2020-07-10 20:22:59,068 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-10 20:22:59,069 INFO L280 TraceCheckUtils]: 33: Hoare triple {18693#true} #t~short7 := 32 == #t~mem5; {18693#true} is VALID [2020-07-10 20:22:59,069 INFO L280 TraceCheckUtils]: 34: Hoare triple {18693#true} assume !#t~short7; {18693#true} is VALID [2020-07-10 20:22:59,069 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-10 20:22:59,069 INFO L280 TraceCheckUtils]: 36: Hoare triple {18693#true} #t~short7 := 9 == #t~mem6; {18693#true} is VALID [2020-07-10 20:22:59,069 INFO L280 TraceCheckUtils]: 37: Hoare triple {18693#true} assume !#t~short7; {18693#true} is VALID [2020-07-10 20:22:59,070 INFO L280 TraceCheckUtils]: 38: Hoare triple {18693#true} havoc #t~mem6; {18693#true} is VALID [2020-07-10 20:22:59,070 INFO L280 TraceCheckUtils]: 39: Hoare triple {18693#true} havoc #t~short7; {18693#true} is VALID [2020-07-10 20:22:59,070 INFO L280 TraceCheckUtils]: 40: Hoare triple {18693#true} havoc #t~mem5; {18693#true} is VALID [2020-07-10 20:22:59,070 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-10 20:22:59,070 INFO L280 TraceCheckUtils]: 42: Hoare triple {18693#true} assume !(34 == #t~mem9); {18693#true} is VALID [2020-07-10 20:22:59,071 INFO L280 TraceCheckUtils]: 43: Hoare triple {18693#true} havoc #t~mem9; {18693#true} is VALID [2020-07-10 20:22:59,071 INFO L280 TraceCheckUtils]: 44: Hoare triple {18693#true} ~j~0 := ~i~0 - 1; {18693#true} is VALID [2020-07-10 20:22:59,071 INFO L280 TraceCheckUtils]: 45: Hoare triple {18693#true} #t~short14 := 0 < ~j~0; {18693#true} is VALID [2020-07-10 20:22:59,071 INFO L280 TraceCheckUtils]: 46: Hoare triple {18693#true} assume #t~short14; {18693#true} is VALID [2020-07-10 20:22:59,071 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-10 20:22:59,072 INFO L280 TraceCheckUtils]: 48: Hoare triple {18693#true} #t~short13 := 32 == #t~mem11; {18693#true} is VALID [2020-07-10 20:22:59,072 INFO L280 TraceCheckUtils]: 49: Hoare triple {18693#true} assume #t~short13; {18700#|parse_expression_list_#t~short13|} is VALID [2020-07-10 20:22:59,073 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-10 20:22:59,073 INFO L280 TraceCheckUtils]: 51: Hoare triple {18701#|parse_expression_list_#t~short14|} assume !#t~short14; {18694#false} is VALID [2020-07-10 20:22:59,074 INFO L280 TraceCheckUtils]: 52: Hoare triple {18694#false} havoc #t~mem11; {18694#false} is VALID [2020-07-10 20:22:59,074 INFO L280 TraceCheckUtils]: 53: Hoare triple {18694#false} havoc #t~short14; {18694#false} is VALID [2020-07-10 20:22:59,074 INFO L280 TraceCheckUtils]: 54: Hoare triple {18694#false} havoc #t~short13; {18694#false} is VALID [2020-07-10 20:22:59,074 INFO L280 TraceCheckUtils]: 55: Hoare triple {18694#false} havoc #t~mem12; {18694#false} is VALID [2020-07-10 20:22:59,074 INFO L280 TraceCheckUtils]: 56: Hoare triple {18694#false} #t~short17 := 0 < ~j~0; {18694#false} is VALID [2020-07-10 20:22:59,075 INFO L280 TraceCheckUtils]: 57: Hoare triple {18694#false} assume !#t~short17; {18694#false} is VALID [2020-07-10 20:22:59,075 INFO L280 TraceCheckUtils]: 58: Hoare triple {18694#false} assume !#t~short17; {18694#false} is VALID [2020-07-10 20:22:59,075 INFO L280 TraceCheckUtils]: 59: Hoare triple {18694#false} havoc #t~short17; {18694#false} is VALID [2020-07-10 20:22:59,075 INFO L280 TraceCheckUtils]: 60: Hoare triple {18694#false} havoc #t~mem16; {18694#false} is VALID [2020-07-10 20:22:59,075 INFO L280 TraceCheckUtils]: 61: Hoare triple {18694#false} assume ~start~0 <= ~j~0; {18694#false} is VALID [2020-07-10 20:22:59,076 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-10 20:22:59,076 INFO L280 TraceCheckUtils]: 63: Hoare triple {18693#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {18693#true} is VALID [2020-07-10 20:22:59,076 INFO L280 TraceCheckUtils]: 64: Hoare triple {18693#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {18693#true} is VALID [2020-07-10 20:22:59,076 INFO L280 TraceCheckUtils]: 65: Hoare triple {18693#true} ~n := #in~n; {18693#true} is VALID [2020-07-10 20:22:59,076 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-10 20:22:59,077 INFO L280 TraceCheckUtils]: 67: Hoare triple {18693#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {18693#true} is VALID [2020-07-10 20:22:59,077 INFO L280 TraceCheckUtils]: 68: Hoare triple {18693#true} havoc #t~ret0.base, #t~ret0.offset; {18693#true} is VALID [2020-07-10 20:22:59,077 INFO L280 TraceCheckUtils]: 69: Hoare triple {18693#true} assume true; {18693#true} is VALID [2020-07-10 20:22:59,077 INFO L275 TraceCheckUtils]: 70: Hoare quadruple {18693#true} {18694#false} #201#return; {18694#false} is VALID [2020-07-10 20:22:59,077 INFO L280 TraceCheckUtils]: 71: Hoare triple {18694#false} havoc #t~ret19.base, #t~ret19.offset; {18694#false} is VALID [2020-07-10 20:22:59,077 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-10 20:22:59,078 INFO L280 TraceCheckUtils]: 73: Hoare triple {18694#false} ~cond := #in~cond; {18694#false} is VALID [2020-07-10 20:22:59,078 INFO L280 TraceCheckUtils]: 74: Hoare triple {18694#false} assume 0 == ~cond; {18694#false} is VALID [2020-07-10 20:22:59,078 INFO L280 TraceCheckUtils]: 75: Hoare triple {18694#false} assume !false; {18694#false} is VALID [2020-07-10 20:22:59,081 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-10 20:22:59,081 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:59,082 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1729088980] [2020-07-10 20:22:59,082 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:59,082 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-10 20:22:59,082 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [543003547] [2020-07-10 20:22:59,083 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 76 [2020-07-10 20:22:59,083 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:59,083 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-10 20:22:59,159 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-10 20:22:59,159 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-10 20:22:59,159 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:59,159 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-10 20:22:59,160 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-10 20:22:59,160 INFO L87 Difference]: Start difference. First operand 258 states and 289 transitions. Second operand 5 states. [2020-07-10 20:23:00,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:00,189 INFO L93 Difference]: Finished difference Result 366 states and 409 transitions. [2020-07-10 20:23:00,189 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-10 20:23:00,189 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 76 [2020-07-10 20:23:00,189 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:23:00,189 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 20:23:00,190 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 212 transitions. [2020-07-10 20:23:00,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 20:23:00,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 212 transitions. [2020-07-10 20:23:00,192 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 212 transitions. [2020-07-10 20:23:00,415 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 212 edges. 212 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:23:00,421 INFO L225 Difference]: With dead ends: 366 [2020-07-10 20:23:00,421 INFO L226 Difference]: Without dead ends: 277 [2020-07-10 20:23:00,422 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-10 20:23:00,423 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 277 states. [2020-07-10 20:23:00,831 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 277 to 260. [2020-07-10 20:23:00,832 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:23:00,832 INFO L82 GeneralOperation]: Start isEquivalent. First operand 277 states. Second operand 260 states. [2020-07-10 20:23:00,832 INFO L74 IsIncluded]: Start isIncluded. First operand 277 states. Second operand 260 states. [2020-07-10 20:23:00,832 INFO L87 Difference]: Start difference. First operand 277 states. Second operand 260 states. [2020-07-10 20:23:00,839 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:00,839 INFO L93 Difference]: Finished difference Result 277 states and 308 transitions. [2020-07-10 20:23:00,840 INFO L276 IsEmpty]: Start isEmpty. Operand 277 states and 308 transitions. [2020-07-10 20:23:00,840 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:23:00,840 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:23:00,841 INFO L74 IsIncluded]: Start isIncluded. First operand 260 states. Second operand 277 states. [2020-07-10 20:23:00,841 INFO L87 Difference]: Start difference. First operand 260 states. Second operand 277 states. [2020-07-10 20:23:00,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:00,847 INFO L93 Difference]: Finished difference Result 277 states and 308 transitions. [2020-07-10 20:23:00,848 INFO L276 IsEmpty]: Start isEmpty. Operand 277 states and 308 transitions. [2020-07-10 20:23:00,848 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:23:00,848 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:23:00,848 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:23:00,849 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:23:00,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 260 states. [2020-07-10 20:23:00,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 260 states to 260 states and 291 transitions. [2020-07-10 20:23:00,854 INFO L78 Accepts]: Start accepts. Automaton has 260 states and 291 transitions. Word has length 76 [2020-07-10 20:23:00,855 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:23:00,855 INFO L479 AbstractCegarLoop]: Abstraction has 260 states and 291 transitions. [2020-07-10 20:23:00,855 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-10 20:23:00,855 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 260 states and 291 transitions. [2020-07-10 20:23:01,253 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-10 20:23:01,253 INFO L276 IsEmpty]: Start isEmpty. Operand 260 states and 291 transitions. [2020-07-10 20:23:01,254 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2020-07-10 20:23:01,255 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:23:01,255 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-10 20:23:01,255 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2020-07-10 20:23:01,255 INFO L427 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:23:01,255 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:23:01,255 INFO L82 PathProgramCache]: Analyzing trace with hash -1122457453, now seen corresponding path program 1 times [2020-07-10 20:23:01,256 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:23:01,256 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [527091862] [2020-07-10 20:23:01,256 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:23:01,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:23:01,349 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:23:01,352 INFO L280 TraceCheckUtils]: 0: Hoare triple {20539#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {20521#true} is VALID [2020-07-10 20:23:01,352 INFO L280 TraceCheckUtils]: 1: Hoare triple {20521#true} #valid := #valid[0 := 0]; {20521#true} is VALID [2020-07-10 20:23:01,353 INFO L280 TraceCheckUtils]: 2: Hoare triple {20521#true} assume 0 < #StackHeapBarrier; {20521#true} is VALID [2020-07-10 20:23:01,353 INFO L280 TraceCheckUtils]: 3: Hoare triple {20521#true} assume true; {20521#true} is VALID [2020-07-10 20:23:01,353 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {20521#true} {20521#true} #205#return; {20521#true} is VALID [2020-07-10 20:23:01,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:23:01,357 INFO L280 TraceCheckUtils]: 0: Hoare triple {20521#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {20521#true} is VALID [2020-07-10 20:23:01,357 INFO L280 TraceCheckUtils]: 1: Hoare triple {20521#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {20521#true} is VALID [2020-07-10 20:23:01,357 INFO L280 TraceCheckUtils]: 2: Hoare triple {20521#true} ~n := #in~n; {20521#true} is VALID [2020-07-10 20:23:01,357 INFO L280 TraceCheckUtils]: 3: Hoare triple {20521#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {20521#true} is VALID [2020-07-10 20:23:01,358 INFO L280 TraceCheckUtils]: 4: Hoare triple {20521#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {20521#true} is VALID [2020-07-10 20:23:01,358 INFO L280 TraceCheckUtils]: 5: Hoare triple {20521#true} havoc #t~ret0.base, #t~ret0.offset; {20521#true} is VALID [2020-07-10 20:23:01,358 INFO L280 TraceCheckUtils]: 6: Hoare triple {20521#true} assume true; {20521#true} is VALID [2020-07-10 20:23:01,358 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {20521#true} {20522#false} #201#return; {20522#false} is VALID [2020-07-10 20:23:01,359 INFO L263 TraceCheckUtils]: 0: Hoare triple {20521#true} call ULTIMATE.init(); {20539#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:23:01,359 INFO L280 TraceCheckUtils]: 1: Hoare triple {20539#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {20521#true} is VALID [2020-07-10 20:23:01,360 INFO L280 TraceCheckUtils]: 2: Hoare triple {20521#true} #valid := #valid[0 := 0]; {20521#true} is VALID [2020-07-10 20:23:01,360 INFO L280 TraceCheckUtils]: 3: Hoare triple {20521#true} assume 0 < #StackHeapBarrier; {20521#true} is VALID [2020-07-10 20:23:01,360 INFO L280 TraceCheckUtils]: 4: Hoare triple {20521#true} assume true; {20521#true} is VALID [2020-07-10 20:23:01,360 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {20521#true} {20521#true} #205#return; {20521#true} is VALID [2020-07-10 20:23:01,361 INFO L263 TraceCheckUtils]: 6: Hoare triple {20521#true} call #t~ret21 := main(); {20521#true} is VALID [2020-07-10 20:23:01,361 INFO L280 TraceCheckUtils]: 7: Hoare triple {20521#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {20521#true} is VALID [2020-07-10 20:23:01,361 INFO L280 TraceCheckUtils]: 8: Hoare triple {20521#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {20521#true} is VALID [2020-07-10 20:23:01,361 INFO L263 TraceCheckUtils]: 9: Hoare triple {20521#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {20521#true} is VALID [2020-07-10 20:23:01,362 INFO L280 TraceCheckUtils]: 10: Hoare triple {20521#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {20521#true} is VALID [2020-07-10 20:23:01,362 INFO L280 TraceCheckUtils]: 11: Hoare triple {20521#true} ~start~0 := 0; {20521#true} is VALID [2020-07-10 20:23:01,362 INFO L280 TraceCheckUtils]: 12: Hoare triple {20521#true} ~i~0 := -1; {20521#true} is VALID [2020-07-10 20:23:01,362 INFO L280 TraceCheckUtils]: 13: Hoare triple {20521#true} ~j~0 := -1; {20521#true} is VALID [2020-07-10 20:23:01,362 INFO L280 TraceCheckUtils]: 14: Hoare triple {20521#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {20521#true} is VALID [2020-07-10 20:23:01,363 INFO L280 TraceCheckUtils]: 15: Hoare triple {20521#true} assume !(~str.base == 0 && ~str.offset == 0); {20521#true} is VALID [2020-07-10 20:23:01,363 INFO L280 TraceCheckUtils]: 16: Hoare triple {20521#true} #t~post2 := ~i~0; {20521#true} is VALID [2020-07-10 20:23:01,363 INFO L280 TraceCheckUtils]: 17: Hoare triple {20521#true} ~i~0 := 1 + #t~post2; {20521#true} is VALID [2020-07-10 20:23:01,363 INFO L280 TraceCheckUtils]: 18: Hoare triple {20521#true} havoc #t~post2; {20521#true} is VALID [2020-07-10 20:23:01,364 INFO L280 TraceCheckUtils]: 19: Hoare triple {20521#true} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {20521#true} is VALID [2020-07-10 20:23:01,364 INFO L280 TraceCheckUtils]: 20: Hoare triple {20521#true} #t~switch4 := 0 == #t~mem3; {20521#true} is VALID [2020-07-10 20:23:01,364 INFO L280 TraceCheckUtils]: 21: Hoare triple {20521#true} assume #t~switch4; {20521#true} is VALID [2020-07-10 20:23:01,364 INFO L280 TraceCheckUtils]: 22: Hoare triple {20521#true} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {20521#true} is VALID [2020-07-10 20:23:01,364 INFO L280 TraceCheckUtils]: 23: Hoare triple {20521#true} #t~short7 := 32 == #t~mem5; {20521#true} is VALID [2020-07-10 20:23:01,365 INFO L280 TraceCheckUtils]: 24: Hoare triple {20521#true} assume #t~short7; {20521#true} is VALID [2020-07-10 20:23:01,365 INFO L280 TraceCheckUtils]: 25: Hoare triple {20521#true} assume !!#t~short7; {20521#true} is VALID [2020-07-10 20:23:01,365 INFO L280 TraceCheckUtils]: 26: Hoare triple {20521#true} havoc #t~mem6; {20521#true} is VALID [2020-07-10 20:23:01,365 INFO L280 TraceCheckUtils]: 27: Hoare triple {20521#true} havoc #t~short7; {20521#true} is VALID [2020-07-10 20:23:01,365 INFO L280 TraceCheckUtils]: 28: Hoare triple {20521#true} havoc #t~mem5; {20521#true} is VALID [2020-07-10 20:23:01,366 INFO L280 TraceCheckUtils]: 29: Hoare triple {20521#true} #t~post8 := ~start~0; {20521#true} is VALID [2020-07-10 20:23:01,366 INFO L280 TraceCheckUtils]: 30: Hoare triple {20521#true} ~start~0 := 1 + #t~post8; {20521#true} is VALID [2020-07-10 20:23:01,366 INFO L280 TraceCheckUtils]: 31: Hoare triple {20521#true} havoc #t~post8; {20521#true} is VALID [2020-07-10 20:23:01,366 INFO L280 TraceCheckUtils]: 32: Hoare triple {20521#true} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {20521#true} is VALID [2020-07-10 20:23:01,366 INFO L280 TraceCheckUtils]: 33: Hoare triple {20521#true} #t~short7 := 32 == #t~mem5; {20521#true} is VALID [2020-07-10 20:23:01,367 INFO L280 TraceCheckUtils]: 34: Hoare triple {20521#true} assume !#t~short7; {20521#true} is VALID [2020-07-10 20:23:01,367 INFO L280 TraceCheckUtils]: 35: Hoare triple {20521#true} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {20521#true} is VALID [2020-07-10 20:23:01,367 INFO L280 TraceCheckUtils]: 36: Hoare triple {20521#true} #t~short7 := 9 == #t~mem6; {20521#true} is VALID [2020-07-10 20:23:01,367 INFO L280 TraceCheckUtils]: 37: Hoare triple {20521#true} assume !#t~short7; {20521#true} is VALID [2020-07-10 20:23:01,367 INFO L280 TraceCheckUtils]: 38: Hoare triple {20521#true} havoc #t~mem6; {20521#true} is VALID [2020-07-10 20:23:01,368 INFO L280 TraceCheckUtils]: 39: Hoare triple {20521#true} havoc #t~short7; {20521#true} is VALID [2020-07-10 20:23:01,368 INFO L280 TraceCheckUtils]: 40: Hoare triple {20521#true} havoc #t~mem5; {20521#true} is VALID [2020-07-10 20:23:01,368 INFO L280 TraceCheckUtils]: 41: Hoare triple {20521#true} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {20521#true} is VALID [2020-07-10 20:23:01,368 INFO L280 TraceCheckUtils]: 42: Hoare triple {20521#true} assume !(34 == #t~mem9); {20521#true} is VALID [2020-07-10 20:23:01,368 INFO L280 TraceCheckUtils]: 43: Hoare triple {20521#true} havoc #t~mem9; {20521#true} is VALID [2020-07-10 20:23:01,368 INFO L280 TraceCheckUtils]: 44: Hoare triple {20521#true} ~j~0 := ~i~0 - 1; {20521#true} is VALID [2020-07-10 20:23:01,370 INFO L280 TraceCheckUtils]: 45: Hoare triple {20521#true} #t~short14 := 0 < ~j~0; {20528#(or (<= parse_expression_list_~j~0 0) |parse_expression_list_#t~short14|)} is VALID [2020-07-10 20:23:01,370 INFO L280 TraceCheckUtils]: 46: Hoare triple {20528#(or (<= parse_expression_list_~j~0 0) |parse_expression_list_#t~short14|)} assume !#t~short14; {20529#(<= parse_expression_list_~j~0 0)} is VALID [2020-07-10 20:23:01,371 INFO L280 TraceCheckUtils]: 47: Hoare triple {20529#(<= parse_expression_list_~j~0 0)} assume !#t~short14; {20529#(<= parse_expression_list_~j~0 0)} is VALID [2020-07-10 20:23:01,372 INFO L280 TraceCheckUtils]: 48: Hoare triple {20529#(<= parse_expression_list_~j~0 0)} havoc #t~mem11; {20529#(<= parse_expression_list_~j~0 0)} is VALID [2020-07-10 20:23:01,373 INFO L280 TraceCheckUtils]: 49: Hoare triple {20529#(<= parse_expression_list_~j~0 0)} havoc #t~short14; {20529#(<= parse_expression_list_~j~0 0)} is VALID [2020-07-10 20:23:01,374 INFO L280 TraceCheckUtils]: 50: Hoare triple {20529#(<= parse_expression_list_~j~0 0)} havoc #t~short13; {20529#(<= parse_expression_list_~j~0 0)} is VALID [2020-07-10 20:23:01,375 INFO L280 TraceCheckUtils]: 51: Hoare triple {20529#(<= parse_expression_list_~j~0 0)} havoc #t~mem12; {20529#(<= parse_expression_list_~j~0 0)} is VALID [2020-07-10 20:23:01,375 INFO L280 TraceCheckUtils]: 52: Hoare triple {20529#(<= parse_expression_list_~j~0 0)} #t~short17 := 0 < ~j~0; {20530#(not |parse_expression_list_#t~short17|)} is VALID [2020-07-10 20:23:01,376 INFO L280 TraceCheckUtils]: 53: Hoare triple {20530#(not |parse_expression_list_#t~short17|)} assume #t~short17; {20522#false} is VALID [2020-07-10 20:23:01,376 INFO L280 TraceCheckUtils]: 54: Hoare triple {20522#false} SUMMARY for call #t~mem16 := read~int(~str.base, ~str.offset + ~j~0, 1); srcloc: L59-1 {20522#false} is VALID [2020-07-10 20:23:01,376 INFO L280 TraceCheckUtils]: 55: Hoare triple {20522#false} #t~short17 := 34 == #t~mem16; {20522#false} is VALID [2020-07-10 20:23:01,377 INFO L280 TraceCheckUtils]: 56: Hoare triple {20522#false} assume #t~short17; {20522#false} is VALID [2020-07-10 20:23:01,377 INFO L280 TraceCheckUtils]: 57: Hoare triple {20522#false} havoc #t~short17; {20522#false} is VALID [2020-07-10 20:23:01,377 INFO L280 TraceCheckUtils]: 58: Hoare triple {20522#false} havoc #t~mem16; {20522#false} is VALID [2020-07-10 20:23:01,377 INFO L280 TraceCheckUtils]: 59: Hoare triple {20522#false} #t~post18 := ~j~0; {20522#false} is VALID [2020-07-10 20:23:01,377 INFO L280 TraceCheckUtils]: 60: Hoare triple {20522#false} ~j~0 := #t~post18 - 1; {20522#false} is VALID [2020-07-10 20:23:01,378 INFO L280 TraceCheckUtils]: 61: Hoare triple {20522#false} havoc #t~post18; {20522#false} is VALID [2020-07-10 20:23:01,378 INFO L280 TraceCheckUtils]: 62: Hoare triple {20522#false} assume ~start~0 <= ~j~0; {20522#false} is VALID [2020-07-10 20:23:01,378 INFO L263 TraceCheckUtils]: 63: Hoare triple {20522#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)); {20521#true} is VALID [2020-07-10 20:23:01,378 INFO L280 TraceCheckUtils]: 64: Hoare triple {20521#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {20521#true} is VALID [2020-07-10 20:23:01,378 INFO L280 TraceCheckUtils]: 65: Hoare triple {20521#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {20521#true} is VALID [2020-07-10 20:23:01,378 INFO L280 TraceCheckUtils]: 66: Hoare triple {20521#true} ~n := #in~n; {20521#true} is VALID [2020-07-10 20:23:01,379 INFO L280 TraceCheckUtils]: 67: Hoare triple {20521#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {20521#true} is VALID [2020-07-10 20:23:01,379 INFO L280 TraceCheckUtils]: 68: Hoare triple {20521#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {20521#true} is VALID [2020-07-10 20:23:01,379 INFO L280 TraceCheckUtils]: 69: Hoare triple {20521#true} havoc #t~ret0.base, #t~ret0.offset; {20521#true} is VALID [2020-07-10 20:23:01,379 INFO L280 TraceCheckUtils]: 70: Hoare triple {20521#true} assume true; {20521#true} is VALID [2020-07-10 20:23:01,379 INFO L275 TraceCheckUtils]: 71: Hoare quadruple {20521#true} {20522#false} #201#return; {20522#false} is VALID [2020-07-10 20:23:01,380 INFO L280 TraceCheckUtils]: 72: Hoare triple {20522#false} havoc #t~ret19.base, #t~ret19.offset; {20522#false} is VALID [2020-07-10 20:23:01,380 INFO L263 TraceCheckUtils]: 73: Hoare triple {20522#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {20522#false} is VALID [2020-07-10 20:23:01,380 INFO L280 TraceCheckUtils]: 74: Hoare triple {20522#false} ~cond := #in~cond; {20522#false} is VALID [2020-07-10 20:23:01,380 INFO L280 TraceCheckUtils]: 75: Hoare triple {20522#false} assume 0 == ~cond; {20522#false} is VALID [2020-07-10 20:23:01,380 INFO L280 TraceCheckUtils]: 76: Hoare triple {20522#false} assume !false; {20522#false} is VALID [2020-07-10 20:23:01,384 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-10 20:23:01,385 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:23:01,385 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [527091862] [2020-07-10 20:23:01,385 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:23:01,385 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-10 20:23:01,385 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1789232021] [2020-07-10 20:23:01,386 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 77 [2020-07-10 20:23:01,386 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:23:01,386 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-10 20:23:01,457 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-10 20:23:01,457 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-10 20:23:01,457 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:23:01,458 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-10 20:23:01,458 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2020-07-10 20:23:01,458 INFO L87 Difference]: Start difference. First operand 260 states and 291 transitions. Second operand 6 states. [2020-07-10 20:23:02,506 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:02,506 INFO L93 Difference]: Finished difference Result 411 states and 459 transitions. [2020-07-10 20:23:02,506 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-10 20:23:02,506 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 77 [2020-07-10 20:23:02,507 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:23:02,507 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 20:23:02,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 264 transitions. [2020-07-10 20:23:02,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 20:23:02,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 264 transitions. [2020-07-10 20:23:02,510 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 264 transitions. [2020-07-10 20:23:02,781 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-10 20:23:02,788 INFO L225 Difference]: With dead ends: 411 [2020-07-10 20:23:02,788 INFO L226 Difference]: Without dead ends: 297 [2020-07-10 20:23:02,789 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-10 20:23:02,789 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 297 states. [2020-07-10 20:23:03,246 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 297 to 253. [2020-07-10 20:23:03,247 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:23:03,247 INFO L82 GeneralOperation]: Start isEquivalent. First operand 297 states. Second operand 253 states. [2020-07-10 20:23:03,247 INFO L74 IsIncluded]: Start isIncluded. First operand 297 states. Second operand 253 states. [2020-07-10 20:23:03,247 INFO L87 Difference]: Start difference. First operand 297 states. Second operand 253 states. [2020-07-10 20:23:03,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:03,254 INFO L93 Difference]: Finished difference Result 297 states and 331 transitions. [2020-07-10 20:23:03,254 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 331 transitions. [2020-07-10 20:23:03,255 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:23:03,255 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:23:03,255 INFO L74 IsIncluded]: Start isIncluded. First operand 253 states. Second operand 297 states. [2020-07-10 20:23:03,255 INFO L87 Difference]: Start difference. First operand 253 states. Second operand 297 states. [2020-07-10 20:23:03,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:03,262 INFO L93 Difference]: Finished difference Result 297 states and 331 transitions. [2020-07-10 20:23:03,263 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 331 transitions. [2020-07-10 20:23:03,263 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:23:03,263 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:23:03,264 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:23:03,264 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:23:03,264 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 253 states. [2020-07-10 20:23:03,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 253 states to 253 states and 281 transitions. [2020-07-10 20:23:03,269 INFO L78 Accepts]: Start accepts. Automaton has 253 states and 281 transitions. Word has length 77 [2020-07-10 20:23:03,269 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:23:03,269 INFO L479 AbstractCegarLoop]: Abstraction has 253 states and 281 transitions. [2020-07-10 20:23:03,270 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-10 20:23:03,270 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 253 states and 281 transitions. [2020-07-10 20:23:03,639 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-10 20:23:03,639 INFO L276 IsEmpty]: Start isEmpty. Operand 253 states and 281 transitions. [2020-07-10 20:23:03,640 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2020-07-10 20:23:03,641 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:23:03,641 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-10 20:23:03,641 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2020-07-10 20:23:03,642 INFO L427 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:23:03,642 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:23:03,642 INFO L82 PathProgramCache]: Analyzing trace with hash 2031617893, now seen corresponding path program 1 times [2020-07-10 20:23:03,642 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:23:03,643 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1813629895] [2020-07-10 20:23:03,643 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:23:03,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:23:03,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:23:03,737 INFO L280 TraceCheckUtils]: 0: Hoare triple {22488#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {22468#true} is VALID [2020-07-10 20:23:03,738 INFO L280 TraceCheckUtils]: 1: Hoare triple {22468#true} #valid := #valid[0 := 0]; {22468#true} is VALID [2020-07-10 20:23:03,738 INFO L280 TraceCheckUtils]: 2: Hoare triple {22468#true} assume 0 < #StackHeapBarrier; {22468#true} is VALID [2020-07-10 20:23:03,738 INFO L280 TraceCheckUtils]: 3: Hoare triple {22468#true} assume true; {22468#true} is VALID [2020-07-10 20:23:03,739 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {22468#true} {22468#true} #205#return; {22468#true} is VALID [2020-07-10 20:23:03,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:23:03,743 INFO L280 TraceCheckUtils]: 0: Hoare triple {22468#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {22468#true} is VALID [2020-07-10 20:23:03,743 INFO L280 TraceCheckUtils]: 1: Hoare triple {22468#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {22468#true} is VALID [2020-07-10 20:23:03,743 INFO L280 TraceCheckUtils]: 2: Hoare triple {22468#true} ~n := #in~n; {22468#true} is VALID [2020-07-10 20:23:03,744 INFO L280 TraceCheckUtils]: 3: Hoare triple {22468#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {22468#true} is VALID [2020-07-10 20:23:03,744 INFO L280 TraceCheckUtils]: 4: Hoare triple {22468#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {22468#true} is VALID [2020-07-10 20:23:03,744 INFO L280 TraceCheckUtils]: 5: Hoare triple {22468#true} havoc #t~ret0.base, #t~ret0.offset; {22468#true} is VALID [2020-07-10 20:23:03,744 INFO L280 TraceCheckUtils]: 6: Hoare triple {22468#true} assume true; {22468#true} is VALID [2020-07-10 20:23:03,744 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {22468#true} {22469#false} #201#return; {22469#false} is VALID [2020-07-10 20:23:03,745 INFO L263 TraceCheckUtils]: 0: Hoare triple {22468#true} call ULTIMATE.init(); {22488#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:23:03,745 INFO L280 TraceCheckUtils]: 1: Hoare triple {22488#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {22468#true} is VALID [2020-07-10 20:23:03,746 INFO L280 TraceCheckUtils]: 2: Hoare triple {22468#true} #valid := #valid[0 := 0]; {22468#true} is VALID [2020-07-10 20:23:03,746 INFO L280 TraceCheckUtils]: 3: Hoare triple {22468#true} assume 0 < #StackHeapBarrier; {22468#true} is VALID [2020-07-10 20:23:03,746 INFO L280 TraceCheckUtils]: 4: Hoare triple {22468#true} assume true; {22468#true} is VALID [2020-07-10 20:23:03,746 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {22468#true} {22468#true} #205#return; {22468#true} is VALID [2020-07-10 20:23:03,746 INFO L263 TraceCheckUtils]: 6: Hoare triple {22468#true} call #t~ret21 := main(); {22468#true} is VALID [2020-07-10 20:23:03,747 INFO L280 TraceCheckUtils]: 7: Hoare triple {22468#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {22468#true} is VALID [2020-07-10 20:23:03,747 INFO L280 TraceCheckUtils]: 8: Hoare triple {22468#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {22468#true} is VALID [2020-07-10 20:23:03,747 INFO L263 TraceCheckUtils]: 9: Hoare triple {22468#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {22468#true} is VALID [2020-07-10 20:23:03,747 INFO L280 TraceCheckUtils]: 10: Hoare triple {22468#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {22468#true} is VALID [2020-07-10 20:23:03,747 INFO L280 TraceCheckUtils]: 11: Hoare triple {22468#true} ~start~0 := 0; {22468#true} is VALID [2020-07-10 20:23:03,748 INFO L280 TraceCheckUtils]: 12: Hoare triple {22468#true} ~i~0 := -1; {22475#(<= (+ parse_expression_list_~i~0 1) 0)} is VALID [2020-07-10 20:23:03,749 INFO L280 TraceCheckUtils]: 13: Hoare triple {22475#(<= (+ parse_expression_list_~i~0 1) 0)} ~j~0 := -1; {22475#(<= (+ parse_expression_list_~i~0 1) 0)} is VALID [2020-07-10 20:23:03,749 INFO L280 TraceCheckUtils]: 14: Hoare triple {22475#(<= (+ parse_expression_list_~i~0 1) 0)} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {22475#(<= (+ parse_expression_list_~i~0 1) 0)} is VALID [2020-07-10 20:23:03,750 INFO L280 TraceCheckUtils]: 15: Hoare triple {22475#(<= (+ parse_expression_list_~i~0 1) 0)} assume !(~str.base == 0 && ~str.offset == 0); {22475#(<= (+ parse_expression_list_~i~0 1) 0)} is VALID [2020-07-10 20:23:03,750 INFO L280 TraceCheckUtils]: 16: Hoare triple {22475#(<= (+ parse_expression_list_~i~0 1) 0)} #t~post2 := ~i~0; {22476#(<= (+ |parse_expression_list_#t~post2| 1) 0)} is VALID [2020-07-10 20:23:03,751 INFO L280 TraceCheckUtils]: 17: Hoare triple {22476#(<= (+ |parse_expression_list_#t~post2| 1) 0)} ~i~0 := 1 + #t~post2; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,752 INFO L280 TraceCheckUtils]: 18: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} havoc #t~post2; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,753 INFO L280 TraceCheckUtils]: 19: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,753 INFO L280 TraceCheckUtils]: 20: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} #t~switch4 := 0 == #t~mem3; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,754 INFO L280 TraceCheckUtils]: 21: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} assume #t~switch4; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,755 INFO L280 TraceCheckUtils]: 22: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,756 INFO L280 TraceCheckUtils]: 23: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} #t~short7 := 32 == #t~mem5; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,756 INFO L280 TraceCheckUtils]: 24: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} assume #t~short7; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,757 INFO L280 TraceCheckUtils]: 25: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} assume !!#t~short7; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,758 INFO L280 TraceCheckUtils]: 26: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} havoc #t~mem6; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,758 INFO L280 TraceCheckUtils]: 27: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} havoc #t~short7; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,759 INFO L280 TraceCheckUtils]: 28: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} havoc #t~mem5; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,759 INFO L280 TraceCheckUtils]: 29: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} #t~post8 := ~start~0; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,760 INFO L280 TraceCheckUtils]: 30: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} ~start~0 := 1 + #t~post8; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,760 INFO L280 TraceCheckUtils]: 31: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} havoc #t~post8; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,761 INFO L280 TraceCheckUtils]: 32: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,762 INFO L280 TraceCheckUtils]: 33: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} #t~short7 := 32 == #t~mem5; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,762 INFO L280 TraceCheckUtils]: 34: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} assume !#t~short7; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,763 INFO L280 TraceCheckUtils]: 35: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,764 INFO L280 TraceCheckUtils]: 36: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} #t~short7 := 9 == #t~mem6; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,764 INFO L280 TraceCheckUtils]: 37: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} assume !#t~short7; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,765 INFO L280 TraceCheckUtils]: 38: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} havoc #t~mem6; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,766 INFO L280 TraceCheckUtils]: 39: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} havoc #t~short7; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,766 INFO L280 TraceCheckUtils]: 40: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} havoc #t~mem5; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,767 INFO L280 TraceCheckUtils]: 41: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,768 INFO L280 TraceCheckUtils]: 42: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} assume !(34 == #t~mem9); {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,768 INFO L280 TraceCheckUtils]: 43: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} havoc #t~mem9; {22477#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:03,770 INFO L280 TraceCheckUtils]: 44: Hoare triple {22477#(<= parse_expression_list_~i~0 0)} ~j~0 := ~i~0 - 1; {22478#(<= (+ parse_expression_list_~j~0 1) 0)} is VALID [2020-07-10 20:23:03,770 INFO L280 TraceCheckUtils]: 45: Hoare triple {22478#(<= (+ parse_expression_list_~j~0 1) 0)} #t~short14 := 0 < ~j~0; {22479#(not |parse_expression_list_#t~short14|)} is VALID [2020-07-10 20:23:03,771 INFO L280 TraceCheckUtils]: 46: Hoare triple {22479#(not |parse_expression_list_#t~short14|)} assume #t~short14; {22469#false} is VALID [2020-07-10 20:23:03,771 INFO L280 TraceCheckUtils]: 47: Hoare triple {22469#false} SUMMARY for call #t~mem11 := read~int(~str.base, ~str.offset + ~j~0, 1); srcloc: L58-2 {22469#false} is VALID [2020-07-10 20:23:03,771 INFO L280 TraceCheckUtils]: 48: Hoare triple {22469#false} #t~short13 := 32 == #t~mem11; {22469#false} is VALID [2020-07-10 20:23:03,772 INFO L280 TraceCheckUtils]: 49: Hoare triple {22469#false} assume !#t~short13; {22469#false} is VALID [2020-07-10 20:23:03,772 INFO L280 TraceCheckUtils]: 50: Hoare triple {22469#false} SUMMARY for call #t~mem12 := read~int(~str.base, ~str.offset + ~j~0, 1); srcloc: L58-6 {22469#false} is VALID [2020-07-10 20:23:03,772 INFO L280 TraceCheckUtils]: 51: Hoare triple {22469#false} #t~short13 := 9 == #t~mem12; {22469#false} is VALID [2020-07-10 20:23:03,772 INFO L280 TraceCheckUtils]: 52: Hoare triple {22469#false} #t~short14 := #t~short13; {22469#false} is VALID [2020-07-10 20:23:03,772 INFO L280 TraceCheckUtils]: 53: Hoare triple {22469#false} assume !#t~short14; {22469#false} is VALID [2020-07-10 20:23:03,773 INFO L280 TraceCheckUtils]: 54: Hoare triple {22469#false} havoc #t~mem11; {22469#false} is VALID [2020-07-10 20:23:03,773 INFO L280 TraceCheckUtils]: 55: Hoare triple {22469#false} havoc #t~short14; {22469#false} is VALID [2020-07-10 20:23:03,773 INFO L280 TraceCheckUtils]: 56: Hoare triple {22469#false} havoc #t~short13; {22469#false} is VALID [2020-07-10 20:23:03,773 INFO L280 TraceCheckUtils]: 57: Hoare triple {22469#false} havoc #t~mem12; {22469#false} is VALID [2020-07-10 20:23:03,773 INFO L280 TraceCheckUtils]: 58: Hoare triple {22469#false} #t~short17 := 0 < ~j~0; {22469#false} is VALID [2020-07-10 20:23:03,774 INFO L280 TraceCheckUtils]: 59: Hoare triple {22469#false} assume !#t~short17; {22469#false} is VALID [2020-07-10 20:23:03,774 INFO L280 TraceCheckUtils]: 60: Hoare triple {22469#false} assume !#t~short17; {22469#false} is VALID [2020-07-10 20:23:03,774 INFO L280 TraceCheckUtils]: 61: Hoare triple {22469#false} havoc #t~short17; {22469#false} is VALID [2020-07-10 20:23:03,774 INFO L280 TraceCheckUtils]: 62: Hoare triple {22469#false} havoc #t~mem16; {22469#false} is VALID [2020-07-10 20:23:03,774 INFO L280 TraceCheckUtils]: 63: Hoare triple {22469#false} assume ~start~0 <= ~j~0; {22469#false} is VALID [2020-07-10 20:23:03,775 INFO L263 TraceCheckUtils]: 64: Hoare triple {22469#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)); {22468#true} is VALID [2020-07-10 20:23:03,775 INFO L280 TraceCheckUtils]: 65: Hoare triple {22468#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {22468#true} is VALID [2020-07-10 20:23:03,775 INFO L280 TraceCheckUtils]: 66: Hoare triple {22468#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {22468#true} is VALID [2020-07-10 20:23:03,775 INFO L280 TraceCheckUtils]: 67: Hoare triple {22468#true} ~n := #in~n; {22468#true} is VALID [2020-07-10 20:23:03,775 INFO L280 TraceCheckUtils]: 68: Hoare triple {22468#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {22468#true} is VALID [2020-07-10 20:23:03,776 INFO L280 TraceCheckUtils]: 69: Hoare triple {22468#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {22468#true} is VALID [2020-07-10 20:23:03,776 INFO L280 TraceCheckUtils]: 70: Hoare triple {22468#true} havoc #t~ret0.base, #t~ret0.offset; {22468#true} is VALID [2020-07-10 20:23:03,776 INFO L280 TraceCheckUtils]: 71: Hoare triple {22468#true} assume true; {22468#true} is VALID [2020-07-10 20:23:03,776 INFO L275 TraceCheckUtils]: 72: Hoare quadruple {22468#true} {22469#false} #201#return; {22469#false} is VALID [2020-07-10 20:23:03,777 INFO L280 TraceCheckUtils]: 73: Hoare triple {22469#false} havoc #t~ret19.base, #t~ret19.offset; {22469#false} is VALID [2020-07-10 20:23:03,777 INFO L263 TraceCheckUtils]: 74: Hoare triple {22469#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {22469#false} is VALID [2020-07-10 20:23:03,777 INFO L280 TraceCheckUtils]: 75: Hoare triple {22469#false} ~cond := #in~cond; {22469#false} is VALID [2020-07-10 20:23:03,777 INFO L280 TraceCheckUtils]: 76: Hoare triple {22469#false} assume 0 == ~cond; {22469#false} is VALID [2020-07-10 20:23:03,778 INFO L280 TraceCheckUtils]: 77: Hoare triple {22469#false} assume !false; {22469#false} is VALID [2020-07-10 20:23:03,785 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-10 20:23:03,785 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:23:03,786 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1813629895] [2020-07-10 20:23:03,786 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:23:03,787 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2020-07-10 20:23:03,787 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1153218709] [2020-07-10 20:23:03,787 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 78 [2020-07-10 20:23:03,788 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:23:03,788 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-10 20:23:03,870 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-10 20:23:03,870 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-10 20:23:03,870 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:23:03,871 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-10 20:23:03,871 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2020-07-10 20:23:03,871 INFO L87 Difference]: Start difference. First operand 253 states and 281 transitions. Second operand 8 states. [2020-07-10 20:23:05,560 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:05,561 INFO L93 Difference]: Finished difference Result 521 states and 577 transitions. [2020-07-10 20:23:05,561 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-10 20:23:05,561 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 78 [2020-07-10 20:23:05,561 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:23:05,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 20:23:05,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 306 transitions. [2020-07-10 20:23:05,564 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 20:23:05,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 306 transitions. [2020-07-10 20:23:05,566 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 306 transitions. [2020-07-10 20:23:05,894 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-10 20:23:05,901 INFO L225 Difference]: With dead ends: 521 [2020-07-10 20:23:05,902 INFO L226 Difference]: Without dead ends: 331 [2020-07-10 20:23:05,902 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-10 20:23:05,903 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 331 states. [2020-07-10 20:23:06,303 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 331 to 264. [2020-07-10 20:23:06,303 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:23:06,303 INFO L82 GeneralOperation]: Start isEquivalent. First operand 331 states. Second operand 264 states. [2020-07-10 20:23:06,304 INFO L74 IsIncluded]: Start isIncluded. First operand 331 states. Second operand 264 states. [2020-07-10 20:23:06,304 INFO L87 Difference]: Start difference. First operand 331 states. Second operand 264 states. [2020-07-10 20:23:06,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:06,313 INFO L93 Difference]: Finished difference Result 331 states and 365 transitions. [2020-07-10 20:23:06,313 INFO L276 IsEmpty]: Start isEmpty. Operand 331 states and 365 transitions. [2020-07-10 20:23:06,313 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:23:06,314 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:23:06,314 INFO L74 IsIncluded]: Start isIncluded. First operand 264 states. Second operand 331 states. [2020-07-10 20:23:06,314 INFO L87 Difference]: Start difference. First operand 264 states. Second operand 331 states. [2020-07-10 20:23:06,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:06,322 INFO L93 Difference]: Finished difference Result 331 states and 365 transitions. [2020-07-10 20:23:06,322 INFO L276 IsEmpty]: Start isEmpty. Operand 331 states and 365 transitions. [2020-07-10 20:23:06,323 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:23:06,323 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:23:06,323 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:23:06,323 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:23:06,323 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 264 states. [2020-07-10 20:23:06,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 264 states to 264 states and 292 transitions. [2020-07-10 20:23:06,329 INFO L78 Accepts]: Start accepts. Automaton has 264 states and 292 transitions. Word has length 78 [2020-07-10 20:23:06,329 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:23:06,329 INFO L479 AbstractCegarLoop]: Abstraction has 264 states and 292 transitions. [2020-07-10 20:23:06,329 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-10 20:23:06,330 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 264 states and 292 transitions. [2020-07-10 20:23:06,752 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-10 20:23:06,752 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 292 transitions. [2020-07-10 20:23:06,753 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2020-07-10 20:23:06,754 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:23:06,754 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-10 20:23:06,754 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14 [2020-07-10 20:23:06,754 INFO L427 AbstractCegarLoop]: === Iteration 16 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:23:06,754 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:23:06,754 INFO L82 PathProgramCache]: Analyzing trace with hash -1446971750, now seen corresponding path program 1 times [2020-07-10 20:23:06,755 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:23:06,755 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1625500520] [2020-07-10 20:23:06,755 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:23:06,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:23:06,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:23:06,871 INFO L280 TraceCheckUtils]: 0: Hoare triple {24759#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {24737#true} is VALID [2020-07-10 20:23:06,872 INFO L280 TraceCheckUtils]: 1: Hoare triple {24737#true} #valid := #valid[0 := 0]; {24737#true} is VALID [2020-07-10 20:23:06,872 INFO L280 TraceCheckUtils]: 2: Hoare triple {24737#true} assume 0 < #StackHeapBarrier; {24737#true} is VALID [2020-07-10 20:23:06,872 INFO L280 TraceCheckUtils]: 3: Hoare triple {24737#true} assume true; {24737#true} is VALID [2020-07-10 20:23:06,872 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {24737#true} {24737#true} #205#return; {24737#true} is VALID [2020-07-10 20:23:06,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:23:06,877 INFO L280 TraceCheckUtils]: 0: Hoare triple {24737#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {24737#true} is VALID [2020-07-10 20:23:06,878 INFO L280 TraceCheckUtils]: 1: Hoare triple {24737#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {24737#true} is VALID [2020-07-10 20:23:06,878 INFO L280 TraceCheckUtils]: 2: Hoare triple {24737#true} ~n := #in~n; {24737#true} is VALID [2020-07-10 20:23:06,878 INFO L280 TraceCheckUtils]: 3: Hoare triple {24737#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {24737#true} is VALID [2020-07-10 20:23:06,879 INFO L280 TraceCheckUtils]: 4: Hoare triple {24737#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {24737#true} is VALID [2020-07-10 20:23:06,879 INFO L280 TraceCheckUtils]: 5: Hoare triple {24737#true} havoc #t~ret0.base, #t~ret0.offset; {24737#true} is VALID [2020-07-10 20:23:06,879 INFO L280 TraceCheckUtils]: 6: Hoare triple {24737#true} assume true; {24737#true} is VALID [2020-07-10 20:23:06,879 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {24737#true} {24738#false} #201#return; {24738#false} is VALID [2020-07-10 20:23:06,880 INFO L263 TraceCheckUtils]: 0: Hoare triple {24737#true} call ULTIMATE.init(); {24759#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:23:06,881 INFO L280 TraceCheckUtils]: 1: Hoare triple {24759#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {24737#true} is VALID [2020-07-10 20:23:06,881 INFO L280 TraceCheckUtils]: 2: Hoare triple {24737#true} #valid := #valid[0 := 0]; {24737#true} is VALID [2020-07-10 20:23:06,881 INFO L280 TraceCheckUtils]: 3: Hoare triple {24737#true} assume 0 < #StackHeapBarrier; {24737#true} is VALID [2020-07-10 20:23:06,881 INFO L280 TraceCheckUtils]: 4: Hoare triple {24737#true} assume true; {24737#true} is VALID [2020-07-10 20:23:06,881 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {24737#true} {24737#true} #205#return; {24737#true} is VALID [2020-07-10 20:23:06,882 INFO L263 TraceCheckUtils]: 6: Hoare triple {24737#true} call #t~ret21 := main(); {24737#true} is VALID [2020-07-10 20:23:06,882 INFO L280 TraceCheckUtils]: 7: Hoare triple {24737#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {24737#true} is VALID [2020-07-10 20:23:06,882 INFO L280 TraceCheckUtils]: 8: Hoare triple {24737#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {24737#true} is VALID [2020-07-10 20:23:06,882 INFO L263 TraceCheckUtils]: 9: Hoare triple {24737#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {24737#true} is VALID [2020-07-10 20:23:06,883 INFO L280 TraceCheckUtils]: 10: Hoare triple {24737#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {24737#true} is VALID [2020-07-10 20:23:06,883 INFO L280 TraceCheckUtils]: 11: Hoare triple {24737#true} ~start~0 := 0; {24737#true} is VALID [2020-07-10 20:23:06,884 INFO L280 TraceCheckUtils]: 12: Hoare triple {24737#true} ~i~0 := -1; {24744#(<= (+ parse_expression_list_~i~0 1) 0)} is VALID [2020-07-10 20:23:06,884 INFO L280 TraceCheckUtils]: 13: Hoare triple {24744#(<= (+ parse_expression_list_~i~0 1) 0)} ~j~0 := -1; {24744#(<= (+ parse_expression_list_~i~0 1) 0)} is VALID [2020-07-10 20:23:06,885 INFO L280 TraceCheckUtils]: 14: Hoare triple {24744#(<= (+ parse_expression_list_~i~0 1) 0)} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {24744#(<= (+ parse_expression_list_~i~0 1) 0)} is VALID [2020-07-10 20:23:06,885 INFO L280 TraceCheckUtils]: 15: Hoare triple {24744#(<= (+ parse_expression_list_~i~0 1) 0)} assume !(~str.base == 0 && ~str.offset == 0); {24744#(<= (+ parse_expression_list_~i~0 1) 0)} is VALID [2020-07-10 20:23:06,886 INFO L280 TraceCheckUtils]: 16: Hoare triple {24744#(<= (+ parse_expression_list_~i~0 1) 0)} #t~post2 := ~i~0; {24745#(<= (+ |parse_expression_list_#t~post2| 1) 0)} is VALID [2020-07-10 20:23:06,887 INFO L280 TraceCheckUtils]: 17: Hoare triple {24745#(<= (+ |parse_expression_list_#t~post2| 1) 0)} ~i~0 := 1 + #t~post2; {24746#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:06,888 INFO L280 TraceCheckUtils]: 18: Hoare triple {24746#(<= parse_expression_list_~i~0 0)} havoc #t~post2; {24746#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:06,888 INFO L280 TraceCheckUtils]: 19: Hoare triple {24746#(<= parse_expression_list_~i~0 0)} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {24746#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:06,889 INFO L280 TraceCheckUtils]: 20: Hoare triple {24746#(<= parse_expression_list_~i~0 0)} #t~switch4 := 0 == #t~mem3; {24746#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:06,890 INFO L280 TraceCheckUtils]: 21: Hoare triple {24746#(<= parse_expression_list_~i~0 0)} assume !#t~switch4; {24746#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:06,890 INFO L280 TraceCheckUtils]: 22: Hoare triple {24746#(<= parse_expression_list_~i~0 0)} havoc #t~switch4; {24746#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:06,891 INFO L280 TraceCheckUtils]: 23: Hoare triple {24746#(<= parse_expression_list_~i~0 0)} havoc #t~mem3; {24746#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:06,891 INFO L280 TraceCheckUtils]: 24: Hoare triple {24746#(<= parse_expression_list_~i~0 0)} SUMMARY for call #t~mem1 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L51-1 {24746#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:06,892 INFO L280 TraceCheckUtils]: 25: Hoare triple {24746#(<= parse_expression_list_~i~0 0)} assume !!(0 != #t~mem1); {24746#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:06,892 INFO L280 TraceCheckUtils]: 26: Hoare triple {24746#(<= parse_expression_list_~i~0 0)} havoc #t~mem1; {24746#(<= parse_expression_list_~i~0 0)} is VALID [2020-07-10 20:23:06,893 INFO L280 TraceCheckUtils]: 27: Hoare triple {24746#(<= parse_expression_list_~i~0 0)} #t~post2 := ~i~0; {24747#(<= |parse_expression_list_#t~post2| 0)} is VALID [2020-07-10 20:23:06,894 INFO L280 TraceCheckUtils]: 28: Hoare triple {24747#(<= |parse_expression_list_#t~post2| 0)} ~i~0 := 1 + #t~post2; {24748#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-10 20:23:06,894 INFO L280 TraceCheckUtils]: 29: Hoare triple {24748#(<= parse_expression_list_~i~0 1)} havoc #t~post2; {24748#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-10 20:23:06,895 INFO L280 TraceCheckUtils]: 30: Hoare triple {24748#(<= parse_expression_list_~i~0 1)} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {24748#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-10 20:23:06,896 INFO L280 TraceCheckUtils]: 31: Hoare triple {24748#(<= parse_expression_list_~i~0 1)} #t~switch4 := 0 == #t~mem3; {24748#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-10 20:23:06,896 INFO L280 TraceCheckUtils]: 32: Hoare triple {24748#(<= parse_expression_list_~i~0 1)} assume #t~switch4; {24748#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-10 20:23:06,897 INFO L280 TraceCheckUtils]: 33: Hoare triple {24748#(<= parse_expression_list_~i~0 1)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {24748#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-10 20:23:06,897 INFO L280 TraceCheckUtils]: 34: Hoare triple {24748#(<= parse_expression_list_~i~0 1)} #t~short7 := 32 == #t~mem5; {24748#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-10 20:23:06,898 INFO L280 TraceCheckUtils]: 35: Hoare triple {24748#(<= parse_expression_list_~i~0 1)} assume !#t~short7; {24748#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-10 20:23:06,898 INFO L280 TraceCheckUtils]: 36: Hoare triple {24748#(<= parse_expression_list_~i~0 1)} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {24748#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-10 20:23:06,899 INFO L280 TraceCheckUtils]: 37: Hoare triple {24748#(<= parse_expression_list_~i~0 1)} #t~short7 := 9 == #t~mem6; {24748#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-10 20:23:06,899 INFO L280 TraceCheckUtils]: 38: Hoare triple {24748#(<= parse_expression_list_~i~0 1)} assume !#t~short7; {24748#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-10 20:23:06,900 INFO L280 TraceCheckUtils]: 39: Hoare triple {24748#(<= parse_expression_list_~i~0 1)} havoc #t~mem6; {24748#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-10 20:23:06,900 INFO L280 TraceCheckUtils]: 40: Hoare triple {24748#(<= parse_expression_list_~i~0 1)} havoc #t~short7; {24748#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-10 20:23:06,901 INFO L280 TraceCheckUtils]: 41: Hoare triple {24748#(<= parse_expression_list_~i~0 1)} havoc #t~mem5; {24748#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-10 20:23:06,901 INFO L280 TraceCheckUtils]: 42: Hoare triple {24748#(<= parse_expression_list_~i~0 1)} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {24748#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-10 20:23:06,902 INFO L280 TraceCheckUtils]: 43: Hoare triple {24748#(<= parse_expression_list_~i~0 1)} assume !(34 == #t~mem9); {24748#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-10 20:23:06,902 INFO L280 TraceCheckUtils]: 44: Hoare triple {24748#(<= parse_expression_list_~i~0 1)} havoc #t~mem9; {24748#(<= parse_expression_list_~i~0 1)} is VALID [2020-07-10 20:23:06,903 INFO L280 TraceCheckUtils]: 45: Hoare triple {24748#(<= parse_expression_list_~i~0 1)} ~j~0 := ~i~0 - 1; {24749#(<= parse_expression_list_~j~0 0)} is VALID [2020-07-10 20:23:06,904 INFO L280 TraceCheckUtils]: 46: Hoare triple {24749#(<= parse_expression_list_~j~0 0)} #t~short14 := 0 < ~j~0; {24750#(not |parse_expression_list_#t~short14|)} is VALID [2020-07-10 20:23:06,904 INFO L280 TraceCheckUtils]: 47: Hoare triple {24750#(not |parse_expression_list_#t~short14|)} assume #t~short14; {24738#false} is VALID [2020-07-10 20:23:06,905 INFO L280 TraceCheckUtils]: 48: Hoare triple {24738#false} SUMMARY for call #t~mem11 := read~int(~str.base, ~str.offset + ~j~0, 1); srcloc: L58-2 {24738#false} is VALID [2020-07-10 20:23:06,905 INFO L280 TraceCheckUtils]: 49: Hoare triple {24738#false} #t~short13 := 32 == #t~mem11; {24738#false} is VALID [2020-07-10 20:23:06,905 INFO L280 TraceCheckUtils]: 50: Hoare triple {24738#false} assume !#t~short13; {24738#false} is VALID [2020-07-10 20:23:06,905 INFO L280 TraceCheckUtils]: 51: Hoare triple {24738#false} SUMMARY for call #t~mem12 := read~int(~str.base, ~str.offset + ~j~0, 1); srcloc: L58-6 {24738#false} is VALID [2020-07-10 20:23:06,906 INFO L280 TraceCheckUtils]: 52: Hoare triple {24738#false} #t~short13 := 9 == #t~mem12; {24738#false} is VALID [2020-07-10 20:23:06,906 INFO L280 TraceCheckUtils]: 53: Hoare triple {24738#false} #t~short14 := #t~short13; {24738#false} is VALID [2020-07-10 20:23:06,906 INFO L280 TraceCheckUtils]: 54: Hoare triple {24738#false} assume !#t~short14; {24738#false} is VALID [2020-07-10 20:23:06,906 INFO L280 TraceCheckUtils]: 55: Hoare triple {24738#false} havoc #t~mem11; {24738#false} is VALID [2020-07-10 20:23:06,906 INFO L280 TraceCheckUtils]: 56: Hoare triple {24738#false} havoc #t~short14; {24738#false} is VALID [2020-07-10 20:23:06,907 INFO L280 TraceCheckUtils]: 57: Hoare triple {24738#false} havoc #t~short13; {24738#false} is VALID [2020-07-10 20:23:06,907 INFO L280 TraceCheckUtils]: 58: Hoare triple {24738#false} havoc #t~mem12; {24738#false} is VALID [2020-07-10 20:23:06,907 INFO L280 TraceCheckUtils]: 59: Hoare triple {24738#false} #t~short17 := 0 < ~j~0; {24738#false} is VALID [2020-07-10 20:23:06,907 INFO L280 TraceCheckUtils]: 60: Hoare triple {24738#false} assume !#t~short17; {24738#false} is VALID [2020-07-10 20:23:06,907 INFO L280 TraceCheckUtils]: 61: Hoare triple {24738#false} assume !#t~short17; {24738#false} is VALID [2020-07-10 20:23:06,908 INFO L280 TraceCheckUtils]: 62: Hoare triple {24738#false} havoc #t~short17; {24738#false} is VALID [2020-07-10 20:23:06,908 INFO L280 TraceCheckUtils]: 63: Hoare triple {24738#false} havoc #t~mem16; {24738#false} is VALID [2020-07-10 20:23:06,908 INFO L280 TraceCheckUtils]: 64: Hoare triple {24738#false} assume ~start~0 <= ~j~0; {24738#false} is VALID [2020-07-10 20:23:06,908 INFO L263 TraceCheckUtils]: 65: Hoare triple {24738#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)); {24737#true} is VALID [2020-07-10 20:23:06,908 INFO L280 TraceCheckUtils]: 66: Hoare triple {24737#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {24737#true} is VALID [2020-07-10 20:23:06,909 INFO L280 TraceCheckUtils]: 67: Hoare triple {24737#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {24737#true} is VALID [2020-07-10 20:23:06,909 INFO L280 TraceCheckUtils]: 68: Hoare triple {24737#true} ~n := #in~n; {24737#true} is VALID [2020-07-10 20:23:06,909 INFO L280 TraceCheckUtils]: 69: Hoare triple {24737#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {24737#true} is VALID [2020-07-10 20:23:06,909 INFO L280 TraceCheckUtils]: 70: Hoare triple {24737#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {24737#true} is VALID [2020-07-10 20:23:06,910 INFO L280 TraceCheckUtils]: 71: Hoare triple {24737#true} havoc #t~ret0.base, #t~ret0.offset; {24737#true} is VALID [2020-07-10 20:23:06,910 INFO L280 TraceCheckUtils]: 72: Hoare triple {24737#true} assume true; {24737#true} is VALID [2020-07-10 20:23:06,910 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {24737#true} {24738#false} #201#return; {24738#false} is VALID [2020-07-10 20:23:06,910 INFO L280 TraceCheckUtils]: 74: Hoare triple {24738#false} havoc #t~ret19.base, #t~ret19.offset; {24738#false} is VALID [2020-07-10 20:23:06,910 INFO L263 TraceCheckUtils]: 75: Hoare triple {24738#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {24738#false} is VALID [2020-07-10 20:23:06,910 INFO L280 TraceCheckUtils]: 76: Hoare triple {24738#false} ~cond := #in~cond; {24738#false} is VALID [2020-07-10 20:23:06,911 INFO L280 TraceCheckUtils]: 77: Hoare triple {24738#false} assume 0 == ~cond; {24738#false} is VALID [2020-07-10 20:23:06,911 INFO L280 TraceCheckUtils]: 78: Hoare triple {24738#false} assume !false; {24738#false} is VALID [2020-07-10 20:23:06,916 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-10 20:23:06,917 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:23:06,917 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1625500520] [2020-07-10 20:23:06,917 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:23:06,918 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2020-07-10 20:23:06,918 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1295065699] [2020-07-10 20:23:06,918 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 79 [2020-07-10 20:23:06,918 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:23:06,919 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-10 20:23:06,998 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-10 20:23:06,998 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-10 20:23:06,999 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:23:06,999 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-10 20:23:06,999 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2020-07-10 20:23:06,999 INFO L87 Difference]: Start difference. First operand 264 states and 292 transitions. Second operand 10 states. [2020-07-10 20:23:09,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:09,464 INFO L93 Difference]: Finished difference Result 599 states and 665 transitions. [2020-07-10 20:23:09,465 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2020-07-10 20:23:09,465 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 79 [2020-07-10 20:23:09,465 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:23:09,465 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-10 20:23:09,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 364 transitions. [2020-07-10 20:23:09,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-10 20:23:09,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 364 transitions. [2020-07-10 20:23:09,469 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 364 transitions. [2020-07-10 20:23:09,858 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-10 20:23:09,870 INFO L225 Difference]: With dead ends: 599 [2020-07-10 20:23:09,870 INFO L226 Difference]: Without dead ends: 435 [2020-07-10 20:23:09,871 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-10 20:23:09,872 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 435 states. [2020-07-10 20:23:10,479 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 435 to 355. [2020-07-10 20:23:10,479 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:23:10,479 INFO L82 GeneralOperation]: Start isEquivalent. First operand 435 states. Second operand 355 states. [2020-07-10 20:23:10,479 INFO L74 IsIncluded]: Start isIncluded. First operand 435 states. Second operand 355 states. [2020-07-10 20:23:10,479 INFO L87 Difference]: Start difference. First operand 435 states. Second operand 355 states. [2020-07-10 20:23:10,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:10,490 INFO L93 Difference]: Finished difference Result 435 states and 481 transitions. [2020-07-10 20:23:10,490 INFO L276 IsEmpty]: Start isEmpty. Operand 435 states and 481 transitions. [2020-07-10 20:23:10,491 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:23:10,491 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:23:10,491 INFO L74 IsIncluded]: Start isIncluded. First operand 355 states. Second operand 435 states. [2020-07-10 20:23:10,491 INFO L87 Difference]: Start difference. First operand 355 states. Second operand 435 states. [2020-07-10 20:23:10,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:10,504 INFO L93 Difference]: Finished difference Result 435 states and 481 transitions. [2020-07-10 20:23:10,504 INFO L276 IsEmpty]: Start isEmpty. Operand 435 states and 481 transitions. [2020-07-10 20:23:10,505 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:23:10,505 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:23:10,506 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:23:10,506 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:23:10,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 355 states. [2020-07-10 20:23:10,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 355 states to 355 states and 393 transitions. [2020-07-10 20:23:10,512 INFO L78 Accepts]: Start accepts. Automaton has 355 states and 393 transitions. Word has length 79 [2020-07-10 20:23:10,512 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:23:10,512 INFO L479 AbstractCegarLoop]: Abstraction has 355 states and 393 transitions. [2020-07-10 20:23:10,512 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-10 20:23:10,512 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 355 states and 393 transitions. [2020-07-10 20:23:11,069 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-10 20:23:11,069 INFO L276 IsEmpty]: Start isEmpty. Operand 355 states and 393 transitions. [2020-07-10 20:23:11,070 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2020-07-10 20:23:11,071 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:23:11,071 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-10 20:23:11,071 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15 [2020-07-10 20:23:11,072 INFO L427 AbstractCegarLoop]: === Iteration 17 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:23:11,072 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:23:11,072 INFO L82 PathProgramCache]: Analyzing trace with hash 1140392269, now seen corresponding path program 2 times [2020-07-10 20:23:11,072 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:23:11,073 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1702510771] [2020-07-10 20:23:11,073 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:23:11,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:23:11,238 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:23:11,240 INFO L280 TraceCheckUtils]: 0: Hoare triple {27586#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {27562#true} is VALID [2020-07-10 20:23:11,241 INFO L280 TraceCheckUtils]: 1: Hoare triple {27562#true} #valid := #valid[0 := 0]; {27562#true} is VALID [2020-07-10 20:23:11,241 INFO L280 TraceCheckUtils]: 2: Hoare triple {27562#true} assume 0 < #StackHeapBarrier; {27562#true} is VALID [2020-07-10 20:23:11,241 INFO L280 TraceCheckUtils]: 3: Hoare triple {27562#true} assume true; {27562#true} is VALID [2020-07-10 20:23:11,241 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {27562#true} {27562#true} #205#return; {27562#true} is VALID [2020-07-10 20:23:11,243 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:23:11,251 INFO L280 TraceCheckUtils]: 0: Hoare triple {27562#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {27562#true} is VALID [2020-07-10 20:23:11,251 INFO L280 TraceCheckUtils]: 1: Hoare triple {27562#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {27562#true} is VALID [2020-07-10 20:23:11,251 INFO L280 TraceCheckUtils]: 2: Hoare triple {27562#true} ~n := #in~n; {27562#true} is VALID [2020-07-10 20:23:11,252 INFO L280 TraceCheckUtils]: 3: Hoare triple {27562#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {27562#true} is VALID [2020-07-10 20:23:11,252 INFO L280 TraceCheckUtils]: 4: Hoare triple {27562#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {27562#true} is VALID [2020-07-10 20:23:11,252 INFO L280 TraceCheckUtils]: 5: Hoare triple {27562#true} havoc #t~ret0.base, #t~ret0.offset; {27562#true} is VALID [2020-07-10 20:23:11,252 INFO L280 TraceCheckUtils]: 6: Hoare triple {27562#true} assume true; {27562#true} is VALID [2020-07-10 20:23:11,253 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {27562#true} {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #201#return; {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,254 INFO L263 TraceCheckUtils]: 0: Hoare triple {27562#true} call ULTIMATE.init(); {27586#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:23:11,254 INFO L280 TraceCheckUtils]: 1: Hoare triple {27586#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {27562#true} is VALID [2020-07-10 20:23:11,254 INFO L280 TraceCheckUtils]: 2: Hoare triple {27562#true} #valid := #valid[0 := 0]; {27562#true} is VALID [2020-07-10 20:23:11,255 INFO L280 TraceCheckUtils]: 3: Hoare triple {27562#true} assume 0 < #StackHeapBarrier; {27562#true} is VALID [2020-07-10 20:23:11,255 INFO L280 TraceCheckUtils]: 4: Hoare triple {27562#true} assume true; {27562#true} is VALID [2020-07-10 20:23:11,255 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {27562#true} {27562#true} #205#return; {27562#true} is VALID [2020-07-10 20:23:11,255 INFO L263 TraceCheckUtils]: 6: Hoare triple {27562#true} call #t~ret21 := main(); {27562#true} is VALID [2020-07-10 20:23:11,255 INFO L280 TraceCheckUtils]: 7: Hoare triple {27562#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {27562#true} is VALID [2020-07-10 20:23:11,255 INFO L280 TraceCheckUtils]: 8: Hoare triple {27562#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {27562#true} is VALID [2020-07-10 20:23:11,255 INFO L263 TraceCheckUtils]: 9: Hoare triple {27562#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {27562#true} is VALID [2020-07-10 20:23:11,256 INFO L280 TraceCheckUtils]: 10: Hoare triple {27562#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {27562#true} is VALID [2020-07-10 20:23:11,256 INFO L280 TraceCheckUtils]: 11: Hoare triple {27562#true} ~start~0 := 0; {27569#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,256 INFO L280 TraceCheckUtils]: 12: Hoare triple {27569#(= 0 parse_expression_list_~start~0)} ~i~0 := -1; {27569#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,257 INFO L280 TraceCheckUtils]: 13: Hoare triple {27569#(= 0 parse_expression_list_~start~0)} ~j~0 := -1; {27569#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,257 INFO L280 TraceCheckUtils]: 14: Hoare triple {27569#(= 0 parse_expression_list_~start~0)} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {27569#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,259 INFO L280 TraceCheckUtils]: 15: Hoare triple {27569#(= 0 parse_expression_list_~start~0)} assume !(~str.base == 0 && ~str.offset == 0); {27569#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,259 INFO L280 TraceCheckUtils]: 16: Hoare triple {27569#(= 0 parse_expression_list_~start~0)} #t~post2 := ~i~0; {27569#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,260 INFO L280 TraceCheckUtils]: 17: Hoare triple {27569#(= 0 parse_expression_list_~start~0)} ~i~0 := 1 + #t~post2; {27569#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,260 INFO L280 TraceCheckUtils]: 18: Hoare triple {27569#(= 0 parse_expression_list_~start~0)} havoc #t~post2; {27569#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,261 INFO L280 TraceCheckUtils]: 19: Hoare triple {27569#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {27569#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,261 INFO L280 TraceCheckUtils]: 20: Hoare triple {27569#(= 0 parse_expression_list_~start~0)} #t~switch4 := 0 == #t~mem3; {27569#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,262 INFO L280 TraceCheckUtils]: 21: Hoare triple {27569#(= 0 parse_expression_list_~start~0)} assume #t~switch4; {27569#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,262 INFO L280 TraceCheckUtils]: 22: Hoare triple {27569#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {27569#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,263 INFO L280 TraceCheckUtils]: 23: Hoare triple {27569#(= 0 parse_expression_list_~start~0)} #t~short7 := 32 == #t~mem5; {27569#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,263 INFO L280 TraceCheckUtils]: 24: Hoare triple {27569#(= 0 parse_expression_list_~start~0)} assume #t~short7; {27569#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,264 INFO L280 TraceCheckUtils]: 25: Hoare triple {27569#(= 0 parse_expression_list_~start~0)} assume !!#t~short7; {27569#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,264 INFO L280 TraceCheckUtils]: 26: Hoare triple {27569#(= 0 parse_expression_list_~start~0)} havoc #t~mem6; {27569#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,264 INFO L280 TraceCheckUtils]: 27: Hoare triple {27569#(= 0 parse_expression_list_~start~0)} havoc #t~short7; {27569#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,265 INFO L280 TraceCheckUtils]: 28: Hoare triple {27569#(= 0 parse_expression_list_~start~0)} havoc #t~mem5; {27569#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,266 INFO L280 TraceCheckUtils]: 29: Hoare triple {27569#(= 0 parse_expression_list_~start~0)} #t~post8 := ~start~0; {27570#(= 0 |parse_expression_list_#t~post8|)} is VALID [2020-07-10 20:23:11,268 INFO L280 TraceCheckUtils]: 30: Hoare triple {27570#(= 0 |parse_expression_list_#t~post8|)} ~start~0 := 1 + #t~post8; {27571#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,269 INFO L280 TraceCheckUtils]: 31: Hoare triple {27571#(<= 1 parse_expression_list_~start~0)} havoc #t~post8; {27571#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,269 INFO L280 TraceCheckUtils]: 32: Hoare triple {27571#(<= 1 parse_expression_list_~start~0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {27571#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,269 INFO L280 TraceCheckUtils]: 33: Hoare triple {27571#(<= 1 parse_expression_list_~start~0)} #t~short7 := 32 == #t~mem5; {27571#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,270 INFO L280 TraceCheckUtils]: 34: Hoare triple {27571#(<= 1 parse_expression_list_~start~0)} assume #t~short7; {27571#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,270 INFO L280 TraceCheckUtils]: 35: Hoare triple {27571#(<= 1 parse_expression_list_~start~0)} assume !!#t~short7; {27571#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,271 INFO L280 TraceCheckUtils]: 36: Hoare triple {27571#(<= 1 parse_expression_list_~start~0)} havoc #t~mem6; {27571#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,271 INFO L280 TraceCheckUtils]: 37: Hoare triple {27571#(<= 1 parse_expression_list_~start~0)} havoc #t~short7; {27571#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,271 INFO L280 TraceCheckUtils]: 38: Hoare triple {27571#(<= 1 parse_expression_list_~start~0)} havoc #t~mem5; {27571#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,272 INFO L280 TraceCheckUtils]: 39: Hoare triple {27571#(<= 1 parse_expression_list_~start~0)} #t~post8 := ~start~0; {27572#(<= 1 |parse_expression_list_#t~post8|)} is VALID [2020-07-10 20:23:11,272 INFO L280 TraceCheckUtils]: 40: Hoare triple {27572#(<= 1 |parse_expression_list_#t~post8|)} ~start~0 := 1 + #t~post8; {27573#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,273 INFO L280 TraceCheckUtils]: 41: Hoare triple {27573#(<= 2 parse_expression_list_~start~0)} havoc #t~post8; {27573#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,273 INFO L280 TraceCheckUtils]: 42: Hoare triple {27573#(<= 2 parse_expression_list_~start~0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {27573#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,274 INFO L280 TraceCheckUtils]: 43: Hoare triple {27573#(<= 2 parse_expression_list_~start~0)} #t~short7 := 32 == #t~mem5; {27573#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,274 INFO L280 TraceCheckUtils]: 44: Hoare triple {27573#(<= 2 parse_expression_list_~start~0)} assume !#t~short7; {27573#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,274 INFO L280 TraceCheckUtils]: 45: Hoare triple {27573#(<= 2 parse_expression_list_~start~0)} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {27573#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,275 INFO L280 TraceCheckUtils]: 46: Hoare triple {27573#(<= 2 parse_expression_list_~start~0)} #t~short7 := 9 == #t~mem6; {27573#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,275 INFO L280 TraceCheckUtils]: 47: Hoare triple {27573#(<= 2 parse_expression_list_~start~0)} assume !#t~short7; {27573#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,275 INFO L280 TraceCheckUtils]: 48: Hoare triple {27573#(<= 2 parse_expression_list_~start~0)} havoc #t~mem6; {27573#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,276 INFO L280 TraceCheckUtils]: 49: Hoare triple {27573#(<= 2 parse_expression_list_~start~0)} havoc #t~short7; {27573#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,276 INFO L280 TraceCheckUtils]: 50: Hoare triple {27573#(<= 2 parse_expression_list_~start~0)} havoc #t~mem5; {27573#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,277 INFO L280 TraceCheckUtils]: 51: Hoare triple {27573#(<= 2 parse_expression_list_~start~0)} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {27573#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,277 INFO L280 TraceCheckUtils]: 52: Hoare triple {27573#(<= 2 parse_expression_list_~start~0)} assume !(34 == #t~mem9); {27573#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,277 INFO L280 TraceCheckUtils]: 53: Hoare triple {27573#(<= 2 parse_expression_list_~start~0)} havoc #t~mem9; {27573#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,278 INFO L280 TraceCheckUtils]: 54: Hoare triple {27573#(<= 2 parse_expression_list_~start~0)} ~j~0 := ~i~0 - 1; {27573#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,278 INFO L280 TraceCheckUtils]: 55: Hoare triple {27573#(<= 2 parse_expression_list_~start~0)} #t~short14 := 0 < ~j~0; {27574#(or (<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0) |parse_expression_list_#t~short14|)} is VALID [2020-07-10 20:23:11,279 INFO L280 TraceCheckUtils]: 56: Hoare triple {27574#(or (<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0) |parse_expression_list_#t~short14|)} assume !#t~short14; {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,279 INFO L280 TraceCheckUtils]: 57: Hoare triple {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short14; {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,280 INFO L280 TraceCheckUtils]: 58: Hoare triple {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem11; {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,280 INFO L280 TraceCheckUtils]: 59: Hoare triple {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short14; {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,280 INFO L280 TraceCheckUtils]: 60: Hoare triple {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short13; {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,281 INFO L280 TraceCheckUtils]: 61: Hoare triple {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem12; {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,281 INFO L280 TraceCheckUtils]: 62: Hoare triple {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #t~short17 := 0 < ~j~0; {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,282 INFO L280 TraceCheckUtils]: 63: Hoare triple {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short17; {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,282 INFO L280 TraceCheckUtils]: 64: Hoare triple {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short17; {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,282 INFO L280 TraceCheckUtils]: 65: Hoare triple {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short17; {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,283 INFO L280 TraceCheckUtils]: 66: Hoare triple {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem16; {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,283 INFO L280 TraceCheckUtils]: 67: Hoare triple {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume ~start~0 <= ~j~0; {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,283 INFO L263 TraceCheckUtils]: 68: Hoare triple {27575#(<= (+ 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)); {27562#true} is VALID [2020-07-10 20:23:11,283 INFO L280 TraceCheckUtils]: 69: Hoare triple {27562#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {27562#true} is VALID [2020-07-10 20:23:11,284 INFO L280 TraceCheckUtils]: 70: Hoare triple {27562#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {27562#true} is VALID [2020-07-10 20:23:11,284 INFO L280 TraceCheckUtils]: 71: Hoare triple {27562#true} ~n := #in~n; {27562#true} is VALID [2020-07-10 20:23:11,284 INFO L280 TraceCheckUtils]: 72: Hoare triple {27562#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {27562#true} is VALID [2020-07-10 20:23:11,284 INFO L280 TraceCheckUtils]: 73: Hoare triple {27562#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {27562#true} is VALID [2020-07-10 20:23:11,284 INFO L280 TraceCheckUtils]: 74: Hoare triple {27562#true} havoc #t~ret0.base, #t~ret0.offset; {27562#true} is VALID [2020-07-10 20:23:11,285 INFO L280 TraceCheckUtils]: 75: Hoare triple {27562#true} assume true; {27562#true} is VALID [2020-07-10 20:23:11,294 INFO L275 TraceCheckUtils]: 76: Hoare quadruple {27562#true} {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #201#return; {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,295 INFO L280 TraceCheckUtils]: 77: Hoare triple {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~ret19.base, #t~ret19.offset; {27575#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:11,296 INFO L263 TraceCheckUtils]: 78: Hoare triple {27575#(<= (+ 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)); {27584#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-10 20:23:11,296 INFO L280 TraceCheckUtils]: 79: Hoare triple {27584#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {27585#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-10 20:23:11,297 INFO L280 TraceCheckUtils]: 80: Hoare triple {27585#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {27563#false} is VALID [2020-07-10 20:23:11,297 INFO L280 TraceCheckUtils]: 81: Hoare triple {27563#false} assume !false; {27563#false} is VALID [2020-07-10 20:23:11,304 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-10 20:23:11,304 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:23:11,304 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1702510771] [2020-07-10 20:23:11,304 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:23:11,304 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2020-07-10 20:23:11,305 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [565594653] [2020-07-10 20:23:11,305 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 82 [2020-07-10 20:23:11,305 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:23:11,305 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-10 20:23:11,395 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-10 20:23:11,395 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-10 20:23:11,396 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:23:11,396 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-10 20:23:11,396 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=109, Unknown=0, NotChecked=0, Total=132 [2020-07-10 20:23:11,396 INFO L87 Difference]: Start difference. First operand 355 states and 393 transitions. Second operand 12 states. [2020-07-10 20:23:14,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:14,759 INFO L93 Difference]: Finished difference Result 694 states and 770 transitions. [2020-07-10 20:23:14,760 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-10 20:23:14,760 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 82 [2020-07-10 20:23:14,760 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:23:14,760 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-10 20:23:14,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 437 transitions. [2020-07-10 20:23:14,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-10 20:23:14,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 437 transitions. [2020-07-10 20:23:14,767 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 437 transitions. [2020-07-10 20:23:15,272 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-10 20:23:15,288 INFO L225 Difference]: With dead ends: 694 [2020-07-10 20:23:15,288 INFO L226 Difference]: Without dead ends: 525 [2020-07-10 20:23:15,289 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-10 20:23:15,290 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 525 states. [2020-07-10 20:23:15,971 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 525 to 390. [2020-07-10 20:23:15,971 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:23:15,971 INFO L82 GeneralOperation]: Start isEquivalent. First operand 525 states. Second operand 390 states. [2020-07-10 20:23:15,971 INFO L74 IsIncluded]: Start isIncluded. First operand 525 states. Second operand 390 states. [2020-07-10 20:23:15,972 INFO L87 Difference]: Start difference. First operand 525 states. Second operand 390 states. [2020-07-10 20:23:15,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:15,986 INFO L93 Difference]: Finished difference Result 525 states and 583 transitions. [2020-07-10 20:23:15,986 INFO L276 IsEmpty]: Start isEmpty. Operand 525 states and 583 transitions. [2020-07-10 20:23:15,987 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:23:15,987 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:23:15,987 INFO L74 IsIncluded]: Start isIncluded. First operand 390 states. Second operand 525 states. [2020-07-10 20:23:15,987 INFO L87 Difference]: Start difference. First operand 390 states. Second operand 525 states. [2020-07-10 20:23:16,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:16,004 INFO L93 Difference]: Finished difference Result 525 states and 583 transitions. [2020-07-10 20:23:16,005 INFO L276 IsEmpty]: Start isEmpty. Operand 525 states and 583 transitions. [2020-07-10 20:23:16,005 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:23:16,005 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:23:16,005 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:23:16,006 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:23:16,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 390 states. [2020-07-10 20:23:16,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 390 states to 390 states and 432 transitions. [2020-07-10 20:23:16,012 INFO L78 Accepts]: Start accepts. Automaton has 390 states and 432 transitions. Word has length 82 [2020-07-10 20:23:16,012 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:23:16,013 INFO L479 AbstractCegarLoop]: Abstraction has 390 states and 432 transitions. [2020-07-10 20:23:16,013 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-10 20:23:16,013 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 390 states and 432 transitions. [2020-07-10 20:23:16,650 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-10 20:23:16,650 INFO L276 IsEmpty]: Start isEmpty. Operand 390 states and 432 transitions. [2020-07-10 20:23:16,651 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2020-07-10 20:23:16,652 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:23:16,653 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-10 20:23:16,654 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16 [2020-07-10 20:23:16,654 INFO L427 AbstractCegarLoop]: === Iteration 18 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:23:16,654 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:23:16,654 INFO L82 PathProgramCache]: Analyzing trace with hash -1836590973, now seen corresponding path program 2 times [2020-07-10 20:23:16,654 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:23:16,654 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2014097585] [2020-07-10 20:23:16,654 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:23:16,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:23:16,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:23:16,877 INFO L280 TraceCheckUtils]: 0: Hoare triple {30853#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {30827#true} is VALID [2020-07-10 20:23:16,877 INFO L280 TraceCheckUtils]: 1: Hoare triple {30827#true} #valid := #valid[0 := 0]; {30827#true} is VALID [2020-07-10 20:23:16,877 INFO L280 TraceCheckUtils]: 2: Hoare triple {30827#true} assume 0 < #StackHeapBarrier; {30827#true} is VALID [2020-07-10 20:23:16,878 INFO L280 TraceCheckUtils]: 3: Hoare triple {30827#true} assume true; {30827#true} is VALID [2020-07-10 20:23:16,878 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {30827#true} {30827#true} #205#return; {30827#true} is VALID [2020-07-10 20:23:16,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:23:16,884 INFO L280 TraceCheckUtils]: 0: Hoare triple {30827#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {30827#true} is VALID [2020-07-10 20:23:16,885 INFO L280 TraceCheckUtils]: 1: Hoare triple {30827#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {30827#true} is VALID [2020-07-10 20:23:16,885 INFO L280 TraceCheckUtils]: 2: Hoare triple {30827#true} ~n := #in~n; {30827#true} is VALID [2020-07-10 20:23:16,885 INFO L280 TraceCheckUtils]: 3: Hoare triple {30827#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {30827#true} is VALID [2020-07-10 20:23:16,885 INFO L280 TraceCheckUtils]: 4: Hoare triple {30827#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {30827#true} is VALID [2020-07-10 20:23:16,886 INFO L280 TraceCheckUtils]: 5: Hoare triple {30827#true} havoc #t~ret0.base, #t~ret0.offset; {30827#true} is VALID [2020-07-10 20:23:16,886 INFO L280 TraceCheckUtils]: 6: Hoare triple {30827#true} assume true; {30827#true} is VALID [2020-07-10 20:23:16,887 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {30827#true} {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} #201#return; {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,888 INFO L263 TraceCheckUtils]: 0: Hoare triple {30827#true} call ULTIMATE.init(); {30853#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:23:16,889 INFO L280 TraceCheckUtils]: 1: Hoare triple {30853#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {30827#true} is VALID [2020-07-10 20:23:16,889 INFO L280 TraceCheckUtils]: 2: Hoare triple {30827#true} #valid := #valid[0 := 0]; {30827#true} is VALID [2020-07-10 20:23:16,889 INFO L280 TraceCheckUtils]: 3: Hoare triple {30827#true} assume 0 < #StackHeapBarrier; {30827#true} is VALID [2020-07-10 20:23:16,889 INFO L280 TraceCheckUtils]: 4: Hoare triple {30827#true} assume true; {30827#true} is VALID [2020-07-10 20:23:16,889 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {30827#true} {30827#true} #205#return; {30827#true} is VALID [2020-07-10 20:23:16,890 INFO L263 TraceCheckUtils]: 6: Hoare triple {30827#true} call #t~ret21 := main(); {30827#true} is VALID [2020-07-10 20:23:16,890 INFO L280 TraceCheckUtils]: 7: Hoare triple {30827#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {30827#true} is VALID [2020-07-10 20:23:16,890 INFO L280 TraceCheckUtils]: 8: Hoare triple {30827#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {30827#true} is VALID [2020-07-10 20:23:16,891 INFO L263 TraceCheckUtils]: 9: Hoare triple {30827#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {30827#true} is VALID [2020-07-10 20:23:16,891 INFO L280 TraceCheckUtils]: 10: Hoare triple {30827#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {30827#true} is VALID [2020-07-10 20:23:16,892 INFO L280 TraceCheckUtils]: 11: Hoare triple {30827#true} ~start~0 := 0; {30834#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,893 INFO L280 TraceCheckUtils]: 12: Hoare triple {30834#(= 0 parse_expression_list_~start~0)} ~i~0 := -1; {30834#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,893 INFO L280 TraceCheckUtils]: 13: Hoare triple {30834#(= 0 parse_expression_list_~start~0)} ~j~0 := -1; {30834#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,894 INFO L280 TraceCheckUtils]: 14: Hoare triple {30834#(= 0 parse_expression_list_~start~0)} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {30834#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,895 INFO L280 TraceCheckUtils]: 15: Hoare triple {30834#(= 0 parse_expression_list_~start~0)} assume !(~str.base == 0 && ~str.offset == 0); {30834#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,896 INFO L280 TraceCheckUtils]: 16: Hoare triple {30834#(= 0 parse_expression_list_~start~0)} #t~post2 := ~i~0; {30834#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,897 INFO L280 TraceCheckUtils]: 17: Hoare triple {30834#(= 0 parse_expression_list_~start~0)} ~i~0 := 1 + #t~post2; {30834#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,897 INFO L280 TraceCheckUtils]: 18: Hoare triple {30834#(= 0 parse_expression_list_~start~0)} havoc #t~post2; {30834#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,898 INFO L280 TraceCheckUtils]: 19: Hoare triple {30834#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {30834#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,899 INFO L280 TraceCheckUtils]: 20: Hoare triple {30834#(= 0 parse_expression_list_~start~0)} #t~switch4 := 0 == #t~mem3; {30834#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,900 INFO L280 TraceCheckUtils]: 21: Hoare triple {30834#(= 0 parse_expression_list_~start~0)} assume #t~switch4; {30834#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,901 INFO L280 TraceCheckUtils]: 22: Hoare triple {30834#(= 0 parse_expression_list_~start~0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {30834#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,902 INFO L280 TraceCheckUtils]: 23: Hoare triple {30834#(= 0 parse_expression_list_~start~0)} #t~short7 := 32 == #t~mem5; {30834#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,902 INFO L280 TraceCheckUtils]: 24: Hoare triple {30834#(= 0 parse_expression_list_~start~0)} assume #t~short7; {30834#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,903 INFO L280 TraceCheckUtils]: 25: Hoare triple {30834#(= 0 parse_expression_list_~start~0)} assume !!#t~short7; {30834#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,904 INFO L280 TraceCheckUtils]: 26: Hoare triple {30834#(= 0 parse_expression_list_~start~0)} havoc #t~mem6; {30834#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,905 INFO L280 TraceCheckUtils]: 27: Hoare triple {30834#(= 0 parse_expression_list_~start~0)} havoc #t~short7; {30834#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,906 INFO L280 TraceCheckUtils]: 28: Hoare triple {30834#(= 0 parse_expression_list_~start~0)} havoc #t~mem5; {30834#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,907 INFO L280 TraceCheckUtils]: 29: Hoare triple {30834#(= 0 parse_expression_list_~start~0)} #t~post8 := ~start~0; {30835#(= 0 |parse_expression_list_#t~post8|)} is VALID [2020-07-10 20:23:16,908 INFO L280 TraceCheckUtils]: 30: Hoare triple {30835#(= 0 |parse_expression_list_#t~post8|)} ~start~0 := 1 + #t~post8; {30836#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,908 INFO L280 TraceCheckUtils]: 31: Hoare triple {30836#(<= 1 parse_expression_list_~start~0)} havoc #t~post8; {30836#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,909 INFO L280 TraceCheckUtils]: 32: Hoare triple {30836#(<= 1 parse_expression_list_~start~0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {30836#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,910 INFO L280 TraceCheckUtils]: 33: Hoare triple {30836#(<= 1 parse_expression_list_~start~0)} #t~short7 := 32 == #t~mem5; {30836#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,911 INFO L280 TraceCheckUtils]: 34: Hoare triple {30836#(<= 1 parse_expression_list_~start~0)} assume #t~short7; {30836#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,912 INFO L280 TraceCheckUtils]: 35: Hoare triple {30836#(<= 1 parse_expression_list_~start~0)} assume !!#t~short7; {30836#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,912 INFO L280 TraceCheckUtils]: 36: Hoare triple {30836#(<= 1 parse_expression_list_~start~0)} havoc #t~mem6; {30836#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,913 INFO L280 TraceCheckUtils]: 37: Hoare triple {30836#(<= 1 parse_expression_list_~start~0)} havoc #t~short7; {30836#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,914 INFO L280 TraceCheckUtils]: 38: Hoare triple {30836#(<= 1 parse_expression_list_~start~0)} havoc #t~mem5; {30836#(<= 1 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,915 INFO L280 TraceCheckUtils]: 39: Hoare triple {30836#(<= 1 parse_expression_list_~start~0)} #t~post8 := ~start~0; {30837#(<= 1 |parse_expression_list_#t~post8|)} is VALID [2020-07-10 20:23:16,916 INFO L280 TraceCheckUtils]: 40: Hoare triple {30837#(<= 1 |parse_expression_list_#t~post8|)} ~start~0 := 1 + #t~post8; {30838#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,917 INFO L280 TraceCheckUtils]: 41: Hoare triple {30838#(<= 2 parse_expression_list_~start~0)} havoc #t~post8; {30838#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,918 INFO L280 TraceCheckUtils]: 42: Hoare triple {30838#(<= 2 parse_expression_list_~start~0)} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {30838#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,919 INFO L280 TraceCheckUtils]: 43: Hoare triple {30838#(<= 2 parse_expression_list_~start~0)} #t~short7 := 32 == #t~mem5; {30838#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,919 INFO L280 TraceCheckUtils]: 44: Hoare triple {30838#(<= 2 parse_expression_list_~start~0)} assume !#t~short7; {30838#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,920 INFO L280 TraceCheckUtils]: 45: Hoare triple {30838#(<= 2 parse_expression_list_~start~0)} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {30838#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,920 INFO L280 TraceCheckUtils]: 46: Hoare triple {30838#(<= 2 parse_expression_list_~start~0)} #t~short7 := 9 == #t~mem6; {30838#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,921 INFO L280 TraceCheckUtils]: 47: Hoare triple {30838#(<= 2 parse_expression_list_~start~0)} assume !#t~short7; {30838#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,921 INFO L280 TraceCheckUtils]: 48: Hoare triple {30838#(<= 2 parse_expression_list_~start~0)} havoc #t~mem6; {30838#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,922 INFO L280 TraceCheckUtils]: 49: Hoare triple {30838#(<= 2 parse_expression_list_~start~0)} havoc #t~short7; {30838#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,923 INFO L280 TraceCheckUtils]: 50: Hoare triple {30838#(<= 2 parse_expression_list_~start~0)} havoc #t~mem5; {30838#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,923 INFO L280 TraceCheckUtils]: 51: Hoare triple {30838#(<= 2 parse_expression_list_~start~0)} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {30838#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,924 INFO L280 TraceCheckUtils]: 52: Hoare triple {30838#(<= 2 parse_expression_list_~start~0)} assume 34 == #t~mem9; {30838#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,924 INFO L280 TraceCheckUtils]: 53: Hoare triple {30838#(<= 2 parse_expression_list_~start~0)} havoc #t~mem9; {30838#(<= 2 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,925 INFO L280 TraceCheckUtils]: 54: Hoare triple {30838#(<= 2 parse_expression_list_~start~0)} #t~post10 := ~start~0; {30839#(<= 2 |parse_expression_list_#t~post10|)} is VALID [2020-07-10 20:23:16,926 INFO L280 TraceCheckUtils]: 55: Hoare triple {30839#(<= 2 |parse_expression_list_#t~post10|)} ~start~0 := 1 + #t~post10; {30840#(<= 3 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,927 INFO L280 TraceCheckUtils]: 56: Hoare triple {30840#(<= 3 parse_expression_list_~start~0)} havoc #t~post10; {30840#(<= 3 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,927 INFO L280 TraceCheckUtils]: 57: Hoare triple {30840#(<= 3 parse_expression_list_~start~0)} ~j~0 := ~i~0 - 1; {30840#(<= 3 parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,928 INFO L280 TraceCheckUtils]: 58: Hoare triple {30840#(<= 3 parse_expression_list_~start~0)} #t~short14 := 0 < ~j~0; {30841#(or |parse_expression_list_#t~short14| (<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0))} is VALID [2020-07-10 20:23:16,929 INFO L280 TraceCheckUtils]: 59: Hoare triple {30841#(or |parse_expression_list_#t~short14| (<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0))} assume !#t~short14; {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,930 INFO L280 TraceCheckUtils]: 60: Hoare triple {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} assume !#t~short14; {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,931 INFO L280 TraceCheckUtils]: 61: Hoare triple {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} havoc #t~mem11; {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,931 INFO L280 TraceCheckUtils]: 62: Hoare triple {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} havoc #t~short14; {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,932 INFO L280 TraceCheckUtils]: 63: Hoare triple {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} havoc #t~short13; {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,933 INFO L280 TraceCheckUtils]: 64: Hoare triple {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} havoc #t~mem12; {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,934 INFO L280 TraceCheckUtils]: 65: Hoare triple {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} #t~short17 := 0 < ~j~0; {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,934 INFO L280 TraceCheckUtils]: 66: Hoare triple {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} assume !#t~short17; {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,935 INFO L280 TraceCheckUtils]: 67: Hoare triple {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} assume !#t~short17; {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,936 INFO L280 TraceCheckUtils]: 68: Hoare triple {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} havoc #t~short17; {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,937 INFO L280 TraceCheckUtils]: 69: Hoare triple {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} havoc #t~mem16; {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,938 INFO L280 TraceCheckUtils]: 70: Hoare triple {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} assume ~start~0 <= ~j~0; {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,938 INFO L263 TraceCheckUtils]: 71: Hoare triple {30842#(<= (+ 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)); {30827#true} is VALID [2020-07-10 20:23:16,938 INFO L280 TraceCheckUtils]: 72: Hoare triple {30827#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {30827#true} is VALID [2020-07-10 20:23:16,939 INFO L280 TraceCheckUtils]: 73: Hoare triple {30827#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {30827#true} is VALID [2020-07-10 20:23:16,939 INFO L280 TraceCheckUtils]: 74: Hoare triple {30827#true} ~n := #in~n; {30827#true} is VALID [2020-07-10 20:23:16,939 INFO L280 TraceCheckUtils]: 75: Hoare triple {30827#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {30827#true} is VALID [2020-07-10 20:23:16,940 INFO L280 TraceCheckUtils]: 76: Hoare triple {30827#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {30827#true} is VALID [2020-07-10 20:23:16,940 INFO L280 TraceCheckUtils]: 77: Hoare triple {30827#true} havoc #t~ret0.base, #t~ret0.offset; {30827#true} is VALID [2020-07-10 20:23:16,940 INFO L280 TraceCheckUtils]: 78: Hoare triple {30827#true} assume true; {30827#true} is VALID [2020-07-10 20:23:16,942 INFO L275 TraceCheckUtils]: 79: Hoare quadruple {30827#true} {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} #201#return; {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,943 INFO L280 TraceCheckUtils]: 80: Hoare triple {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} havoc #t~ret19.base, #t~ret19.offset; {30842#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-10 20:23:16,944 INFO L263 TraceCheckUtils]: 81: Hoare triple {30842#(<= (+ 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)); {30851#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-10 20:23:16,945 INFO L280 TraceCheckUtils]: 82: Hoare triple {30851#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {30852#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-10 20:23:16,946 INFO L280 TraceCheckUtils]: 83: Hoare triple {30852#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {30828#false} is VALID [2020-07-10 20:23:16,946 INFO L280 TraceCheckUtils]: 84: Hoare triple {30828#false} assume !false; {30828#false} is VALID [2020-07-10 20:23:16,971 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-10 20:23:16,971 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:23:16,971 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2014097585] [2020-07-10 20:23:16,972 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:23:16,972 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2020-07-10 20:23:16,972 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [938017336] [2020-07-10 20:23:16,973 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 85 [2020-07-10 20:23:16,974 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:23:16,974 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2020-07-10 20:23:17,088 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-10 20:23:17,088 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2020-07-10 20:23:17,088 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:23:17,089 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2020-07-10 20:23:17,089 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=153, Unknown=0, NotChecked=0, Total=182 [2020-07-10 20:23:17,089 INFO L87 Difference]: Start difference. First operand 390 states and 432 transitions. Second operand 14 states. [2020-07-10 20:23:21,165 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:21,165 INFO L93 Difference]: Finished difference Result 680 states and 754 transitions. [2020-07-10 20:23:21,166 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-10 20:23:21,166 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 85 [2020-07-10 20:23:21,166 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:23:21,166 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-10 20:23:21,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 483 transitions. [2020-07-10 20:23:21,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-10 20:23:21,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 483 transitions. [2020-07-10 20:23:21,173 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 483 transitions. [2020-07-10 20:23:21,749 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-10 20:23:21,763 INFO L225 Difference]: With dead ends: 680 [2020-07-10 20:23:21,763 INFO L226 Difference]: Without dead ends: 428 [2020-07-10 20:23:21,765 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-10 20:23:21,765 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 428 states. [2020-07-10 20:23:22,197 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 428 to 247. [2020-07-10 20:23:22,197 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:23:22,197 INFO L82 GeneralOperation]: Start isEquivalent. First operand 428 states. Second operand 247 states. [2020-07-10 20:23:22,197 INFO L74 IsIncluded]: Start isIncluded. First operand 428 states. Second operand 247 states. [2020-07-10 20:23:22,197 INFO L87 Difference]: Start difference. First operand 428 states. Second operand 247 states. [2020-07-10 20:23:22,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:22,210 INFO L93 Difference]: Finished difference Result 428 states and 476 transitions. [2020-07-10 20:23:22,210 INFO L276 IsEmpty]: Start isEmpty. Operand 428 states and 476 transitions. [2020-07-10 20:23:22,211 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:23:22,211 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:23:22,211 INFO L74 IsIncluded]: Start isIncluded. First operand 247 states. Second operand 428 states. [2020-07-10 20:23:22,211 INFO L87 Difference]: Start difference. First operand 247 states. Second operand 428 states. [2020-07-10 20:23:22,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:22,223 INFO L93 Difference]: Finished difference Result 428 states and 476 transitions. [2020-07-10 20:23:22,223 INFO L276 IsEmpty]: Start isEmpty. Operand 428 states and 476 transitions. [2020-07-10 20:23:22,224 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:23:22,224 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:23:22,224 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:23:22,224 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:23:22,224 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 247 states. [2020-07-10 20:23:22,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 247 states to 247 states and 270 transitions. [2020-07-10 20:23:22,229 INFO L78 Accepts]: Start accepts. Automaton has 247 states and 270 transitions. Word has length 85 [2020-07-10 20:23:22,229 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:23:22,229 INFO L479 AbstractCegarLoop]: Abstraction has 247 states and 270 transitions. [2020-07-10 20:23:22,229 INFO L480 AbstractCegarLoop]: Interpolant automaton has 14 states. [2020-07-10 20:23:22,229 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 247 states and 270 transitions. [2020-07-10 20:23:22,627 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-10 20:23:22,627 INFO L276 IsEmpty]: Start isEmpty. Operand 247 states and 270 transitions. [2020-07-10 20:23:22,628 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2020-07-10 20:23:22,628 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:23:22,629 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-10 20:23:22,629 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17 [2020-07-10 20:23:22,629 INFO L427 AbstractCegarLoop]: === Iteration 19 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:23:22,629 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:23:22,629 INFO L82 PathProgramCache]: Analyzing trace with hash 1723821108, now seen corresponding path program 2 times [2020-07-10 20:23:22,630 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:23:22,630 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [820052852] [2020-07-10 20:23:22,630 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:23:22,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:23:22,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:23:22,712 INFO L280 TraceCheckUtils]: 0: Hoare triple {33610#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {33592#true} is VALID [2020-07-10 20:23:22,712 INFO L280 TraceCheckUtils]: 1: Hoare triple {33592#true} #valid := #valid[0 := 0]; {33592#true} is VALID [2020-07-10 20:23:22,713 INFO L280 TraceCheckUtils]: 2: Hoare triple {33592#true} assume 0 < #StackHeapBarrier; {33592#true} is VALID [2020-07-10 20:23:22,713 INFO L280 TraceCheckUtils]: 3: Hoare triple {33592#true} assume true; {33592#true} is VALID [2020-07-10 20:23:22,713 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {33592#true} {33592#true} #205#return; {33592#true} is VALID [2020-07-10 20:23:22,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:23:22,716 INFO L280 TraceCheckUtils]: 0: Hoare triple {33592#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {33592#true} is VALID [2020-07-10 20:23:22,717 INFO L280 TraceCheckUtils]: 1: Hoare triple {33592#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {33592#true} is VALID [2020-07-10 20:23:22,717 INFO L280 TraceCheckUtils]: 2: Hoare triple {33592#true} ~n := #in~n; {33592#true} is VALID [2020-07-10 20:23:22,717 INFO L280 TraceCheckUtils]: 3: Hoare triple {33592#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {33592#true} is VALID [2020-07-10 20:23:22,717 INFO L280 TraceCheckUtils]: 4: Hoare triple {33592#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {33592#true} is VALID [2020-07-10 20:23:22,717 INFO L280 TraceCheckUtils]: 5: Hoare triple {33592#true} havoc #t~ret0.base, #t~ret0.offset; {33592#true} is VALID [2020-07-10 20:23:22,718 INFO L280 TraceCheckUtils]: 6: Hoare triple {33592#true} assume true; {33592#true} is VALID [2020-07-10 20:23:22,718 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {33592#true} {33593#false} #201#return; {33593#false} is VALID [2020-07-10 20:23:22,719 INFO L263 TraceCheckUtils]: 0: Hoare triple {33592#true} call ULTIMATE.init(); {33610#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:23:22,719 INFO L280 TraceCheckUtils]: 1: Hoare triple {33610#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {33592#true} is VALID [2020-07-10 20:23:22,719 INFO L280 TraceCheckUtils]: 2: Hoare triple {33592#true} #valid := #valid[0 := 0]; {33592#true} is VALID [2020-07-10 20:23:22,719 INFO L280 TraceCheckUtils]: 3: Hoare triple {33592#true} assume 0 < #StackHeapBarrier; {33592#true} is VALID [2020-07-10 20:23:22,719 INFO L280 TraceCheckUtils]: 4: Hoare triple {33592#true} assume true; {33592#true} is VALID [2020-07-10 20:23:22,720 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {33592#true} {33592#true} #205#return; {33592#true} is VALID [2020-07-10 20:23:22,720 INFO L263 TraceCheckUtils]: 6: Hoare triple {33592#true} call #t~ret21 := main(); {33592#true} is VALID [2020-07-10 20:23:22,720 INFO L280 TraceCheckUtils]: 7: Hoare triple {33592#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {33592#true} is VALID [2020-07-10 20:23:22,720 INFO L280 TraceCheckUtils]: 8: Hoare triple {33592#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L74 {33592#true} is VALID [2020-07-10 20:23:22,720 INFO L263 TraceCheckUtils]: 9: Hoare triple {33592#true} call #t~ret20 := parse_expression_list(~#A~0.base, ~#A~0.offset); {33592#true} is VALID [2020-07-10 20:23:22,721 INFO L280 TraceCheckUtils]: 10: Hoare triple {33592#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {33592#true} is VALID [2020-07-10 20:23:22,721 INFO L280 TraceCheckUtils]: 11: Hoare triple {33592#true} ~start~0 := 0; {33592#true} is VALID [2020-07-10 20:23:22,721 INFO L280 TraceCheckUtils]: 12: Hoare triple {33592#true} ~i~0 := -1; {33592#true} is VALID [2020-07-10 20:23:22,721 INFO L280 TraceCheckUtils]: 13: Hoare triple {33592#true} ~j~0 := -1; {33592#true} is VALID [2020-07-10 20:23:22,721 INFO L280 TraceCheckUtils]: 14: Hoare triple {33592#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L49 {33592#true} is VALID [2020-07-10 20:23:22,721 INFO L280 TraceCheckUtils]: 15: Hoare triple {33592#true} assume !(~str.base == 0 && ~str.offset == 0); {33592#true} is VALID [2020-07-10 20:23:22,722 INFO L280 TraceCheckUtils]: 16: Hoare triple {33592#true} #t~post2 := ~i~0; {33592#true} is VALID [2020-07-10 20:23:22,722 INFO L280 TraceCheckUtils]: 17: Hoare triple {33592#true} ~i~0 := 1 + #t~post2; {33592#true} is VALID [2020-07-10 20:23:22,722 INFO L280 TraceCheckUtils]: 18: Hoare triple {33592#true} havoc #t~post2; {33592#true} is VALID [2020-07-10 20:23:22,722 INFO L280 TraceCheckUtils]: 19: Hoare triple {33592#true} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {33592#true} is VALID [2020-07-10 20:23:22,722 INFO L280 TraceCheckUtils]: 20: Hoare triple {33592#true} #t~switch4 := 0 == #t~mem3; {33592#true} is VALID [2020-07-10 20:23:22,723 INFO L280 TraceCheckUtils]: 21: Hoare triple {33592#true} assume !#t~switch4; {33592#true} is VALID [2020-07-10 20:23:22,723 INFO L280 TraceCheckUtils]: 22: Hoare triple {33592#true} havoc #t~switch4; {33592#true} is VALID [2020-07-10 20:23:22,723 INFO L280 TraceCheckUtils]: 23: Hoare triple {33592#true} havoc #t~mem3; {33592#true} is VALID [2020-07-10 20:23:22,723 INFO L280 TraceCheckUtils]: 24: Hoare triple {33592#true} SUMMARY for call #t~mem1 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L51-1 {33592#true} is VALID [2020-07-10 20:23:22,723 INFO L280 TraceCheckUtils]: 25: Hoare triple {33592#true} assume !!(0 != #t~mem1); {33592#true} is VALID [2020-07-10 20:23:22,724 INFO L280 TraceCheckUtils]: 26: Hoare triple {33592#true} havoc #t~mem1; {33592#true} is VALID [2020-07-10 20:23:22,724 INFO L280 TraceCheckUtils]: 27: Hoare triple {33592#true} #t~post2 := ~i~0; {33592#true} is VALID [2020-07-10 20:23:22,724 INFO L280 TraceCheckUtils]: 28: Hoare triple {33592#true} ~i~0 := 1 + #t~post2; {33592#true} is VALID [2020-07-10 20:23:22,724 INFO L280 TraceCheckUtils]: 29: Hoare triple {33592#true} havoc #t~post2; {33592#true} is VALID [2020-07-10 20:23:22,724 INFO L280 TraceCheckUtils]: 30: Hoare triple {33592#true} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {33592#true} is VALID [2020-07-10 20:23:22,724 INFO L280 TraceCheckUtils]: 31: Hoare triple {33592#true} #t~switch4 := 0 == #t~mem3; {33592#true} is VALID [2020-07-10 20:23:22,725 INFO L280 TraceCheckUtils]: 32: Hoare triple {33592#true} assume !#t~switch4; {33592#true} is VALID [2020-07-10 20:23:22,725 INFO L280 TraceCheckUtils]: 33: Hoare triple {33592#true} havoc #t~switch4; {33592#true} is VALID [2020-07-10 20:23:22,725 INFO L280 TraceCheckUtils]: 34: Hoare triple {33592#true} havoc #t~mem3; {33592#true} is VALID [2020-07-10 20:23:22,725 INFO L280 TraceCheckUtils]: 35: Hoare triple {33592#true} SUMMARY for call #t~mem1 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L51-1 {33592#true} is VALID [2020-07-10 20:23:22,725 INFO L280 TraceCheckUtils]: 36: Hoare triple {33592#true} assume !!(0 != #t~mem1); {33592#true} is VALID [2020-07-10 20:23:22,726 INFO L280 TraceCheckUtils]: 37: Hoare triple {33592#true} havoc #t~mem1; {33592#true} is VALID [2020-07-10 20:23:22,726 INFO L280 TraceCheckUtils]: 38: Hoare triple {33592#true} #t~post2 := ~i~0; {33592#true} is VALID [2020-07-10 20:23:22,726 INFO L280 TraceCheckUtils]: 39: Hoare triple {33592#true} ~i~0 := 1 + #t~post2; {33592#true} is VALID [2020-07-10 20:23:22,726 INFO L280 TraceCheckUtils]: 40: Hoare triple {33592#true} havoc #t~post2; {33592#true} is VALID [2020-07-10 20:23:22,726 INFO L280 TraceCheckUtils]: 41: Hoare triple {33592#true} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L53 {33592#true} is VALID [2020-07-10 20:23:22,726 INFO L280 TraceCheckUtils]: 42: Hoare triple {33592#true} #t~switch4 := 0 == #t~mem3; {33592#true} is VALID [2020-07-10 20:23:22,727 INFO L280 TraceCheckUtils]: 43: Hoare triple {33592#true} assume #t~switch4; {33592#true} is VALID [2020-07-10 20:23:22,727 INFO L280 TraceCheckUtils]: 44: Hoare triple {33592#true} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-17 {33592#true} is VALID [2020-07-10 20:23:22,727 INFO L280 TraceCheckUtils]: 45: Hoare triple {33592#true} #t~short7 := 32 == #t~mem5; {33592#true} is VALID [2020-07-10 20:23:22,727 INFO L280 TraceCheckUtils]: 46: Hoare triple {33592#true} assume !#t~short7; {33592#true} is VALID [2020-07-10 20:23:22,727 INFO L280 TraceCheckUtils]: 47: Hoare triple {33592#true} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-4 {33592#true} is VALID [2020-07-10 20:23:22,727 INFO L280 TraceCheckUtils]: 48: Hoare triple {33592#true} #t~short7 := 9 == #t~mem6; {33592#true} is VALID [2020-07-10 20:23:22,728 INFO L280 TraceCheckUtils]: 49: Hoare triple {33592#true} assume !#t~short7; {33592#true} is VALID [2020-07-10 20:23:22,728 INFO L280 TraceCheckUtils]: 50: Hoare triple {33592#true} havoc #t~mem6; {33592#true} is VALID [2020-07-10 20:23:22,728 INFO L280 TraceCheckUtils]: 51: Hoare triple {33592#true} havoc #t~short7; {33592#true} is VALID [2020-07-10 20:23:22,728 INFO L280 TraceCheckUtils]: 52: Hoare triple {33592#true} havoc #t~mem5; {33592#true} is VALID [2020-07-10 20:23:22,728 INFO L280 TraceCheckUtils]: 53: Hoare triple {33592#true} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L55-18 {33592#true} is VALID [2020-07-10 20:23:22,729 INFO L280 TraceCheckUtils]: 54: Hoare triple {33592#true} assume !(34 == #t~mem9); {33592#true} is VALID [2020-07-10 20:23:22,729 INFO L280 TraceCheckUtils]: 55: Hoare triple {33592#true} havoc #t~mem9; {33592#true} is VALID [2020-07-10 20:23:22,729 INFO L280 TraceCheckUtils]: 56: Hoare triple {33592#true} ~j~0 := ~i~0 - 1; {33592#true} is VALID [2020-07-10 20:23:22,731 INFO L280 TraceCheckUtils]: 57: Hoare triple {33592#true} #t~short14 := 0 < ~j~0; {33599#(or (< 0 parse_expression_list_~j~0) (not |parse_expression_list_#t~short14|))} is VALID [2020-07-10 20:23:22,731 INFO L280 TraceCheckUtils]: 58: Hoare triple {33599#(or (< 0 parse_expression_list_~j~0) (not |parse_expression_list_#t~short14|))} assume #t~short14; {33600#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-10 20:23:22,732 INFO L280 TraceCheckUtils]: 59: Hoare triple {33600#(< 0 parse_expression_list_~j~0)} SUMMARY for call #t~mem11 := read~int(~str.base, ~str.offset + ~j~0, 1); srcloc: L58-2 {33600#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-10 20:23:22,732 INFO L280 TraceCheckUtils]: 60: Hoare triple {33600#(< 0 parse_expression_list_~j~0)} #t~short13 := 32 == #t~mem11; {33600#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-10 20:23:22,732 INFO L280 TraceCheckUtils]: 61: Hoare triple {33600#(< 0 parse_expression_list_~j~0)} assume !#t~short13; {33600#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-10 20:23:22,733 INFO L280 TraceCheckUtils]: 62: Hoare triple {33600#(< 0 parse_expression_list_~j~0)} SUMMARY for call #t~mem12 := read~int(~str.base, ~str.offset + ~j~0, 1); srcloc: L58-6 {33600#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-10 20:23:22,733 INFO L280 TraceCheckUtils]: 63: Hoare triple {33600#(< 0 parse_expression_list_~j~0)} #t~short13 := 9 == #t~mem12; {33600#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-10 20:23:22,734 INFO L280 TraceCheckUtils]: 64: Hoare triple {33600#(< 0 parse_expression_list_~j~0)} #t~short14 := #t~short13; {33600#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-10 20:23:22,734 INFO L280 TraceCheckUtils]: 65: Hoare triple {33600#(< 0 parse_expression_list_~j~0)} assume !#t~short14; {33600#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-10 20:23:22,734 INFO L280 TraceCheckUtils]: 66: Hoare triple {33600#(< 0 parse_expression_list_~j~0)} havoc #t~mem11; {33600#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-10 20:23:22,735 INFO L280 TraceCheckUtils]: 67: Hoare triple {33600#(< 0 parse_expression_list_~j~0)} havoc #t~short14; {33600#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-10 20:23:22,735 INFO L280 TraceCheckUtils]: 68: Hoare triple {33600#(< 0 parse_expression_list_~j~0)} havoc #t~short13; {33600#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-10 20:23:22,736 INFO L280 TraceCheckUtils]: 69: Hoare triple {33600#(< 0 parse_expression_list_~j~0)} havoc #t~mem12; {33600#(< 0 parse_expression_list_~j~0)} is VALID [2020-07-10 20:23:22,736 INFO L280 TraceCheckUtils]: 70: Hoare triple {33600#(< 0 parse_expression_list_~j~0)} #t~short17 := 0 < ~j~0; {33601#|parse_expression_list_#t~short17|} is VALID [2020-07-10 20:23:22,736 INFO L280 TraceCheckUtils]: 71: Hoare triple {33601#|parse_expression_list_#t~short17|} assume !#t~short17; {33593#false} is VALID [2020-07-10 20:23:22,737 INFO L280 TraceCheckUtils]: 72: Hoare triple {33593#false} assume !#t~short17; {33593#false} is VALID [2020-07-10 20:23:22,737 INFO L280 TraceCheckUtils]: 73: Hoare triple {33593#false} havoc #t~short17; {33593#false} is VALID [2020-07-10 20:23:22,737 INFO L280 TraceCheckUtils]: 74: Hoare triple {33593#false} havoc #t~mem16; {33593#false} is VALID [2020-07-10 20:23:22,737 INFO L280 TraceCheckUtils]: 75: Hoare triple {33593#false} assume ~start~0 <= ~j~0; {33593#false} is VALID [2020-07-10 20:23:22,737 INFO L263 TraceCheckUtils]: 76: Hoare triple {33593#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)); {33592#true} is VALID [2020-07-10 20:23:22,737 INFO L280 TraceCheckUtils]: 77: Hoare triple {33592#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {33592#true} is VALID [2020-07-10 20:23:22,737 INFO L280 TraceCheckUtils]: 78: Hoare triple {33592#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {33592#true} is VALID [2020-07-10 20:23:22,737 INFO L280 TraceCheckUtils]: 79: Hoare triple {33592#true} ~n := #in~n; {33592#true} is VALID [2020-07-10 20:23:22,738 INFO L280 TraceCheckUtils]: 80: Hoare triple {33592#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L30-2 {33592#true} is VALID [2020-07-10 20:23:22,738 INFO L280 TraceCheckUtils]: 81: Hoare triple {33592#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {33592#true} is VALID [2020-07-10 20:23:22,738 INFO L280 TraceCheckUtils]: 82: Hoare triple {33592#true} havoc #t~ret0.base, #t~ret0.offset; {33592#true} is VALID [2020-07-10 20:23:22,738 INFO L280 TraceCheckUtils]: 83: Hoare triple {33592#true} assume true; {33592#true} is VALID [2020-07-10 20:23:22,740 INFO L275 TraceCheckUtils]: 84: Hoare quadruple {33592#true} {33593#false} #201#return; {33593#false} is VALID [2020-07-10 20:23:22,740 INFO L280 TraceCheckUtils]: 85: Hoare triple {33593#false} havoc #t~ret19.base, #t~ret19.offset; {33593#false} is VALID [2020-07-10 20:23:22,741 INFO L263 TraceCheckUtils]: 86: Hoare triple {33593#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {33593#false} is VALID [2020-07-10 20:23:22,741 INFO L280 TraceCheckUtils]: 87: Hoare triple {33593#false} ~cond := #in~cond; {33593#false} is VALID [2020-07-10 20:23:22,741 INFO L280 TraceCheckUtils]: 88: Hoare triple {33593#false} assume 0 == ~cond; {33593#false} is VALID [2020-07-10 20:23:22,741 INFO L280 TraceCheckUtils]: 89: Hoare triple {33593#false} assume !false; {33593#false} is VALID [2020-07-10 20:23:22,747 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-10 20:23:22,747 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:23:22,747 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [820052852] [2020-07-10 20:23:22,748 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:23:22,748 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-10 20:23:22,748 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [4649013] [2020-07-10 20:23:22,748 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 90 [2020-07-10 20:23:22,749 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:23:22,749 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-10 20:23:22,823 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-10 20:23:22,824 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-10 20:23:22,824 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:23:22,824 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-10 20:23:22,824 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2020-07-10 20:23:22,825 INFO L87 Difference]: Start difference. First operand 247 states and 270 transitions. Second operand 6 states. [2020-07-10 20:23:24,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:24,112 INFO L93 Difference]: Finished difference Result 387 states and 425 transitions. [2020-07-10 20:23:24,112 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-10 20:23:24,113 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 90 [2020-07-10 20:23:24,113 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:23:24,113 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 20:23:24,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 262 transitions. [2020-07-10 20:23:24,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 20:23:24,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 262 transitions. [2020-07-10 20:23:24,117 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 262 transitions. [2020-07-10 20:23:24,400 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-10 20:23:24,406 INFO L225 Difference]: With dead ends: 387 [2020-07-10 20:23:24,406 INFO L226 Difference]: Without dead ends: 290 [2020-07-10 20:23:24,407 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-10 20:23:24,407 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 290 states. [2020-07-10 20:23:24,874 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 290 to 247. [2020-07-10 20:23:24,875 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:23:24,875 INFO L82 GeneralOperation]: Start isEquivalent. First operand 290 states. Second operand 247 states. [2020-07-10 20:23:24,875 INFO L74 IsIncluded]: Start isIncluded. First operand 290 states. Second operand 247 states. [2020-07-10 20:23:24,875 INFO L87 Difference]: Start difference. First operand 290 states. Second operand 247 states. [2020-07-10 20:23:24,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:24,881 INFO L93 Difference]: Finished difference Result 290 states and 318 transitions. [2020-07-10 20:23:24,881 INFO L276 IsEmpty]: Start isEmpty. Operand 290 states and 318 transitions. [2020-07-10 20:23:24,882 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:23:24,882 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:23:24,882 INFO L74 IsIncluded]: Start isIncluded. First operand 247 states. Second operand 290 states. [2020-07-10 20:23:24,882 INFO L87 Difference]: Start difference. First operand 247 states. Second operand 290 states. [2020-07-10 20:23:24,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:24,889 INFO L93 Difference]: Finished difference Result 290 states and 318 transitions. [2020-07-10 20:23:24,889 INFO L276 IsEmpty]: Start isEmpty. Operand 290 states and 318 transitions. [2020-07-10 20:23:24,890 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:23:24,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:23:24,890 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:23:24,890 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:23:24,890 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 247 states. [2020-07-10 20:23:24,894 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 247 states to 247 states and 269 transitions. [2020-07-10 20:23:24,895 INFO L78 Accepts]: Start accepts. Automaton has 247 states and 269 transitions. Word has length 90 [2020-07-10 20:23:24,895 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:23:24,895 INFO L479 AbstractCegarLoop]: Abstraction has 247 states and 269 transitions. [2020-07-10 20:23:24,895 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-10 20:23:24,895 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 247 states and 269 transitions. [2020-07-10 20:23:25,314 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-10 20:23:25,314 INFO L276 IsEmpty]: Start isEmpty. Operand 247 states and 269 transitions. [2020-07-10 20:23:25,315 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2020-07-10 20:23:25,315 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:23:25,315 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-10 20:23:25,316 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18 [2020-07-10 20:23:25,316 INFO L427 AbstractCegarLoop]: === Iteration 20 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:23:25,316 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:23:25,316 INFO L82 PathProgramCache]: Analyzing trace with hash 888855281, now seen corresponding path program 1 times [2020-07-10 20:23:25,316 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:23:25,317 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2008418213] [2020-07-10 20:23:25,317 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:23:25,337 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-10 20:23:25,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-10 20:23:25,400 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:23:25,401 INFO L174 FreeRefinementEngine]: Strategy FIXED_PREFERENCES found a feasible trace [2020-07-10 20:23:25,401 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-10 20:23:25,402 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19 [2020-07-10 20:23:25,430 WARN L170 areAnnotationChecker]: parse_expression_listENTRY has no Hoare annotation [2020-07-10 20:23:25,430 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-10 20:23:25,431 WARN L170 areAnnotationChecker]: r_strncpyENTRY has no Hoare annotation [2020-07-10 20:23:25,431 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-10 20:23:25,431 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-10 20:23:25,431 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-10 20:23:25,431 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2020-07-10 20:23:25,431 WARN L170 areAnnotationChecker]: L48 has no Hoare annotation [2020-07-10 20:23:25,431 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-10 20:23:25,431 WARN L170 areAnnotationChecker]: L30 has no Hoare annotation [2020-07-10 20:23:25,432 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-10 20:23:25,432 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-10 20:23:25,432 WARN L170 areAnnotationChecker]: L74 has no Hoare annotation [2020-07-10 20:23:25,432 WARN L170 areAnnotationChecker]: L3 has no Hoare annotation [2020-07-10 20:23:25,432 WARN L170 areAnnotationChecker]: L3 has no Hoare annotation [2020-07-10 20:23:25,432 WARN L170 areAnnotationChecker]: L48-1 has no Hoare annotation [2020-07-10 20:23:25,432 WARN L170 areAnnotationChecker]: L-1-1 has no Hoare annotation [2020-07-10 20:23:25,432 WARN L170 areAnnotationChecker]: L30-1 has no Hoare annotation [2020-07-10 20:23:25,432 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-10 20:23:25,432 WARN L170 areAnnotationChecker]: L75 has no Hoare annotation [2020-07-10 20:23:25,433 WARN L170 areAnnotationChecker]: L75 has no Hoare annotation [2020-07-10 20:23:25,433 WARN L170 areAnnotationChecker]: L4 has no Hoare annotation [2020-07-10 20:23:25,433 WARN L170 areAnnotationChecker]: L4 has no Hoare annotation [2020-07-10 20:23:25,433 WARN L170 areAnnotationChecker]: L3-2 has no Hoare annotation [2020-07-10 20:23:25,433 WARN L170 areAnnotationChecker]: L48-2 has no Hoare annotation [2020-07-10 20:23:25,433 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-10 20:23:25,433 WARN L170 areAnnotationChecker]: L30-2 has no Hoare annotation [2020-07-10 20:23:25,433 WARN L170 areAnnotationChecker]: L76 has no Hoare annotation [2020-07-10 20:23:25,434 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2020-07-10 20:23:25,434 WARN L170 areAnnotationChecker]: L49 has no Hoare annotation [2020-07-10 20:23:25,434 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-10 20:23:25,434 WARN L170 areAnnotationChecker]: L30-3 has no Hoare annotation [2020-07-10 20:23:25,434 WARN L170 areAnnotationChecker]: L76-1 has no Hoare annotation [2020-07-10 20:23:25,434 WARN L170 areAnnotationChecker]: L62-1 has no Hoare annotation [2020-07-10 20:23:25,434 WARN L170 areAnnotationChecker]: L49-1 has no Hoare annotation [2020-07-10 20:23:25,434 WARN L170 areAnnotationChecker]: L49-1 has no Hoare annotation [2020-07-10 20:23:25,434 WARN L170 areAnnotationChecker]: L30-4 has no Hoare annotation [2020-07-10 20:23:25,434 WARN L170 areAnnotationChecker]: L77 has no Hoare annotation [2020-07-10 20:23:25,434 WARN L170 areAnnotationChecker]: L63 has no Hoare annotation [2020-07-10 20:23:25,435 WARN L170 areAnnotationChecker]: L50 has no Hoare annotation [2020-07-10 20:23:25,435 WARN L170 areAnnotationChecker]: L51-3 has no Hoare annotation [2020-07-10 20:23:25,435 WARN L170 areAnnotationChecker]: L51-3 has no Hoare annotation [2020-07-10 20:23:25,435 WARN L170 areAnnotationChecker]: r_strncpyFINAL has no Hoare annotation [2020-07-10 20:23:25,435 WARN L170 areAnnotationChecker]: L74-1 has no Hoare annotation [2020-07-10 20:23:25,435 WARN L170 areAnnotationChecker]: L53-2 has no Hoare annotation [2020-07-10 20:23:25,435 WARN L170 areAnnotationChecker]: L49-2 has no Hoare annotation [2020-07-10 20:23:25,435 WARN L170 areAnnotationChecker]: L52 has no Hoare annotation [2020-07-10 20:23:25,435 WARN L170 areAnnotationChecker]: L51-4 has no Hoare annotation [2020-07-10 20:23:25,435 WARN L170 areAnnotationChecker]: r_strncpyEXIT has no Hoare annotation [2020-07-10 20:23:25,436 WARN L170 areAnnotationChecker]: L74-2 has no Hoare annotation [2020-07-10 20:23:25,436 WARN L170 areAnnotationChecker]: L53-3 has no Hoare annotation [2020-07-10 20:23:25,436 WARN L170 areAnnotationChecker]: L49-3 has no Hoare annotation [2020-07-10 20:23:25,436 WARN L170 areAnnotationChecker]: L52-1 has no Hoare annotation [2020-07-10 20:23:25,436 WARN L170 areAnnotationChecker]: L49-6 has no Hoare annotation [2020-07-10 20:23:25,436 WARN L170 areAnnotationChecker]: L61-1 has no Hoare annotation [2020-07-10 20:23:25,436 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-10 20:23:25,436 WARN L170 areAnnotationChecker]: L51-1 has no Hoare annotation [2020-07-10 20:23:25,436 WARN L170 areAnnotationChecker]: parse_expression_listFINAL has no Hoare annotation [2020-07-10 20:23:25,436 WARN L170 areAnnotationChecker]: L53 has no Hoare annotation [2020-07-10 20:23:25,437 WARN L170 areAnnotationChecker]: L49-7 has no Hoare annotation [2020-07-10 20:23:25,437 WARN L170 areAnnotationChecker]: L62 has no Hoare annotation [2020-07-10 20:23:25,437 WARN L170 areAnnotationChecker]: L62 has no Hoare annotation [2020-07-10 20:23:25,437 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-10 20:23:25,437 WARN L170 areAnnotationChecker]: L69 has no Hoare annotation [2020-07-10 20:23:25,437 WARN L170 areAnnotationChecker]: L69 has no Hoare annotation [2020-07-10 20:23:25,437 WARN L170 areAnnotationChecker]: parse_expression_listEXIT has no Hoare annotation [2020-07-10 20:23:25,437 WARN L170 areAnnotationChecker]: L53-1 has no Hoare annotation [2020-07-10 20:23:25,437 WARN L170 areAnnotationChecker]: L69-1 has no Hoare annotation [2020-07-10 20:23:25,437 WARN L170 areAnnotationChecker]: L69-2 has no Hoare annotation [2020-07-10 20:23:25,438 WARN L170 areAnnotationChecker]: L54 has no Hoare annotation [2020-07-10 20:23:25,438 WARN L170 areAnnotationChecker]: L54 has no Hoare annotation [2020-07-10 20:23:25,438 WARN L170 areAnnotationChecker]: L55-17 has no Hoare annotation [2020-07-10 20:23:25,438 WARN L170 areAnnotationChecker]: L55-17 has no Hoare annotation [2020-07-10 20:23:25,438 WARN L170 areAnnotationChecker]: L55-18 has no Hoare annotation [2020-07-10 20:23:25,438 WARN L170 areAnnotationChecker]: L55-1 has no Hoare annotation [2020-07-10 20:23:25,438 WARN L170 areAnnotationChecker]: L56 has no Hoare annotation [2020-07-10 20:23:25,438 WARN L170 areAnnotationChecker]: L56 has no Hoare annotation [2020-07-10 20:23:25,438 WARN L170 areAnnotationChecker]: L55-2 has no Hoare annotation [2020-07-10 20:23:25,438 WARN L170 areAnnotationChecker]: L55-2 has no Hoare annotation [2020-07-10 20:23:25,438 WARN L170 areAnnotationChecker]: L56-1 has no Hoare annotation [2020-07-10 20:23:25,439 WARN L170 areAnnotationChecker]: L56-6 has no Hoare annotation [2020-07-10 20:23:25,439 WARN L170 areAnnotationChecker]: L55-6 has no Hoare annotation [2020-07-10 20:23:25,439 WARN L170 areAnnotationChecker]: L55-6 has no Hoare annotation [2020-07-10 20:23:25,439 WARN L170 areAnnotationChecker]: L55-4 has no Hoare annotation [2020-07-10 20:23:25,439 WARN L170 areAnnotationChecker]: L56-2 has no Hoare annotation [2020-07-10 20:23:25,439 WARN L170 areAnnotationChecker]: L56-7 has no Hoare annotation [2020-07-10 20:23:25,439 WARN L170 areAnnotationChecker]: L55-7 has no Hoare annotation [2020-07-10 20:23:25,439 WARN L170 areAnnotationChecker]: L55-11 has no Hoare annotation [2020-07-10 20:23:25,440 WARN L170 areAnnotationChecker]: L55-5 has no Hoare annotation [2020-07-10 20:23:25,440 WARN L170 areAnnotationChecker]: L56-3 has no Hoare annotation [2020-07-10 20:23:25,440 WARN L170 areAnnotationChecker]: L58-23 has no Hoare annotation [2020-07-10 20:23:25,440 WARN L170 areAnnotationChecker]: L58-23 has no Hoare annotation [2020-07-10 20:23:25,440 WARN L170 areAnnotationChecker]: L55-8 has no Hoare annotation [2020-07-10 20:23:25,440 WARN L170 areAnnotationChecker]: L55-12 has no Hoare annotation [2020-07-10 20:23:25,440 WARN L170 areAnnotationChecker]: L56-4 has no Hoare annotation [2020-07-10 20:23:25,440 WARN L170 areAnnotationChecker]: L58-24 has no Hoare annotation [2020-07-10 20:23:25,440 WARN L170 areAnnotationChecker]: L58-1 has no Hoare annotation [2020-07-10 20:23:25,441 WARN L170 areAnnotationChecker]: L58-1 has no Hoare annotation [2020-07-10 20:23:25,441 WARN L170 areAnnotationChecker]: L55-9 has no Hoare annotation [2020-07-10 20:23:25,441 WARN L170 areAnnotationChecker]: L55-13 has no Hoare annotation [2020-07-10 20:23:25,441 WARN L170 areAnnotationChecker]: L59 has no Hoare annotation [2020-07-10 20:23:25,441 WARN L170 areAnnotationChecker]: L59 has no Hoare annotation [2020-07-10 20:23:25,441 WARN L170 areAnnotationChecker]: L58-2 has no Hoare annotation [2020-07-10 20:23:25,441 WARN L170 areAnnotationChecker]: L58-10 has no Hoare annotation [2020-07-10 20:23:25,441 WARN L170 areAnnotationChecker]: L58-10 has no Hoare annotation [2020-07-10 20:23:25,441 WARN L170 areAnnotationChecker]: L55-14 has no Hoare annotation [2020-07-10 20:23:25,441 WARN L170 areAnnotationChecker]: L59-1 has no Hoare annotation [2020-07-10 20:23:25,442 WARN L170 areAnnotationChecker]: L59-4 has no Hoare annotation [2020-07-10 20:23:25,442 WARN L170 areAnnotationChecker]: L59-4 has no Hoare annotation [2020-07-10 20:23:25,442 WARN L170 areAnnotationChecker]: L58-3 has no Hoare annotation [2020-07-10 20:23:25,442 WARN L170 areAnnotationChecker]: L58-11 has no Hoare annotation [2020-07-10 20:23:25,442 WARN L170 areAnnotationChecker]: L58-16 has no Hoare annotation [2020-07-10 20:23:25,442 WARN L170 areAnnotationChecker]: L55-15 has no Hoare annotation [2020-07-10 20:23:25,442 WARN L170 areAnnotationChecker]: L59-2 has no Hoare annotation [2020-07-10 20:23:25,442 WARN L170 areAnnotationChecker]: L59-5 has no Hoare annotation [2020-07-10 20:23:25,442 WARN L170 areAnnotationChecker]: L59-11 has no Hoare annotation [2020-07-10 20:23:25,442 WARN L170 areAnnotationChecker]: L58-4 has no Hoare annotation [2020-07-10 20:23:25,443 WARN L170 areAnnotationChecker]: L58-4 has no Hoare annotation [2020-07-10 20:23:25,443 WARN L170 areAnnotationChecker]: L58-12 has no Hoare annotation [2020-07-10 20:23:25,443 WARN L170 areAnnotationChecker]: L58-17 has no Hoare annotation [2020-07-10 20:23:25,443 WARN L170 areAnnotationChecker]: L55-16 has no Hoare annotation [2020-07-10 20:23:25,443 WARN L170 areAnnotationChecker]: L59-6 has no Hoare annotation [2020-07-10 20:23:25,443 WARN L170 areAnnotationChecker]: L59-12 has no Hoare annotation [2020-07-10 20:23:25,443 WARN L170 areAnnotationChecker]: L58-8 has no Hoare annotation [2020-07-10 20:23:25,443 WARN L170 areAnnotationChecker]: L58-6 has no Hoare annotation [2020-07-10 20:23:25,443 WARN L170 areAnnotationChecker]: L58-13 has no Hoare annotation [2020-07-10 20:23:25,443 WARN L170 areAnnotationChecker]: L58-18 has no Hoare annotation [2020-07-10 20:23:25,444 WARN L170 areAnnotationChecker]: L59-7 has no Hoare annotation [2020-07-10 20:23:25,444 WARN L170 areAnnotationChecker]: L59-13 has no Hoare annotation [2020-07-10 20:23:25,444 WARN L170 areAnnotationChecker]: L59-13 has no Hoare annotation [2020-07-10 20:23:25,444 WARN L170 areAnnotationChecker]: L58-7 has no Hoare annotation [2020-07-10 20:23:25,444 WARN L170 areAnnotationChecker]: L58-14 has no Hoare annotation [2020-07-10 20:23:25,444 WARN L170 areAnnotationChecker]: L58-19 has no Hoare annotation [2020-07-10 20:23:25,444 WARN L170 areAnnotationChecker]: L59-8 has no Hoare annotation [2020-07-10 20:23:25,444 WARN L170 areAnnotationChecker]: L61 has no Hoare annotation [2020-07-10 20:23:25,444 WARN L170 areAnnotationChecker]: L61 has no Hoare annotation [2020-07-10 20:23:25,444 WARN L170 areAnnotationChecker]: L65 has no Hoare annotation [2020-07-10 20:23:25,445 WARN L170 areAnnotationChecker]: L58-20 has no Hoare annotation [2020-07-10 20:23:25,445 WARN L170 areAnnotationChecker]: L59-9 has no Hoare annotation [2020-07-10 20:23:25,445 WARN L170 areAnnotationChecker]: L49-4 has no Hoare annotation [2020-07-10 20:23:25,445 WARN L170 areAnnotationChecker]: L58-21 has no Hoare annotation [2020-07-10 20:23:25,445 WARN L170 areAnnotationChecker]: L49-5 has no Hoare annotation [2020-07-10 20:23:25,445 WARN L170 areAnnotationChecker]: L58-22 has no Hoare annotation [2020-07-10 20:23:25,445 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-10 20:23:25,450 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 10.07 08:23:25 BoogieIcfgContainer [2020-07-10 20:23:25,450 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-10 20:23:25,453 INFO L168 Benchmark]: Toolchain (without parser) took 62280.92 ms. Allocated memory was 140.0 MB in the beginning and 525.3 MB in the end (delta: 385.4 MB). Free memory was 103.5 MB in the beginning and 121.3 MB in the end (delta: -17.9 MB). Peak memory consumption was 367.5 MB. Max. memory is 7.1 GB. [2020-07-10 20:23:25,453 INFO L168 Benchmark]: CDTParser took 0.25 ms. Allocated memory is still 140.0 MB. Free memory was 122.2 MB in the beginning and 122.0 MB in the end (delta: 209.8 kB). Peak memory consumption was 209.8 kB. Max. memory is 7.1 GB. [2020-07-10 20:23:25,456 INFO L168 Benchmark]: CACSL2BoogieTranslator took 469.11 ms. Allocated memory was 140.0 MB in the beginning and 204.5 MB in the end (delta: 64.5 MB). Free memory was 103.2 MB in the beginning and 180.0 MB in the end (delta: -76.8 MB). Peak memory consumption was 23.2 MB. Max. memory is 7.1 GB. [2020-07-10 20:23:25,456 INFO L168 Benchmark]: Boogie Preprocessor took 56.94 ms. Allocated memory is still 204.5 MB. Free memory was 180.0 MB in the beginning and 177.5 MB in the end (delta: 2.6 MB). Peak memory consumption was 2.6 MB. Max. memory is 7.1 GB. [2020-07-10 20:23:25,457 INFO L168 Benchmark]: RCFGBuilder took 701.10 ms. Allocated memory is still 204.5 MB. Free memory was 177.5 MB in the beginning and 128.4 MB in the end (delta: 49.1 MB). Peak memory consumption was 49.1 MB. Max. memory is 7.1 GB. [2020-07-10 20:23:25,457 INFO L168 Benchmark]: TraceAbstraction took 61047.59 ms. Allocated memory was 204.5 MB in the beginning and 525.3 MB in the end (delta: 320.9 MB). Free memory was 127.7 MB in the beginning and 121.3 MB in the end (delta: 6.4 MB). Peak memory consumption was 327.3 MB. Max. memory is 7.1 GB. [2020-07-10 20:23:25,461 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.25 ms. Allocated memory is still 140.0 MB. Free memory was 122.2 MB in the beginning and 122.0 MB in the end (delta: 209.8 kB). Peak memory consumption was 209.8 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 469.11 ms. Allocated memory was 140.0 MB in the beginning and 204.5 MB in the end (delta: 64.5 MB). Free memory was 103.2 MB in the beginning and 180.0 MB in the end (delta: -76.8 MB). Peak memory consumption was 23.2 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 56.94 ms. Allocated memory is still 204.5 MB. Free memory was 180.0 MB in the beginning and 177.5 MB in the end (delta: 2.6 MB). Peak memory consumption was 2.6 MB. Max. memory is 7.1 GB. * RCFGBuilder took 701.10 ms. Allocated memory is still 204.5 MB. Free memory was 177.5 MB in the beginning and 128.4 MB in the end (delta: 49.1 MB). Peak memory consumption was 49.1 MB. Max. memory is 7.1 GB. * TraceAbstraction took 61047.59 ms. Allocated memory was 204.5 MB in the beginning and 525.3 MB in the end (delta: 320.9 MB). Free memory was 127.7 MB in the beginning and 121.3 MB in the end (delta: 6.4 MB). Peak memory consumption was 327.3 MB. Max. memory is 7.1 GB. * 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]; [L75] A[2 + 2 + 4] = 0 [L76] CALL parse_expression_list (A) [L48] int start=0, i=-1, j=-1; [L49] char str2[2]; [L50] COND FALSE !(!str) [L52] i++ [L53] str[i] [L54] case 0: [L69] EXPR str[i] [L69] COND TRUE str[i] != 0 [L52] i++ [L53] str[i] [L54] case 0: [L69] EXPR str[i] [L69] COND TRUE str[i] != 0 [L52] i++ [L53] str[i] [L54] case 0: [L55] EXPR str[start] [L55] (str[start] == ' ') || (str[start] == '\t') [L55] EXPR str[start] [L55] (str[start] == ' ') || (str[start] == '\t') [L55] COND FALSE !((str[start] == ' ') || (str[start] == '\t')) [L56] EXPR str[start] [L56] COND FALSE !(str[start] == '"') [L57] j = i-1 [L58] (0 < j) && ((str[j] == ' ') || (str[j] == '\t')) [L58] EXPR str[j] [L58] EXPR (str[j] == ' ') || (str[j] == '\t') [L58] EXPR str[j] [L58] EXPR (str[j] == ' ') || (str[j] == '\t') [L58] (0 < j) && ((str[j] == ' ') || (str[j] == '\t')) [L58] COND FALSE !((0 < j) && ((str[j] == ' ') || (str[j] == '\t'))) [L59] (0 < j) && (str[j] == '"') [L59] EXPR str[j] [L59] (0 < j) && (str[j] == '"') [L59] COND FALSE !((0 < j) && (str[j] == '"')) [L60] COND TRUE start<=j [L61] CALL r_strncpy(str2, str+start, j-start+1) [L30] return strncpy(dest,src,n); [L61] RET r_strncpy(str2, str+start, j-start+1) [L62] CALL __VERIFIER_assert(j - start + 1 < 2) [L3] COND TRUE !(cond) [L4] __VERIFIER_error() - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 123 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 60.9s, OverallIterations: 20, TraceHistogramMax: 3, AutomataDifference: 42.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 2563 SDtfs, 3310 SDslu, 9424 SDs, 0 SdLazy, 6236 SolverSat, 270 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.8s 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.8s AutomataMinimizationTime, 19 MinimizatonAttempts, 1532 StatesRemovedByMinimization, 15 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! Received shutdown request...