/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/veris.c_OpenSER_cases1_stripFullBoth_arr.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-8fc6572 [2020-07-10 20:22:20,233 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-10 20:22:20,237 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-10 20:22:20,257 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-10 20:22:20,257 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-10 20:22:20,259 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-10 20:22:20,261 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-10 20:22:20,273 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-10 20:22:20,277 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-10 20:22:20,280 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-10 20:22:20,282 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-10 20:22:20,285 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-10 20:22:20,285 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-10 20:22:20,288 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-10 20:22:20,291 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-10 20:22:20,293 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-10 20:22:20,295 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-10 20:22:20,296 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-10 20:22:20,298 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-10 20:22:20,304 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-10 20:22:20,309 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-10 20:22:20,313 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-10 20:22:20,314 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-10 20:22:20,315 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-10 20:22:20,317 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-10 20:22:20,317 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-10 20:22:20,318 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-10 20:22:20,320 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-10 20:22:20,321 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-10 20:22:20,323 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-10 20:22:20,323 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-10 20:22:20,324 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-10 20:22:20,326 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-10 20:22:20,327 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-10 20:22:20,329 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-10 20:22:20,329 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-10 20:22:20,330 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-10 20:22:20,330 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-10 20:22:20,330 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-10 20:22:20,331 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-10 20:22:20,333 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-10 20:22:20,334 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:20,365 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-10 20:22:20,365 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-10 20:22:20,367 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-10 20:22:20,367 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-10 20:22:20,369 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-10 20:22:20,370 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-10 20:22:20,370 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-10 20:22:20,370 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-10 20:22:20,370 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-10 20:22:20,370 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-10 20:22:20,371 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-10 20:22:20,371 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-10 20:22:20,371 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-10 20:22:20,371 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-10 20:22:20,372 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-10 20:22:20,372 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-10 20:22:20,372 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-10 20:22:20,377 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-10 20:22:20,377 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-10 20:22:20,377 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-10 20:22:20,377 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-10 20:22:20,377 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-10 20:22:20,378 INFO L138 SettingsManager]: * Use separate solver for trace checks=false [2020-07-10 20:22:20,696 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-10 20:22:20,715 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-10 20:22:20,720 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-10 20:22:20,722 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-10 20:22:20,722 INFO L275 PluginConnector]: CDTParser initialized [2020-07-10 20:22:20,723 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loops/veris.c_OpenSER_cases1_stripFullBoth_arr.i [2020-07-10 20:22:20,790 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/24b3f9dc7/98d70fbc029c4361807633515d732b44/FLAG3e19d0375 [2020-07-10 20:22:21,291 INFO L306 CDTParser]: Found 1 translation units. [2020-07-10 20:22:21,291 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/veris.c_OpenSER_cases1_stripFullBoth_arr.i [2020-07-10 20:22:21,301 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/24b3f9dc7/98d70fbc029c4361807633515d732b44/FLAG3e19d0375 [2020-07-10 20:22:21,806 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/24b3f9dc7/98d70fbc029c4361807633515d732b44 [2020-07-10 20:22:21,816 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-10 20:22:21,818 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-10 20:22:21,819 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-10 20:22:21,819 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-10 20:22:21,823 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-10 20:22:21,825 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 08:22:21" (1/1) ... [2020-07-10 20:22:21,828 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@24aa15b6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 08:22:21, skipping insertion in model container [2020-07-10 20:22:21,828 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 08:22:21" (1/1) ... [2020-07-10 20:22:21,836 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-10 20:22:21,857 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-10 20:22:22,206 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 20:22:22,217 INFO L203 MainTranslator]: Completed pre-run [2020-07-10 20:22:22,345 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 20:22:22,374 INFO L208 MainTranslator]: Completed translation [2020-07-10 20:22:22,374 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 08:22:22 WrapperNode [2020-07-10 20:22:22,374 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-10 20:22:22,378 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-10 20:22:22,378 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-10 20:22:22,378 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-10 20:22:22,393 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:22" (1/1) ... [2020-07-10 20:22:22,393 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:22" (1/1) ... [2020-07-10 20:22:22,416 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:22" (1/1) ... [2020-07-10 20:22:22,416 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:22" (1/1) ... [2020-07-10 20:22:22,449 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:22" (1/1) ... [2020-07-10 20:22:22,458 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:22" (1/1) ... [2020-07-10 20:22:22,460 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:22" (1/1) ... [2020-07-10 20:22:22,465 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-10 20:22:22,466 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-10 20:22:22,466 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-10 20:22:22,466 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-10 20:22:22,467 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 08:22:22" (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:22,536 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-10 20:22:22,536 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-10 20:22:22,536 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2020-07-10 20:22:22,536 INFO L138 BoogieDeclarations]: Found implementation of procedure r_strncpy [2020-07-10 20:22:22,536 INFO L138 BoogieDeclarations]: Found implementation of procedure parse_expression_list [2020-07-10 20:22:22,537 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-10 20:22:22,537 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-10 20:22:22,537 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_char [2020-07-10 20:22:22,537 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2020-07-10 20:22:22,537 INFO L130 BoogieDeclarations]: Found specification of procedure strchr [2020-07-10 20:22:22,537 INFO L130 BoogieDeclarations]: Found specification of procedure strrchr [2020-07-10 20:22:22,541 INFO L130 BoogieDeclarations]: Found specification of procedure strstr [2020-07-10 20:22:22,542 INFO L130 BoogieDeclarations]: Found specification of procedure strncpy [2020-07-10 20:22:22,542 INFO L130 BoogieDeclarations]: Found specification of procedure strncpy_ptr [2020-07-10 20:22:22,542 INFO L130 BoogieDeclarations]: Found specification of procedure strcpy [2020-07-10 20:22:22,542 INFO L130 BoogieDeclarations]: Found specification of procedure strlen [2020-07-10 20:22:22,542 INFO L130 BoogieDeclarations]: Found specification of procedure strncmp [2020-07-10 20:22:22,543 INFO L130 BoogieDeclarations]: Found specification of procedure strcmp [2020-07-10 20:22:22,544 INFO L130 BoogieDeclarations]: Found specification of procedure strcat [2020-07-10 20:22:22,544 INFO L130 BoogieDeclarations]: Found specification of procedure memcpy [2020-07-10 20:22:22,544 INFO L130 BoogieDeclarations]: Found specification of procedure isascii [2020-07-10 20:22:22,544 INFO L130 BoogieDeclarations]: Found specification of procedure isspace [2020-07-10 20:22:22,544 INFO L130 BoogieDeclarations]: Found specification of procedure getc [2020-07-10 20:22:22,545 INFO L130 BoogieDeclarations]: Found specification of procedure strrand [2020-07-10 20:22:22,545 INFO L130 BoogieDeclarations]: Found specification of procedure istrrand [2020-07-10 20:22:22,545 INFO L130 BoogieDeclarations]: Found specification of procedure istrchr [2020-07-10 20:22:22,545 INFO L130 BoogieDeclarations]: Found specification of procedure istrrchr [2020-07-10 20:22:22,545 INFO L130 BoogieDeclarations]: Found specification of procedure istrncmp [2020-07-10 20:22:22,545 INFO L130 BoogieDeclarations]: Found specification of procedure istrstr [2020-07-10 20:22:22,546 INFO L130 BoogieDeclarations]: Found specification of procedure r_strncpy [2020-07-10 20:22:22,546 INFO L130 BoogieDeclarations]: Found specification of procedure r_strcpy [2020-07-10 20:22:22,546 INFO L130 BoogieDeclarations]: Found specification of procedure r_strcat [2020-07-10 20:22:22,546 INFO L130 BoogieDeclarations]: Found specification of procedure r_strncat [2020-07-10 20:22:22,546 INFO L130 BoogieDeclarations]: Found specification of procedure r_memcpy [2020-07-10 20:22:22,546 INFO L130 BoogieDeclarations]: Found specification of procedure parse_expression_list [2020-07-10 20:22:22,547 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-10 20:22:22,547 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-10 20:22:22,547 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-10 20:22:22,547 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-10 20:22:22,547 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-10 20:22:22,547 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-10 20:22:22,548 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-10 20:22:23,212 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-10 20:22:23,213 INFO L295 CfgBuilder]: Removed 4 assume(true) statements. [2020-07-10 20:22:23,218 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 08:22:23 BoogieIcfgContainer [2020-07-10 20:22:23,218 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-10 20:22:23,220 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-10 20:22:23,220 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-10 20:22:23,224 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-10 20:22:23,224 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 10.07 08:22:21" (1/3) ... [2020-07-10 20:22:23,225 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3adb1d33 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 08:22:23, skipping insertion in model container [2020-07-10 20:22:23,225 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 08:22:22" (2/3) ... [2020-07-10 20:22:23,226 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3adb1d33 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 08:22:23, skipping insertion in model container [2020-07-10 20:22:23,226 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 08:22:23" (3/3) ... [2020-07-10 20:22:23,228 INFO L109 eAbstractionObserver]: Analyzing ICFG veris.c_OpenSER_cases1_stripFullBoth_arr.i [2020-07-10 20:22:23,241 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:AcceleratedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-10 20:22:23,251 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-10 20:22:23,267 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-10 20:22:23,292 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-10 20:22:23,293 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-10 20:22:23,293 INFO L377 AbstractCegarLoop]: Compute interpolants for AcceleratedInterpolation [2020-07-10 20:22:23,293 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-10 20:22:23,294 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-10 20:22:23,294 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-10 20:22:23,294 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-10 20:22:23,294 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-10 20:22:23,315 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states. [2020-07-10 20:22:23,329 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2020-07-10 20:22:23,330 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:23,331 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] [2020-07-10 20:22:23,331 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:23,339 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:23,340 INFO L82 PathProgramCache]: Analyzing trace with hash 593727157, now seen corresponding path program 1 times [2020-07-10 20:22:23,350 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:23,351 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [383039443] [2020-07-10 20:22:23,351 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:23,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:23,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:23,586 INFO L280 TraceCheckUtils]: 0: Hoare triple {153#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {138#true} is VALID [2020-07-10 20:22:23,586 INFO L280 TraceCheckUtils]: 1: Hoare triple {138#true} #valid := #valid[0 := 0]; {138#true} is VALID [2020-07-10 20:22:23,587 INFO L280 TraceCheckUtils]: 2: Hoare triple {138#true} assume 0 < #StackHeapBarrier; {138#true} is VALID [2020-07-10 20:22:23,588 INFO L280 TraceCheckUtils]: 3: Hoare triple {138#true} assume true; {138#true} is VALID [2020-07-10 20:22:23,588 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {138#true} {138#true} #231#return; {138#true} is VALID [2020-07-10 20:22:23,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:23,601 INFO L280 TraceCheckUtils]: 0: Hoare triple {138#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {138#true} is VALID [2020-07-10 20:22:23,602 INFO L280 TraceCheckUtils]: 1: Hoare triple {138#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {138#true} is VALID [2020-07-10 20:22:23,603 INFO L280 TraceCheckUtils]: 2: Hoare triple {138#true} ~n := #in~n; {138#true} is VALID [2020-07-10 20:22:23,603 INFO L280 TraceCheckUtils]: 3: Hoare triple {138#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {138#true} is VALID [2020-07-10 20:22:23,604 INFO L280 TraceCheckUtils]: 4: Hoare triple {138#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {138#true} is VALID [2020-07-10 20:22:23,604 INFO L280 TraceCheckUtils]: 5: Hoare triple {138#true} havoc #t~ret0.base, #t~ret0.offset; {138#true} is VALID [2020-07-10 20:22:23,604 INFO L280 TraceCheckUtils]: 6: Hoare triple {138#true} assume true; {138#true} is VALID [2020-07-10 20:22:23,605 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {138#true} {139#false} #227#return; {139#false} is VALID [2020-07-10 20:22:23,607 INFO L263 TraceCheckUtils]: 0: Hoare triple {138#true} call ULTIMATE.init(); {153#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:22:23,607 INFO L280 TraceCheckUtils]: 1: Hoare triple {153#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {138#true} is VALID [2020-07-10 20:22:23,608 INFO L280 TraceCheckUtils]: 2: Hoare triple {138#true} #valid := #valid[0 := 0]; {138#true} is VALID [2020-07-10 20:22:23,608 INFO L280 TraceCheckUtils]: 3: Hoare triple {138#true} assume 0 < #StackHeapBarrier; {138#true} is VALID [2020-07-10 20:22:23,609 INFO L280 TraceCheckUtils]: 4: Hoare triple {138#true} assume true; {138#true} is VALID [2020-07-10 20:22:23,609 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {138#true} {138#true} #231#return; {138#true} is VALID [2020-07-10 20:22:23,609 INFO L263 TraceCheckUtils]: 6: Hoare triple {138#true} call #t~ret23 := main(); {138#true} is VALID [2020-07-10 20:22:23,610 INFO L280 TraceCheckUtils]: 7: Hoare triple {138#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {138#true} is VALID [2020-07-10 20:22:23,610 INFO L280 TraceCheckUtils]: 8: Hoare triple {138#true} ~i~1 := 0; {138#true} is VALID [2020-07-10 20:22:23,611 INFO L280 TraceCheckUtils]: 9: Hoare triple {138#true} assume !true; {139#false} is VALID [2020-07-10 20:22:23,612 INFO L280 TraceCheckUtils]: 10: Hoare triple {139#false} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L79-6 {139#false} is VALID [2020-07-10 20:22:23,612 INFO L263 TraceCheckUtils]: 11: Hoare triple {139#false} call #t~ret22 := parse_expression_list(~#A~0.base, ~#A~0.offset); {139#false} is VALID [2020-07-10 20:22:23,613 INFO L280 TraceCheckUtils]: 12: Hoare triple {139#false} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {139#false} is VALID [2020-07-10 20:22:23,613 INFO L280 TraceCheckUtils]: 13: Hoare triple {139#false} ~start~0 := 0; {139#false} is VALID [2020-07-10 20:22:23,613 INFO L280 TraceCheckUtils]: 14: Hoare triple {139#false} ~i~0 := -1; {139#false} is VALID [2020-07-10 20:22:23,614 INFO L280 TraceCheckUtils]: 15: Hoare triple {139#false} ~j~0 := -1; {139#false} is VALID [2020-07-10 20:22:23,614 INFO L280 TraceCheckUtils]: 16: Hoare triple {139#false} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L50 {139#false} is VALID [2020-07-10 20:22:23,615 INFO L280 TraceCheckUtils]: 17: Hoare triple {139#false} assume !(~str.base == 0 && ~str.offset == 0); {139#false} is VALID [2020-07-10 20:22:23,615 INFO L280 TraceCheckUtils]: 18: Hoare triple {139#false} #t~post2 := ~i~0; {139#false} is VALID [2020-07-10 20:22:23,615 INFO L280 TraceCheckUtils]: 19: Hoare triple {139#false} ~i~0 := 1 + #t~post2; {139#false} is VALID [2020-07-10 20:22:23,616 INFO L280 TraceCheckUtils]: 20: Hoare triple {139#false} havoc #t~post2; {139#false} is VALID [2020-07-10 20:22:23,616 INFO L280 TraceCheckUtils]: 21: Hoare triple {139#false} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L54 {139#false} is VALID [2020-07-10 20:22:23,617 INFO L280 TraceCheckUtils]: 22: Hoare triple {139#false} #t~switch4 := 0 == #t~mem3; {139#false} is VALID [2020-07-10 20:22:23,617 INFO L280 TraceCheckUtils]: 23: Hoare triple {139#false} assume #t~switch4; {139#false} is VALID [2020-07-10 20:22:23,618 INFO L280 TraceCheckUtils]: 24: Hoare triple {139#false} assume !true; {139#false} is VALID [2020-07-10 20:22:23,618 INFO L280 TraceCheckUtils]: 25: Hoare triple {139#false} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-18 {139#false} is VALID [2020-07-10 20:22:23,618 INFO L280 TraceCheckUtils]: 26: Hoare triple {139#false} assume !(34 == #t~mem9); {139#false} is VALID [2020-07-10 20:22:23,619 INFO L280 TraceCheckUtils]: 27: Hoare triple {139#false} havoc #t~mem9; {139#false} is VALID [2020-07-10 20:22:23,619 INFO L280 TraceCheckUtils]: 28: Hoare triple {139#false} ~j~0 := ~i~0 - 1; {139#false} is VALID [2020-07-10 20:22:23,619 INFO L280 TraceCheckUtils]: 29: Hoare triple {139#false} assume !true; {139#false} is VALID [2020-07-10 20:22:23,620 INFO L280 TraceCheckUtils]: 30: Hoare triple {139#false} #t~short17 := 0 < ~j~0; {139#false} is VALID [2020-07-10 20:22:23,620 INFO L280 TraceCheckUtils]: 31: Hoare triple {139#false} assume !#t~short17; {139#false} is VALID [2020-07-10 20:22:23,621 INFO L280 TraceCheckUtils]: 32: Hoare triple {139#false} assume !#t~short17; {139#false} is VALID [2020-07-10 20:22:23,621 INFO L280 TraceCheckUtils]: 33: Hoare triple {139#false} havoc #t~mem16; {139#false} is VALID [2020-07-10 20:22:23,621 INFO L280 TraceCheckUtils]: 34: Hoare triple {139#false} havoc #t~short17; {139#false} is VALID [2020-07-10 20:22:23,622 INFO L280 TraceCheckUtils]: 35: Hoare triple {139#false} assume ~start~0 <= ~j~0; {139#false} is VALID [2020-07-10 20:22:23,622 INFO L280 TraceCheckUtils]: 36: Hoare triple {139#false} assume !(1 + (~j~0 - ~start~0) >= 2); {139#false} is VALID [2020-07-10 20:22:23,623 INFO L263 TraceCheckUtils]: 37: Hoare triple {139#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)); {138#true} is VALID [2020-07-10 20:22:23,623 INFO L280 TraceCheckUtils]: 38: Hoare triple {138#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {138#true} is VALID [2020-07-10 20:22:23,623 INFO L280 TraceCheckUtils]: 39: Hoare triple {138#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {138#true} is VALID [2020-07-10 20:22:23,624 INFO L280 TraceCheckUtils]: 40: Hoare triple {138#true} ~n := #in~n; {138#true} is VALID [2020-07-10 20:22:23,624 INFO L280 TraceCheckUtils]: 41: Hoare triple {138#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {138#true} is VALID [2020-07-10 20:22:23,625 INFO L280 TraceCheckUtils]: 42: Hoare triple {138#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {138#true} is VALID [2020-07-10 20:22:23,625 INFO L280 TraceCheckUtils]: 43: Hoare triple {138#true} havoc #t~ret0.base, #t~ret0.offset; {138#true} is VALID [2020-07-10 20:22:23,625 INFO L280 TraceCheckUtils]: 44: Hoare triple {138#true} assume true; {138#true} is VALID [2020-07-10 20:22:23,626 INFO L275 TraceCheckUtils]: 45: Hoare quadruple {138#true} {139#false} #227#return; {139#false} is VALID [2020-07-10 20:22:23,626 INFO L280 TraceCheckUtils]: 46: Hoare triple {139#false} havoc #t~ret19.base, #t~ret19.offset; {139#false} is VALID [2020-07-10 20:22:23,627 INFO L263 TraceCheckUtils]: 47: Hoare triple {139#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {139#false} is VALID [2020-07-10 20:22:23,627 INFO L280 TraceCheckUtils]: 48: Hoare triple {139#false} ~cond := #in~cond; {139#false} is VALID [2020-07-10 20:22:23,628 INFO L280 TraceCheckUtils]: 49: Hoare triple {139#false} assume 0 == ~cond; {139#false} is VALID [2020-07-10 20:22:23,628 INFO L280 TraceCheckUtils]: 50: Hoare triple {139#false} assume !false; {139#false} is VALID [2020-07-10 20:22:23,636 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:23,637 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:23,639 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [383039443] [2020-07-10 20:22:23,641 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:23,641 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-07-10 20:22:23,642 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1574981101] [2020-07-10 20:22:23,649 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 51 [2020-07-10 20:22:23,653 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:23,657 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-10 20:22:23,778 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:23,778 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-10 20:22:23,779 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:23,788 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-10 20:22:23,789 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-10 20:22:23,791 INFO L87 Difference]: Start difference. First operand 135 states. Second operand 3 states. [2020-07-10 20:22:24,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:24,512 INFO L93 Difference]: Finished difference Result 254 states and 290 transitions. [2020-07-10 20:22:24,512 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-10 20:22:24,512 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 51 [2020-07-10 20:22:24,512 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:24,514 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-10 20:22:24,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 290 transitions. [2020-07-10 20:22:24,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-10 20:22:24,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 290 transitions. [2020-07-10 20:22:24,541 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 290 transitions. [2020-07-10 20:22:24,892 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 290 edges. 290 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:24,909 INFO L225 Difference]: With dead ends: 254 [2020-07-10 20:22:24,909 INFO L226 Difference]: Without dead ends: 111 [2020-07-10 20:22:24,914 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:24,933 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2020-07-10 20:22:25,032 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 111. [2020-07-10 20:22:25,033 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:25,033 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand 111 states. [2020-07-10 20:22:25,034 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 111 states. [2020-07-10 20:22:25,034 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 111 states. [2020-07-10 20:22:25,043 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:25,043 INFO L93 Difference]: Finished difference Result 111 states and 121 transitions. [2020-07-10 20:22:25,043 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 121 transitions. [2020-07-10 20:22:25,045 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:25,045 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:25,045 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 111 states. [2020-07-10 20:22:25,045 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 111 states. [2020-07-10 20:22:25,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:25,053 INFO L93 Difference]: Finished difference Result 111 states and 121 transitions. [2020-07-10 20:22:25,054 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 121 transitions. [2020-07-10 20:22:25,055 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:25,055 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:25,055 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:25,056 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:25,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2020-07-10 20:22:25,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 121 transitions. [2020-07-10 20:22:25,063 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 121 transitions. Word has length 51 [2020-07-10 20:22:25,063 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:25,064 INFO L479 AbstractCegarLoop]: Abstraction has 111 states and 121 transitions. [2020-07-10 20:22:25,064 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-10 20:22:25,064 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 111 states and 121 transitions. [2020-07-10 20:22:25,185 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:25,186 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 121 transitions. [2020-07-10 20:22:25,188 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2020-07-10 20:22:25,188 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:25,188 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] [2020-07-10 20:22:25,189 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-10 20:22:25,189 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:25,189 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:25,190 INFO L82 PathProgramCache]: Analyzing trace with hash 1128985001, now seen corresponding path program 1 times [2020-07-10 20:22:25,190 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:25,190 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1037667266] [2020-07-10 20:22:25,190 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:25,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:25,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:25,302 INFO L280 TraceCheckUtils]: 0: Hoare triple {1124#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1108#true} is VALID [2020-07-10 20:22:25,303 INFO L280 TraceCheckUtils]: 1: Hoare triple {1108#true} #valid := #valid[0 := 0]; {1108#true} is VALID [2020-07-10 20:22:25,303 INFO L280 TraceCheckUtils]: 2: Hoare triple {1108#true} assume 0 < #StackHeapBarrier; {1108#true} is VALID [2020-07-10 20:22:25,303 INFO L280 TraceCheckUtils]: 3: Hoare triple {1108#true} assume true; {1108#true} is VALID [2020-07-10 20:22:25,304 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1108#true} {1108#true} #231#return; {1108#true} is VALID [2020-07-10 20:22:25,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:25,311 INFO L280 TraceCheckUtils]: 0: Hoare triple {1108#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {1108#true} is VALID [2020-07-10 20:22:25,312 INFO L280 TraceCheckUtils]: 1: Hoare triple {1108#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {1108#true} is VALID [2020-07-10 20:22:25,312 INFO L280 TraceCheckUtils]: 2: Hoare triple {1108#true} ~n := #in~n; {1108#true} is VALID [2020-07-10 20:22:25,313 INFO L280 TraceCheckUtils]: 3: Hoare triple {1108#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {1108#true} is VALID [2020-07-10 20:22:25,313 INFO L280 TraceCheckUtils]: 4: Hoare triple {1108#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {1108#true} is VALID [2020-07-10 20:22:25,313 INFO L280 TraceCheckUtils]: 5: Hoare triple {1108#true} havoc #t~ret0.base, #t~ret0.offset; {1108#true} is VALID [2020-07-10 20:22:25,314 INFO L280 TraceCheckUtils]: 6: Hoare triple {1108#true} assume true; {1108#true} is VALID [2020-07-10 20:22:25,314 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {1108#true} {1109#false} #227#return; {1109#false} is VALID [2020-07-10 20:22:25,315 INFO L263 TraceCheckUtils]: 0: Hoare triple {1108#true} call ULTIMATE.init(); {1124#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:22:25,316 INFO L280 TraceCheckUtils]: 1: Hoare triple {1124#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1108#true} is VALID [2020-07-10 20:22:25,316 INFO L280 TraceCheckUtils]: 2: Hoare triple {1108#true} #valid := #valid[0 := 0]; {1108#true} is VALID [2020-07-10 20:22:25,316 INFO L280 TraceCheckUtils]: 3: Hoare triple {1108#true} assume 0 < #StackHeapBarrier; {1108#true} is VALID [2020-07-10 20:22:25,317 INFO L280 TraceCheckUtils]: 4: Hoare triple {1108#true} assume true; {1108#true} is VALID [2020-07-10 20:22:25,317 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1108#true} {1108#true} #231#return; {1108#true} is VALID [2020-07-10 20:22:25,317 INFO L263 TraceCheckUtils]: 6: Hoare triple {1108#true} call #t~ret23 := main(); {1108#true} is VALID [2020-07-10 20:22:25,318 INFO L280 TraceCheckUtils]: 7: Hoare triple {1108#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {1108#true} is VALID [2020-07-10 20:22:25,319 INFO L280 TraceCheckUtils]: 8: Hoare triple {1108#true} ~i~1 := 0; {1115#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:25,319 INFO L280 TraceCheckUtils]: 9: Hoare triple {1115#(= 0 main_~i~1)} assume !(~i~1 < 8); {1109#false} is VALID [2020-07-10 20:22:25,320 INFO L280 TraceCheckUtils]: 10: Hoare triple {1109#false} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L79-6 {1109#false} is VALID [2020-07-10 20:22:25,320 INFO L263 TraceCheckUtils]: 11: Hoare triple {1109#false} call #t~ret22 := parse_expression_list(~#A~0.base, ~#A~0.offset); {1109#false} is VALID [2020-07-10 20:22:25,321 INFO L280 TraceCheckUtils]: 12: Hoare triple {1109#false} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {1109#false} is VALID [2020-07-10 20:22:25,321 INFO L280 TraceCheckUtils]: 13: Hoare triple {1109#false} ~start~0 := 0; {1109#false} is VALID [2020-07-10 20:22:25,321 INFO L280 TraceCheckUtils]: 14: Hoare triple {1109#false} ~i~0 := -1; {1109#false} is VALID [2020-07-10 20:22:25,321 INFO L280 TraceCheckUtils]: 15: Hoare triple {1109#false} ~j~0 := -1; {1109#false} is VALID [2020-07-10 20:22:25,322 INFO L280 TraceCheckUtils]: 16: Hoare triple {1109#false} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L50 {1109#false} is VALID [2020-07-10 20:22:25,322 INFO L280 TraceCheckUtils]: 17: Hoare triple {1109#false} assume !(~str.base == 0 && ~str.offset == 0); {1109#false} is VALID [2020-07-10 20:22:25,322 INFO L280 TraceCheckUtils]: 18: Hoare triple {1109#false} #t~post2 := ~i~0; {1109#false} is VALID [2020-07-10 20:22:25,323 INFO L280 TraceCheckUtils]: 19: Hoare triple {1109#false} ~i~0 := 1 + #t~post2; {1109#false} is VALID [2020-07-10 20:22:25,323 INFO L280 TraceCheckUtils]: 20: Hoare triple {1109#false} havoc #t~post2; {1109#false} is VALID [2020-07-10 20:22:25,323 INFO L280 TraceCheckUtils]: 21: Hoare triple {1109#false} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L54 {1109#false} is VALID [2020-07-10 20:22:25,324 INFO L280 TraceCheckUtils]: 22: Hoare triple {1109#false} #t~switch4 := 0 == #t~mem3; {1109#false} is VALID [2020-07-10 20:22:25,324 INFO L280 TraceCheckUtils]: 23: Hoare triple {1109#false} assume #t~switch4; {1109#false} is VALID [2020-07-10 20:22:25,324 INFO L280 TraceCheckUtils]: 24: Hoare triple {1109#false} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-17 {1109#false} is VALID [2020-07-10 20:22:25,324 INFO L280 TraceCheckUtils]: 25: Hoare triple {1109#false} #t~short7 := 32 == #t~mem5; {1109#false} is VALID [2020-07-10 20:22:25,325 INFO L280 TraceCheckUtils]: 26: Hoare triple {1109#false} assume #t~short7; {1109#false} is VALID [2020-07-10 20:22:25,325 INFO L280 TraceCheckUtils]: 27: Hoare triple {1109#false} assume !#t~short7; {1109#false} is VALID [2020-07-10 20:22:25,325 INFO L280 TraceCheckUtils]: 28: Hoare triple {1109#false} havoc #t~mem5; {1109#false} is VALID [2020-07-10 20:22:25,326 INFO L280 TraceCheckUtils]: 29: Hoare triple {1109#false} havoc #t~mem6; {1109#false} is VALID [2020-07-10 20:22:25,326 INFO L280 TraceCheckUtils]: 30: Hoare triple {1109#false} havoc #t~short7; {1109#false} is VALID [2020-07-10 20:22:25,326 INFO L280 TraceCheckUtils]: 31: Hoare triple {1109#false} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-18 {1109#false} is VALID [2020-07-10 20:22:25,327 INFO L280 TraceCheckUtils]: 32: Hoare triple {1109#false} assume !(34 == #t~mem9); {1109#false} is VALID [2020-07-10 20:22:25,327 INFO L280 TraceCheckUtils]: 33: Hoare triple {1109#false} havoc #t~mem9; {1109#false} is VALID [2020-07-10 20:22:25,327 INFO L280 TraceCheckUtils]: 34: Hoare triple {1109#false} ~j~0 := ~i~0 - 1; {1109#false} is VALID [2020-07-10 20:22:25,328 INFO L280 TraceCheckUtils]: 35: Hoare triple {1109#false} #t~short14 := 0 < ~j~0; {1109#false} is VALID [2020-07-10 20:22:25,328 INFO L280 TraceCheckUtils]: 36: Hoare triple {1109#false} assume !#t~short14; {1109#false} is VALID [2020-07-10 20:22:25,328 INFO L280 TraceCheckUtils]: 37: Hoare triple {1109#false} assume !#t~short14; {1109#false} is VALID [2020-07-10 20:22:25,329 INFO L280 TraceCheckUtils]: 38: Hoare triple {1109#false} havoc #t~mem12; {1109#false} is VALID [2020-07-10 20:22:25,329 INFO L280 TraceCheckUtils]: 39: Hoare triple {1109#false} havoc #t~short13; {1109#false} is VALID [2020-07-10 20:22:25,329 INFO L280 TraceCheckUtils]: 40: Hoare triple {1109#false} havoc #t~short14; {1109#false} is VALID [2020-07-10 20:22:25,330 INFO L280 TraceCheckUtils]: 41: Hoare triple {1109#false} havoc #t~mem11; {1109#false} is VALID [2020-07-10 20:22:25,330 INFO L280 TraceCheckUtils]: 42: Hoare triple {1109#false} #t~short17 := 0 < ~j~0; {1109#false} is VALID [2020-07-10 20:22:25,330 INFO L280 TraceCheckUtils]: 43: Hoare triple {1109#false} assume !#t~short17; {1109#false} is VALID [2020-07-10 20:22:25,330 INFO L280 TraceCheckUtils]: 44: Hoare triple {1109#false} assume !#t~short17; {1109#false} is VALID [2020-07-10 20:22:25,331 INFO L280 TraceCheckUtils]: 45: Hoare triple {1109#false} havoc #t~mem16; {1109#false} is VALID [2020-07-10 20:22:25,331 INFO L280 TraceCheckUtils]: 46: Hoare triple {1109#false} havoc #t~short17; {1109#false} is VALID [2020-07-10 20:22:25,331 INFO L280 TraceCheckUtils]: 47: Hoare triple {1109#false} assume ~start~0 <= ~j~0; {1109#false} is VALID [2020-07-10 20:22:25,332 INFO L280 TraceCheckUtils]: 48: Hoare triple {1109#false} assume !(1 + (~j~0 - ~start~0) >= 2); {1109#false} is VALID [2020-07-10 20:22:25,332 INFO L263 TraceCheckUtils]: 49: Hoare triple {1109#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)); {1108#true} is VALID [2020-07-10 20:22:25,332 INFO L280 TraceCheckUtils]: 50: Hoare triple {1108#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {1108#true} is VALID [2020-07-10 20:22:25,333 INFO L280 TraceCheckUtils]: 51: Hoare triple {1108#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {1108#true} is VALID [2020-07-10 20:22:25,333 INFO L280 TraceCheckUtils]: 52: Hoare triple {1108#true} ~n := #in~n; {1108#true} is VALID [2020-07-10 20:22:25,333 INFO L280 TraceCheckUtils]: 53: Hoare triple {1108#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {1108#true} is VALID [2020-07-10 20:22:25,334 INFO L280 TraceCheckUtils]: 54: Hoare triple {1108#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {1108#true} is VALID [2020-07-10 20:22:25,334 INFO L280 TraceCheckUtils]: 55: Hoare triple {1108#true} havoc #t~ret0.base, #t~ret0.offset; {1108#true} is VALID [2020-07-10 20:22:25,334 INFO L280 TraceCheckUtils]: 56: Hoare triple {1108#true} assume true; {1108#true} is VALID [2020-07-10 20:22:25,334 INFO L275 TraceCheckUtils]: 57: Hoare quadruple {1108#true} {1109#false} #227#return; {1109#false} is VALID [2020-07-10 20:22:25,335 INFO L280 TraceCheckUtils]: 58: Hoare triple {1109#false} havoc #t~ret19.base, #t~ret19.offset; {1109#false} is VALID [2020-07-10 20:22:25,335 INFO L263 TraceCheckUtils]: 59: Hoare triple {1109#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {1109#false} is VALID [2020-07-10 20:22:25,335 INFO L280 TraceCheckUtils]: 60: Hoare triple {1109#false} ~cond := #in~cond; {1109#false} is VALID [2020-07-10 20:22:25,336 INFO L280 TraceCheckUtils]: 61: Hoare triple {1109#false} assume 0 == ~cond; {1109#false} is VALID [2020-07-10 20:22:25,336 INFO L280 TraceCheckUtils]: 62: Hoare triple {1109#false} assume !false; {1109#false} is VALID [2020-07-10 20:22:25,342 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:25,342 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:25,342 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1037667266] [2020-07-10 20:22:25,343 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:25,343 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-10 20:22:25,343 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1330308003] [2020-07-10 20:22:25,344 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 63 [2020-07-10 20:22:25,345 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:25,345 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-10 20:22:25,408 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:25,409 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-10 20:22:25,409 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:25,409 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-10 20:22:25,409 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 20:22:25,410 INFO L87 Difference]: Start difference. First operand 111 states and 121 transitions. Second operand 4 states. [2020-07-10 20:22:25,965 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:25,965 INFO L93 Difference]: Finished difference Result 212 states and 232 transitions. [2020-07-10 20:22:25,965 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-10 20:22:25,965 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 63 [2020-07-10 20:22:25,966 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:25,966 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 20:22:25,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 232 transitions. [2020-07-10 20:22:25,972 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 20:22:25,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 232 transitions. [2020-07-10 20:22:25,977 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 232 transitions. [2020-07-10 20:22:26,209 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 232 edges. 232 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:26,214 INFO L225 Difference]: With dead ends: 212 [2020-07-10 20:22:26,215 INFO L226 Difference]: Without dead ends: 117 [2020-07-10 20:22:26,217 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:26,218 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117 states. [2020-07-10 20:22:26,303 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117 to 112. [2020-07-10 20:22:26,304 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:26,304 INFO L82 GeneralOperation]: Start isEquivalent. First operand 117 states. Second operand 112 states. [2020-07-10 20:22:26,304 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 112 states. [2020-07-10 20:22:26,304 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 112 states. [2020-07-10 20:22:26,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:26,312 INFO L93 Difference]: Finished difference Result 117 states and 127 transitions. [2020-07-10 20:22:26,312 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 127 transitions. [2020-07-10 20:22:26,313 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:26,314 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:26,314 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 117 states. [2020-07-10 20:22:26,314 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 117 states. [2020-07-10 20:22:26,321 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:26,321 INFO L93 Difference]: Finished difference Result 117 states and 127 transitions. [2020-07-10 20:22:26,321 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 127 transitions. [2020-07-10 20:22:26,322 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:26,322 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:26,323 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:26,323 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:26,323 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 112 states. [2020-07-10 20:22:26,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 122 transitions. [2020-07-10 20:22:26,330 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 122 transitions. Word has length 63 [2020-07-10 20:22:26,330 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:26,330 INFO L479 AbstractCegarLoop]: Abstraction has 112 states and 122 transitions. [2020-07-10 20:22:26,330 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-10 20:22:26,330 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 112 states and 122 transitions. [2020-07-10 20:22:26,450 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:26,450 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 122 transitions. [2020-07-10 20:22:26,452 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 71 [2020-07-10 20:22:26,452 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:26,452 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:26,453 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-10 20:22:26,453 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:26,453 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:26,453 INFO L82 PathProgramCache]: Analyzing trace with hash 1210839627, now seen corresponding path program 1 times [2020-07-10 20:22:26,454 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:26,454 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [358568284] [2020-07-10 20:22:26,454 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:26,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:26,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:26,632 INFO L280 TraceCheckUtils]: 0: Hoare triple {2027#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {2009#true} is VALID [2020-07-10 20:22:26,633 INFO L280 TraceCheckUtils]: 1: Hoare triple {2009#true} #valid := #valid[0 := 0]; {2009#true} is VALID [2020-07-10 20:22:26,633 INFO L280 TraceCheckUtils]: 2: Hoare triple {2009#true} assume 0 < #StackHeapBarrier; {2009#true} is VALID [2020-07-10 20:22:26,633 INFO L280 TraceCheckUtils]: 3: Hoare triple {2009#true} assume true; {2009#true} is VALID [2020-07-10 20:22:26,633 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {2009#true} {2009#true} #231#return; {2009#true} is VALID [2020-07-10 20:22:26,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:26,640 INFO L280 TraceCheckUtils]: 0: Hoare triple {2009#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {2009#true} is VALID [2020-07-10 20:22:26,640 INFO L280 TraceCheckUtils]: 1: Hoare triple {2009#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {2009#true} is VALID [2020-07-10 20:22:26,640 INFO L280 TraceCheckUtils]: 2: Hoare triple {2009#true} ~n := #in~n; {2009#true} is VALID [2020-07-10 20:22:26,641 INFO L280 TraceCheckUtils]: 3: Hoare triple {2009#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {2009#true} is VALID [2020-07-10 20:22:26,641 INFO L280 TraceCheckUtils]: 4: Hoare triple {2009#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {2009#true} is VALID [2020-07-10 20:22:26,641 INFO L280 TraceCheckUtils]: 5: Hoare triple {2009#true} havoc #t~ret0.base, #t~ret0.offset; {2009#true} is VALID [2020-07-10 20:22:26,642 INFO L280 TraceCheckUtils]: 6: Hoare triple {2009#true} assume true; {2009#true} is VALID [2020-07-10 20:22:26,642 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {2009#true} {2010#false} #227#return; {2010#false} is VALID [2020-07-10 20:22:26,643 INFO L263 TraceCheckUtils]: 0: Hoare triple {2009#true} call ULTIMATE.init(); {2027#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:22:26,643 INFO L280 TraceCheckUtils]: 1: Hoare triple {2027#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {2009#true} is VALID [2020-07-10 20:22:26,643 INFO L280 TraceCheckUtils]: 2: Hoare triple {2009#true} #valid := #valid[0 := 0]; {2009#true} is VALID [2020-07-10 20:22:26,644 INFO L280 TraceCheckUtils]: 3: Hoare triple {2009#true} assume 0 < #StackHeapBarrier; {2009#true} is VALID [2020-07-10 20:22:26,644 INFO L280 TraceCheckUtils]: 4: Hoare triple {2009#true} assume true; {2009#true} is VALID [2020-07-10 20:22:26,644 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2009#true} {2009#true} #231#return; {2009#true} is VALID [2020-07-10 20:22:26,644 INFO L263 TraceCheckUtils]: 6: Hoare triple {2009#true} call #t~ret23 := main(); {2009#true} is VALID [2020-07-10 20:22:26,645 INFO L280 TraceCheckUtils]: 7: Hoare triple {2009#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {2009#true} is VALID [2020-07-10 20:22:26,645 INFO L280 TraceCheckUtils]: 8: Hoare triple {2009#true} ~i~1 := 0; {2016#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:26,646 INFO L280 TraceCheckUtils]: 9: Hoare triple {2016#(= 0 main_~i~1)} assume !!(~i~1 < 8); {2016#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:26,647 INFO L280 TraceCheckUtils]: 10: Hoare triple {2016#(= 0 main_~i~1)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {2016#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:26,647 INFO L280 TraceCheckUtils]: 11: Hoare triple {2016#(= 0 main_~i~1)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {2016#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:26,648 INFO L280 TraceCheckUtils]: 12: Hoare triple {2016#(= 0 main_~i~1)} havoc #t~nondet21; {2016#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:26,649 INFO L280 TraceCheckUtils]: 13: Hoare triple {2016#(= 0 main_~i~1)} #t~post20 := ~i~1; {2017#(= 0 |main_#t~post20|)} is VALID [2020-07-10 20:22:26,649 INFO L280 TraceCheckUtils]: 14: Hoare triple {2017#(= 0 |main_#t~post20|)} ~i~1 := 1 + #t~post20; {2018#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:26,650 INFO L280 TraceCheckUtils]: 15: Hoare triple {2018#(<= main_~i~1 1)} havoc #t~post20; {2018#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:26,651 INFO L280 TraceCheckUtils]: 16: Hoare triple {2018#(<= main_~i~1 1)} assume !(~i~1 < 8); {2010#false} is VALID [2020-07-10 20:22:26,651 INFO L280 TraceCheckUtils]: 17: Hoare triple {2010#false} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L79-6 {2010#false} is VALID [2020-07-10 20:22:26,651 INFO L263 TraceCheckUtils]: 18: Hoare triple {2010#false} call #t~ret22 := parse_expression_list(~#A~0.base, ~#A~0.offset); {2010#false} is VALID [2020-07-10 20:22:26,652 INFO L280 TraceCheckUtils]: 19: Hoare triple {2010#false} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {2010#false} is VALID [2020-07-10 20:22:26,652 INFO L280 TraceCheckUtils]: 20: Hoare triple {2010#false} ~start~0 := 0; {2010#false} is VALID [2020-07-10 20:22:26,652 INFO L280 TraceCheckUtils]: 21: Hoare triple {2010#false} ~i~0 := -1; {2010#false} is VALID [2020-07-10 20:22:26,652 INFO L280 TraceCheckUtils]: 22: Hoare triple {2010#false} ~j~0 := -1; {2010#false} is VALID [2020-07-10 20:22:26,653 INFO L280 TraceCheckUtils]: 23: Hoare triple {2010#false} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L50 {2010#false} is VALID [2020-07-10 20:22:26,653 INFO L280 TraceCheckUtils]: 24: Hoare triple {2010#false} assume !(~str.base == 0 && ~str.offset == 0); {2010#false} is VALID [2020-07-10 20:22:26,653 INFO L280 TraceCheckUtils]: 25: Hoare triple {2010#false} #t~post2 := ~i~0; {2010#false} is VALID [2020-07-10 20:22:26,653 INFO L280 TraceCheckUtils]: 26: Hoare triple {2010#false} ~i~0 := 1 + #t~post2; {2010#false} is VALID [2020-07-10 20:22:26,654 INFO L280 TraceCheckUtils]: 27: Hoare triple {2010#false} havoc #t~post2; {2010#false} is VALID [2020-07-10 20:22:26,654 INFO L280 TraceCheckUtils]: 28: Hoare triple {2010#false} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L54 {2010#false} is VALID [2020-07-10 20:22:26,654 INFO L280 TraceCheckUtils]: 29: Hoare triple {2010#false} #t~switch4 := 0 == #t~mem3; {2010#false} is VALID [2020-07-10 20:22:26,654 INFO L280 TraceCheckUtils]: 30: Hoare triple {2010#false} assume #t~switch4; {2010#false} is VALID [2020-07-10 20:22:26,655 INFO L280 TraceCheckUtils]: 31: Hoare triple {2010#false} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-17 {2010#false} is VALID [2020-07-10 20:22:26,655 INFO L280 TraceCheckUtils]: 32: Hoare triple {2010#false} #t~short7 := 32 == #t~mem5; {2010#false} is VALID [2020-07-10 20:22:26,655 INFO L280 TraceCheckUtils]: 33: Hoare triple {2010#false} assume #t~short7; {2010#false} is VALID [2020-07-10 20:22:26,656 INFO L280 TraceCheckUtils]: 34: Hoare triple {2010#false} assume !#t~short7; {2010#false} is VALID [2020-07-10 20:22:26,656 INFO L280 TraceCheckUtils]: 35: Hoare triple {2010#false} havoc #t~mem5; {2010#false} is VALID [2020-07-10 20:22:26,656 INFO L280 TraceCheckUtils]: 36: Hoare triple {2010#false} havoc #t~mem6; {2010#false} is VALID [2020-07-10 20:22:26,656 INFO L280 TraceCheckUtils]: 37: Hoare triple {2010#false} havoc #t~short7; {2010#false} is VALID [2020-07-10 20:22:26,657 INFO L280 TraceCheckUtils]: 38: Hoare triple {2010#false} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-18 {2010#false} is VALID [2020-07-10 20:22:26,657 INFO L280 TraceCheckUtils]: 39: Hoare triple {2010#false} assume !(34 == #t~mem9); {2010#false} is VALID [2020-07-10 20:22:26,657 INFO L280 TraceCheckUtils]: 40: Hoare triple {2010#false} havoc #t~mem9; {2010#false} is VALID [2020-07-10 20:22:26,658 INFO L280 TraceCheckUtils]: 41: Hoare triple {2010#false} ~j~0 := ~i~0 - 1; {2010#false} is VALID [2020-07-10 20:22:26,658 INFO L280 TraceCheckUtils]: 42: Hoare triple {2010#false} #t~short14 := 0 < ~j~0; {2010#false} is VALID [2020-07-10 20:22:26,658 INFO L280 TraceCheckUtils]: 43: Hoare triple {2010#false} assume !#t~short14; {2010#false} is VALID [2020-07-10 20:22:26,658 INFO L280 TraceCheckUtils]: 44: Hoare triple {2010#false} assume !#t~short14; {2010#false} is VALID [2020-07-10 20:22:26,659 INFO L280 TraceCheckUtils]: 45: Hoare triple {2010#false} havoc #t~mem12; {2010#false} is VALID [2020-07-10 20:22:26,659 INFO L280 TraceCheckUtils]: 46: Hoare triple {2010#false} havoc #t~short13; {2010#false} is VALID [2020-07-10 20:22:26,659 INFO L280 TraceCheckUtils]: 47: Hoare triple {2010#false} havoc #t~short14; {2010#false} is VALID [2020-07-10 20:22:26,659 INFO L280 TraceCheckUtils]: 48: Hoare triple {2010#false} havoc #t~mem11; {2010#false} is VALID [2020-07-10 20:22:26,660 INFO L280 TraceCheckUtils]: 49: Hoare triple {2010#false} #t~short17 := 0 < ~j~0; {2010#false} is VALID [2020-07-10 20:22:26,660 INFO L280 TraceCheckUtils]: 50: Hoare triple {2010#false} assume !#t~short17; {2010#false} is VALID [2020-07-10 20:22:26,660 INFO L280 TraceCheckUtils]: 51: Hoare triple {2010#false} assume !#t~short17; {2010#false} is VALID [2020-07-10 20:22:26,660 INFO L280 TraceCheckUtils]: 52: Hoare triple {2010#false} havoc #t~mem16; {2010#false} is VALID [2020-07-10 20:22:26,661 INFO L280 TraceCheckUtils]: 53: Hoare triple {2010#false} havoc #t~short17; {2010#false} is VALID [2020-07-10 20:22:26,661 INFO L280 TraceCheckUtils]: 54: Hoare triple {2010#false} assume ~start~0 <= ~j~0; {2010#false} is VALID [2020-07-10 20:22:26,661 INFO L280 TraceCheckUtils]: 55: Hoare triple {2010#false} assume !(1 + (~j~0 - ~start~0) >= 2); {2010#false} is VALID [2020-07-10 20:22:26,662 INFO L263 TraceCheckUtils]: 56: Hoare triple {2010#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)); {2009#true} is VALID [2020-07-10 20:22:26,662 INFO L280 TraceCheckUtils]: 57: Hoare triple {2009#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {2009#true} is VALID [2020-07-10 20:22:26,662 INFO L280 TraceCheckUtils]: 58: Hoare triple {2009#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {2009#true} is VALID [2020-07-10 20:22:26,662 INFO L280 TraceCheckUtils]: 59: Hoare triple {2009#true} ~n := #in~n; {2009#true} is VALID [2020-07-10 20:22:26,663 INFO L280 TraceCheckUtils]: 60: Hoare triple {2009#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {2009#true} is VALID [2020-07-10 20:22:26,663 INFO L280 TraceCheckUtils]: 61: Hoare triple {2009#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {2009#true} is VALID [2020-07-10 20:22:26,663 INFO L280 TraceCheckUtils]: 62: Hoare triple {2009#true} havoc #t~ret0.base, #t~ret0.offset; {2009#true} is VALID [2020-07-10 20:22:26,663 INFO L280 TraceCheckUtils]: 63: Hoare triple {2009#true} assume true; {2009#true} is VALID [2020-07-10 20:22:26,664 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {2009#true} {2010#false} #227#return; {2010#false} is VALID [2020-07-10 20:22:26,664 INFO L280 TraceCheckUtils]: 65: Hoare triple {2010#false} havoc #t~ret19.base, #t~ret19.offset; {2010#false} is VALID [2020-07-10 20:22:26,664 INFO L263 TraceCheckUtils]: 66: Hoare triple {2010#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {2010#false} is VALID [2020-07-10 20:22:26,664 INFO L280 TraceCheckUtils]: 67: Hoare triple {2010#false} ~cond := #in~cond; {2010#false} is VALID [2020-07-10 20:22:26,665 INFO L280 TraceCheckUtils]: 68: Hoare triple {2010#false} assume 0 == ~cond; {2010#false} is VALID [2020-07-10 20:22:26,665 INFO L280 TraceCheckUtils]: 69: Hoare triple {2010#false} assume !false; {2010#false} is VALID [2020-07-10 20:22:26,671 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,672 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:26,672 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [358568284] [2020-07-10 20:22:26,672 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:26,672 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-10 20:22:26,673 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1821106849] [2020-07-10 20:22:26,673 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 70 [2020-07-10 20:22:26,674 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:26,674 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-10 20:22:26,733 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:26,734 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 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 6 interpolants. [2020-07-10 20:22:26,735 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2020-07-10 20:22:26,735 INFO L87 Difference]: Start difference. First operand 112 states and 122 transitions. Second operand 6 states. [2020-07-10 20:22:27,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:27,557 INFO L93 Difference]: Finished difference Result 219 states and 239 transitions. [2020-07-10 20:22:27,557 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-10 20:22:27,557 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 70 [2020-07-10 20:22:27,558 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:27,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 20:22:27,567 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 239 transitions. [2020-07-10 20:22:27,568 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 20:22:27,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 239 transitions. [2020-07-10 20:22:27,575 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 239 transitions. [2020-07-10 20:22:27,809 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 239 edges. 239 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:27,814 INFO L225 Difference]: With dead ends: 219 [2020-07-10 20:22:27,814 INFO L226 Difference]: Without dead ends: 124 [2020-07-10 20:22:27,815 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2020-07-10 20:22:27,816 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2020-07-10 20:22:27,914 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 119. [2020-07-10 20:22:27,914 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:27,914 INFO L82 GeneralOperation]: Start isEquivalent. First operand 124 states. Second operand 119 states. [2020-07-10 20:22:27,915 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand 119 states. [2020-07-10 20:22:27,915 INFO L87 Difference]: Start difference. First operand 124 states. Second operand 119 states. [2020-07-10 20:22:27,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:27,921 INFO L93 Difference]: Finished difference Result 124 states and 134 transitions. [2020-07-10 20:22:27,922 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 134 transitions. [2020-07-10 20:22:27,922 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:27,923 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:27,923 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand 124 states. [2020-07-10 20:22:27,923 INFO L87 Difference]: Start difference. First operand 119 states. Second operand 124 states. [2020-07-10 20:22:27,929 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:27,929 INFO L93 Difference]: Finished difference Result 124 states and 134 transitions. [2020-07-10 20:22:27,930 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 134 transitions. [2020-07-10 20:22:27,930 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:27,930 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:27,931 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:27,931 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:27,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 119 states. [2020-07-10 20:22:27,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 119 states to 119 states and 129 transitions. [2020-07-10 20:22:27,936 INFO L78 Accepts]: Start accepts. Automaton has 119 states and 129 transitions. Word has length 70 [2020-07-10 20:22:27,938 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:27,938 INFO L479 AbstractCegarLoop]: Abstraction has 119 states and 129 transitions. [2020-07-10 20:22:27,938 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-10 20:22:27,939 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 119 states and 129 transitions. [2020-07-10 20:22:28,063 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:28,064 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 129 transitions. [2020-07-10 20:22:28,065 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2020-07-10 20:22:28,065 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:28,065 INFO L422 BasicCegarLoop]: trace histogram [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:22:28,066 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-10 20:22:28,066 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:28,066 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:28,067 INFO L82 PathProgramCache]: Analyzing trace with hash -257337495, now seen corresponding path program 2 times [2020-07-10 20:22:28,067 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:28,067 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1984901645] [2020-07-10 20:22:28,067 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:28,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:28,191 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:28,208 INFO L280 TraceCheckUtils]: 0: Hoare triple {2978#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {2958#true} is VALID [2020-07-10 20:22:28,209 INFO L280 TraceCheckUtils]: 1: Hoare triple {2958#true} #valid := #valid[0 := 0]; {2958#true} is VALID [2020-07-10 20:22:28,209 INFO L280 TraceCheckUtils]: 2: Hoare triple {2958#true} assume 0 < #StackHeapBarrier; {2958#true} is VALID [2020-07-10 20:22:28,209 INFO L280 TraceCheckUtils]: 3: Hoare triple {2958#true} assume true; {2958#true} is VALID [2020-07-10 20:22:28,209 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {2958#true} {2958#true} #231#return; {2958#true} is VALID [2020-07-10 20:22:28,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:28,226 INFO L280 TraceCheckUtils]: 0: Hoare triple {2958#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {2958#true} is VALID [2020-07-10 20:22:28,227 INFO L280 TraceCheckUtils]: 1: Hoare triple {2958#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {2958#true} is VALID [2020-07-10 20:22:28,227 INFO L280 TraceCheckUtils]: 2: Hoare triple {2958#true} ~n := #in~n; {2958#true} is VALID [2020-07-10 20:22:28,227 INFO L280 TraceCheckUtils]: 3: Hoare triple {2958#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {2958#true} is VALID [2020-07-10 20:22:28,227 INFO L280 TraceCheckUtils]: 4: Hoare triple {2958#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {2958#true} is VALID [2020-07-10 20:22:28,228 INFO L280 TraceCheckUtils]: 5: Hoare triple {2958#true} havoc #t~ret0.base, #t~ret0.offset; {2958#true} is VALID [2020-07-10 20:22:28,228 INFO L280 TraceCheckUtils]: 6: Hoare triple {2958#true} assume true; {2958#true} is VALID [2020-07-10 20:22:28,229 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {2958#true} {2959#false} #227#return; {2959#false} is VALID [2020-07-10 20:22:28,230 INFO L263 TraceCheckUtils]: 0: Hoare triple {2958#true} call ULTIMATE.init(); {2978#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:22:28,230 INFO L280 TraceCheckUtils]: 1: Hoare triple {2978#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {2958#true} is VALID [2020-07-10 20:22:28,230 INFO L280 TraceCheckUtils]: 2: Hoare triple {2958#true} #valid := #valid[0 := 0]; {2958#true} is VALID [2020-07-10 20:22:28,231 INFO L280 TraceCheckUtils]: 3: Hoare triple {2958#true} assume 0 < #StackHeapBarrier; {2958#true} is VALID [2020-07-10 20:22:28,231 INFO L280 TraceCheckUtils]: 4: Hoare triple {2958#true} assume true; {2958#true} is VALID [2020-07-10 20:22:28,231 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2958#true} {2958#true} #231#return; {2958#true} is VALID [2020-07-10 20:22:28,231 INFO L263 TraceCheckUtils]: 6: Hoare triple {2958#true} call #t~ret23 := main(); {2958#true} is VALID [2020-07-10 20:22:28,232 INFO L280 TraceCheckUtils]: 7: Hoare triple {2958#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {2958#true} is VALID [2020-07-10 20:22:28,235 INFO L280 TraceCheckUtils]: 8: Hoare triple {2958#true} ~i~1 := 0; {2965#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:28,236 INFO L280 TraceCheckUtils]: 9: Hoare triple {2965#(= 0 main_~i~1)} assume !!(~i~1 < 8); {2965#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:28,237 INFO L280 TraceCheckUtils]: 10: Hoare triple {2965#(= 0 main_~i~1)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {2965#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:28,237 INFO L280 TraceCheckUtils]: 11: Hoare triple {2965#(= 0 main_~i~1)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {2965#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:28,238 INFO L280 TraceCheckUtils]: 12: Hoare triple {2965#(= 0 main_~i~1)} havoc #t~nondet21; {2965#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:28,245 INFO L280 TraceCheckUtils]: 13: Hoare triple {2965#(= 0 main_~i~1)} #t~post20 := ~i~1; {2966#(= 0 |main_#t~post20|)} is VALID [2020-07-10 20:22:28,245 INFO L280 TraceCheckUtils]: 14: Hoare triple {2966#(= 0 |main_#t~post20|)} ~i~1 := 1 + #t~post20; {2967#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:28,246 INFO L280 TraceCheckUtils]: 15: Hoare triple {2967#(<= main_~i~1 1)} havoc #t~post20; {2967#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:28,247 INFO L280 TraceCheckUtils]: 16: Hoare triple {2967#(<= main_~i~1 1)} assume !!(~i~1 < 8); {2967#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:28,248 INFO L280 TraceCheckUtils]: 17: Hoare triple {2967#(<= main_~i~1 1)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {2967#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:28,251 INFO L280 TraceCheckUtils]: 18: Hoare triple {2967#(<= main_~i~1 1)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {2967#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:28,255 INFO L280 TraceCheckUtils]: 19: Hoare triple {2967#(<= main_~i~1 1)} havoc #t~nondet21; {2967#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:28,260 INFO L280 TraceCheckUtils]: 20: Hoare triple {2967#(<= main_~i~1 1)} #t~post20 := ~i~1; {2968#(<= |main_#t~post20| 1)} is VALID [2020-07-10 20:22:28,261 INFO L280 TraceCheckUtils]: 21: Hoare triple {2968#(<= |main_#t~post20| 1)} ~i~1 := 1 + #t~post20; {2969#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:28,262 INFO L280 TraceCheckUtils]: 22: Hoare triple {2969#(<= main_~i~1 2)} havoc #t~post20; {2969#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:28,263 INFO L280 TraceCheckUtils]: 23: Hoare triple {2969#(<= main_~i~1 2)} assume !(~i~1 < 8); {2959#false} is VALID [2020-07-10 20:22:28,263 INFO L280 TraceCheckUtils]: 24: Hoare triple {2959#false} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L79-6 {2959#false} is VALID [2020-07-10 20:22:28,263 INFO L263 TraceCheckUtils]: 25: Hoare triple {2959#false} call #t~ret22 := parse_expression_list(~#A~0.base, ~#A~0.offset); {2959#false} is VALID [2020-07-10 20:22:28,263 INFO L280 TraceCheckUtils]: 26: Hoare triple {2959#false} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {2959#false} is VALID [2020-07-10 20:22:28,263 INFO L280 TraceCheckUtils]: 27: Hoare triple {2959#false} ~start~0 := 0; {2959#false} is VALID [2020-07-10 20:22:28,264 INFO L280 TraceCheckUtils]: 28: Hoare triple {2959#false} ~i~0 := -1; {2959#false} is VALID [2020-07-10 20:22:28,264 INFO L280 TraceCheckUtils]: 29: Hoare triple {2959#false} ~j~0 := -1; {2959#false} is VALID [2020-07-10 20:22:28,264 INFO L280 TraceCheckUtils]: 30: Hoare triple {2959#false} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L50 {2959#false} is VALID [2020-07-10 20:22:28,264 INFO L280 TraceCheckUtils]: 31: Hoare triple {2959#false} assume !(~str.base == 0 && ~str.offset == 0); {2959#false} is VALID [2020-07-10 20:22:28,264 INFO L280 TraceCheckUtils]: 32: Hoare triple {2959#false} #t~post2 := ~i~0; {2959#false} is VALID [2020-07-10 20:22:28,265 INFO L280 TraceCheckUtils]: 33: Hoare triple {2959#false} ~i~0 := 1 + #t~post2; {2959#false} is VALID [2020-07-10 20:22:28,265 INFO L280 TraceCheckUtils]: 34: Hoare triple {2959#false} havoc #t~post2; {2959#false} is VALID [2020-07-10 20:22:28,265 INFO L280 TraceCheckUtils]: 35: Hoare triple {2959#false} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L54 {2959#false} is VALID [2020-07-10 20:22:28,265 INFO L280 TraceCheckUtils]: 36: Hoare triple {2959#false} #t~switch4 := 0 == #t~mem3; {2959#false} is VALID [2020-07-10 20:22:28,266 INFO L280 TraceCheckUtils]: 37: Hoare triple {2959#false} assume #t~switch4; {2959#false} is VALID [2020-07-10 20:22:28,266 INFO L280 TraceCheckUtils]: 38: Hoare triple {2959#false} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-17 {2959#false} is VALID [2020-07-10 20:22:28,266 INFO L280 TraceCheckUtils]: 39: Hoare triple {2959#false} #t~short7 := 32 == #t~mem5; {2959#false} is VALID [2020-07-10 20:22:28,266 INFO L280 TraceCheckUtils]: 40: Hoare triple {2959#false} assume #t~short7; {2959#false} is VALID [2020-07-10 20:22:28,266 INFO L280 TraceCheckUtils]: 41: Hoare triple {2959#false} assume !#t~short7; {2959#false} is VALID [2020-07-10 20:22:28,267 INFO L280 TraceCheckUtils]: 42: Hoare triple {2959#false} havoc #t~mem5; {2959#false} is VALID [2020-07-10 20:22:28,267 INFO L280 TraceCheckUtils]: 43: Hoare triple {2959#false} havoc #t~mem6; {2959#false} is VALID [2020-07-10 20:22:28,267 INFO L280 TraceCheckUtils]: 44: Hoare triple {2959#false} havoc #t~short7; {2959#false} is VALID [2020-07-10 20:22:28,267 INFO L280 TraceCheckUtils]: 45: Hoare triple {2959#false} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-18 {2959#false} is VALID [2020-07-10 20:22:28,267 INFO L280 TraceCheckUtils]: 46: Hoare triple {2959#false} assume !(34 == #t~mem9); {2959#false} is VALID [2020-07-10 20:22:28,267 INFO L280 TraceCheckUtils]: 47: Hoare triple {2959#false} havoc #t~mem9; {2959#false} is VALID [2020-07-10 20:22:28,268 INFO L280 TraceCheckUtils]: 48: Hoare triple {2959#false} ~j~0 := ~i~0 - 1; {2959#false} is VALID [2020-07-10 20:22:28,268 INFO L280 TraceCheckUtils]: 49: Hoare triple {2959#false} #t~short14 := 0 < ~j~0; {2959#false} is VALID [2020-07-10 20:22:28,268 INFO L280 TraceCheckUtils]: 50: Hoare triple {2959#false} assume !#t~short14; {2959#false} is VALID [2020-07-10 20:22:28,268 INFO L280 TraceCheckUtils]: 51: Hoare triple {2959#false} assume !#t~short14; {2959#false} is VALID [2020-07-10 20:22:28,268 INFO L280 TraceCheckUtils]: 52: Hoare triple {2959#false} havoc #t~mem12; {2959#false} is VALID [2020-07-10 20:22:28,269 INFO L280 TraceCheckUtils]: 53: Hoare triple {2959#false} havoc #t~short13; {2959#false} is VALID [2020-07-10 20:22:28,269 INFO L280 TraceCheckUtils]: 54: Hoare triple {2959#false} havoc #t~short14; {2959#false} is VALID [2020-07-10 20:22:28,269 INFO L280 TraceCheckUtils]: 55: Hoare triple {2959#false} havoc #t~mem11; {2959#false} is VALID [2020-07-10 20:22:28,269 INFO L280 TraceCheckUtils]: 56: Hoare triple {2959#false} #t~short17 := 0 < ~j~0; {2959#false} is VALID [2020-07-10 20:22:28,269 INFO L280 TraceCheckUtils]: 57: Hoare triple {2959#false} assume !#t~short17; {2959#false} is VALID [2020-07-10 20:22:28,269 INFO L280 TraceCheckUtils]: 58: Hoare triple {2959#false} assume !#t~short17; {2959#false} is VALID [2020-07-10 20:22:28,270 INFO L280 TraceCheckUtils]: 59: Hoare triple {2959#false} havoc #t~mem16; {2959#false} is VALID [2020-07-10 20:22:28,270 INFO L280 TraceCheckUtils]: 60: Hoare triple {2959#false} havoc #t~short17; {2959#false} is VALID [2020-07-10 20:22:28,270 INFO L280 TraceCheckUtils]: 61: Hoare triple {2959#false} assume ~start~0 <= ~j~0; {2959#false} is VALID [2020-07-10 20:22:28,270 INFO L280 TraceCheckUtils]: 62: Hoare triple {2959#false} assume !(1 + (~j~0 - ~start~0) >= 2); {2959#false} is VALID [2020-07-10 20:22:28,270 INFO L263 TraceCheckUtils]: 63: Hoare triple {2959#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)); {2958#true} is VALID [2020-07-10 20:22:28,270 INFO L280 TraceCheckUtils]: 64: Hoare triple {2958#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {2958#true} is VALID [2020-07-10 20:22:28,271 INFO L280 TraceCheckUtils]: 65: Hoare triple {2958#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {2958#true} is VALID [2020-07-10 20:22:28,271 INFO L280 TraceCheckUtils]: 66: Hoare triple {2958#true} ~n := #in~n; {2958#true} is VALID [2020-07-10 20:22:28,271 INFO L280 TraceCheckUtils]: 67: Hoare triple {2958#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {2958#true} is VALID [2020-07-10 20:22:28,271 INFO L280 TraceCheckUtils]: 68: Hoare triple {2958#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {2958#true} is VALID [2020-07-10 20:22:28,271 INFO L280 TraceCheckUtils]: 69: Hoare triple {2958#true} havoc #t~ret0.base, #t~ret0.offset; {2958#true} is VALID [2020-07-10 20:22:28,272 INFO L280 TraceCheckUtils]: 70: Hoare triple {2958#true} assume true; {2958#true} is VALID [2020-07-10 20:22:28,272 INFO L275 TraceCheckUtils]: 71: Hoare quadruple {2958#true} {2959#false} #227#return; {2959#false} is VALID [2020-07-10 20:22:28,272 INFO L280 TraceCheckUtils]: 72: Hoare triple {2959#false} havoc #t~ret19.base, #t~ret19.offset; {2959#false} is VALID [2020-07-10 20:22:28,272 INFO L263 TraceCheckUtils]: 73: Hoare triple {2959#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {2959#false} is VALID [2020-07-10 20:22:28,273 INFO L280 TraceCheckUtils]: 74: Hoare triple {2959#false} ~cond := #in~cond; {2959#false} is VALID [2020-07-10 20:22:28,273 INFO L280 TraceCheckUtils]: 75: Hoare triple {2959#false} assume 0 == ~cond; {2959#false} is VALID [2020-07-10 20:22:28,273 INFO L280 TraceCheckUtils]: 76: Hoare triple {2959#false} assume !false; {2959#false} is VALID [2020-07-10 20:22:28,277 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,278 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:28,278 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1984901645] [2020-07-10 20:22:28,278 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:28,279 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2020-07-10 20:22:28,279 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [26611714] [2020-07-10 20:22:28,279 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 77 [2020-07-10 20:22:28,280 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:28,280 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-10 20:22:28,358 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:28,358 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-10 20:22:28,358 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:28,359 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-10 20:22:28,359 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2020-07-10 20:22:28,359 INFO L87 Difference]: Start difference. First operand 119 states and 129 transitions. Second operand 8 states. [2020-07-10 20:22:29,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:29,319 INFO L93 Difference]: Finished difference Result 226 states and 246 transitions. [2020-07-10 20:22:29,319 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-10 20:22:29,319 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 77 [2020-07-10 20:22:29,319 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:29,319 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 20:22:29,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 246 transitions. [2020-07-10 20:22:29,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 20:22:29,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 246 transitions. [2020-07-10 20:22:29,329 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 246 transitions. [2020-07-10 20:22:29,602 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 246 edges. 246 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:29,606 INFO L225 Difference]: With dead ends: 226 [2020-07-10 20:22:29,606 INFO L226 Difference]: Without dead ends: 131 [2020-07-10 20:22:29,607 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=45, Invalid=87, Unknown=0, NotChecked=0, Total=132 [2020-07-10 20:22:29,608 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2020-07-10 20:22:29,695 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 126. [2020-07-10 20:22:29,695 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:29,695 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand 126 states. [2020-07-10 20:22:29,695 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand 126 states. [2020-07-10 20:22:29,696 INFO L87 Difference]: Start difference. First operand 131 states. Second operand 126 states. [2020-07-10 20:22:29,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:29,701 INFO L93 Difference]: Finished difference Result 131 states and 141 transitions. [2020-07-10 20:22:29,701 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 141 transitions. [2020-07-10 20:22:29,702 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:29,702 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:29,702 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand 131 states. [2020-07-10 20:22:29,703 INFO L87 Difference]: Start difference. First operand 126 states. Second operand 131 states. [2020-07-10 20:22:29,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:29,707 INFO L93 Difference]: Finished difference Result 131 states and 141 transitions. [2020-07-10 20:22:29,708 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 141 transitions. [2020-07-10 20:22:29,708 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:29,708 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:29,708 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:29,708 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:29,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 126 states. [2020-07-10 20:22:29,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 136 transitions. [2020-07-10 20:22:29,713 INFO L78 Accepts]: Start accepts. Automaton has 126 states and 136 transitions. Word has length 77 [2020-07-10 20:22:29,713 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:29,713 INFO L479 AbstractCegarLoop]: Abstraction has 126 states and 136 transitions. [2020-07-10 20:22:29,713 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-10 20:22:29,714 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 126 states and 136 transitions. [2020-07-10 20:22:29,845 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:29,846 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 136 transitions. [2020-07-10 20:22:29,847 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2020-07-10 20:22:29,847 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:29,847 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:29,848 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-10 20:22:29,848 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:29,848 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:29,848 INFO L82 PathProgramCache]: Analyzing trace with hash 883135627, now seen corresponding path program 3 times [2020-07-10 20:22:29,848 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:29,848 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [280093179] [2020-07-10 20:22:29,848 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:29,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:30,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:30,007 INFO L280 TraceCheckUtils]: 0: Hoare triple {3977#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {3955#true} is VALID [2020-07-10 20:22:30,008 INFO L280 TraceCheckUtils]: 1: Hoare triple {3955#true} #valid := #valid[0 := 0]; {3955#true} is VALID [2020-07-10 20:22:30,008 INFO L280 TraceCheckUtils]: 2: Hoare triple {3955#true} assume 0 < #StackHeapBarrier; {3955#true} is VALID [2020-07-10 20:22:30,008 INFO L280 TraceCheckUtils]: 3: Hoare triple {3955#true} assume true; {3955#true} is VALID [2020-07-10 20:22:30,008 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {3955#true} {3955#true} #231#return; {3955#true} is VALID [2020-07-10 20:22:30,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:30,023 INFO L280 TraceCheckUtils]: 0: Hoare triple {3955#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {3955#true} is VALID [2020-07-10 20:22:30,023 INFO L280 TraceCheckUtils]: 1: Hoare triple {3955#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {3955#true} is VALID [2020-07-10 20:22:30,023 INFO L280 TraceCheckUtils]: 2: Hoare triple {3955#true} ~n := #in~n; {3955#true} is VALID [2020-07-10 20:22:30,024 INFO L280 TraceCheckUtils]: 3: Hoare triple {3955#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {3955#true} is VALID [2020-07-10 20:22:30,024 INFO L280 TraceCheckUtils]: 4: Hoare triple {3955#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {3955#true} is VALID [2020-07-10 20:22:30,024 INFO L280 TraceCheckUtils]: 5: Hoare triple {3955#true} havoc #t~ret0.base, #t~ret0.offset; {3955#true} is VALID [2020-07-10 20:22:30,024 INFO L280 TraceCheckUtils]: 6: Hoare triple {3955#true} assume true; {3955#true} is VALID [2020-07-10 20:22:30,024 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {3955#true} {3956#false} #227#return; {3956#false} is VALID [2020-07-10 20:22:30,025 INFO L263 TraceCheckUtils]: 0: Hoare triple {3955#true} call ULTIMATE.init(); {3977#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:22:30,026 INFO L280 TraceCheckUtils]: 1: Hoare triple {3977#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {3955#true} is VALID [2020-07-10 20:22:30,026 INFO L280 TraceCheckUtils]: 2: Hoare triple {3955#true} #valid := #valid[0 := 0]; {3955#true} is VALID [2020-07-10 20:22:30,026 INFO L280 TraceCheckUtils]: 3: Hoare triple {3955#true} assume 0 < #StackHeapBarrier; {3955#true} is VALID [2020-07-10 20:22:30,026 INFO L280 TraceCheckUtils]: 4: Hoare triple {3955#true} assume true; {3955#true} is VALID [2020-07-10 20:22:30,027 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {3955#true} {3955#true} #231#return; {3955#true} is VALID [2020-07-10 20:22:30,027 INFO L263 TraceCheckUtils]: 6: Hoare triple {3955#true} call #t~ret23 := main(); {3955#true} is VALID [2020-07-10 20:22:30,027 INFO L280 TraceCheckUtils]: 7: Hoare triple {3955#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {3955#true} is VALID [2020-07-10 20:22:30,031 INFO L280 TraceCheckUtils]: 8: Hoare triple {3955#true} ~i~1 := 0; {3962#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:30,032 INFO L280 TraceCheckUtils]: 9: Hoare triple {3962#(= 0 main_~i~1)} assume !!(~i~1 < 8); {3962#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:30,032 INFO L280 TraceCheckUtils]: 10: Hoare triple {3962#(= 0 main_~i~1)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {3962#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:30,033 INFO L280 TraceCheckUtils]: 11: Hoare triple {3962#(= 0 main_~i~1)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {3962#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:30,033 INFO L280 TraceCheckUtils]: 12: Hoare triple {3962#(= 0 main_~i~1)} havoc #t~nondet21; {3962#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:30,033 INFO L280 TraceCheckUtils]: 13: Hoare triple {3962#(= 0 main_~i~1)} #t~post20 := ~i~1; {3963#(= 0 |main_#t~post20|)} is VALID [2020-07-10 20:22:30,034 INFO L280 TraceCheckUtils]: 14: Hoare triple {3963#(= 0 |main_#t~post20|)} ~i~1 := 1 + #t~post20; {3964#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:30,034 INFO L280 TraceCheckUtils]: 15: Hoare triple {3964#(<= main_~i~1 1)} havoc #t~post20; {3964#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:30,035 INFO L280 TraceCheckUtils]: 16: Hoare triple {3964#(<= main_~i~1 1)} assume !!(~i~1 < 8); {3964#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:30,035 INFO L280 TraceCheckUtils]: 17: Hoare triple {3964#(<= main_~i~1 1)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {3964#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:30,035 INFO L280 TraceCheckUtils]: 18: Hoare triple {3964#(<= main_~i~1 1)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {3964#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:30,036 INFO L280 TraceCheckUtils]: 19: Hoare triple {3964#(<= main_~i~1 1)} havoc #t~nondet21; {3964#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:30,039 INFO L280 TraceCheckUtils]: 20: Hoare triple {3964#(<= main_~i~1 1)} #t~post20 := ~i~1; {3965#(<= |main_#t~post20| 1)} is VALID [2020-07-10 20:22:30,040 INFO L280 TraceCheckUtils]: 21: Hoare triple {3965#(<= |main_#t~post20| 1)} ~i~1 := 1 + #t~post20; {3966#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:30,040 INFO L280 TraceCheckUtils]: 22: Hoare triple {3966#(<= main_~i~1 2)} havoc #t~post20; {3966#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:30,041 INFO L280 TraceCheckUtils]: 23: Hoare triple {3966#(<= main_~i~1 2)} assume !!(~i~1 < 8); {3966#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:30,041 INFO L280 TraceCheckUtils]: 24: Hoare triple {3966#(<= main_~i~1 2)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {3966#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:30,041 INFO L280 TraceCheckUtils]: 25: Hoare triple {3966#(<= main_~i~1 2)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {3966#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:30,042 INFO L280 TraceCheckUtils]: 26: Hoare triple {3966#(<= main_~i~1 2)} havoc #t~nondet21; {3966#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:30,042 INFO L280 TraceCheckUtils]: 27: Hoare triple {3966#(<= main_~i~1 2)} #t~post20 := ~i~1; {3967#(<= |main_#t~post20| 2)} is VALID [2020-07-10 20:22:30,044 INFO L280 TraceCheckUtils]: 28: Hoare triple {3967#(<= |main_#t~post20| 2)} ~i~1 := 1 + #t~post20; {3968#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:30,045 INFO L280 TraceCheckUtils]: 29: Hoare triple {3968#(<= main_~i~1 3)} havoc #t~post20; {3968#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:30,045 INFO L280 TraceCheckUtils]: 30: Hoare triple {3968#(<= main_~i~1 3)} assume !(~i~1 < 8); {3956#false} is VALID [2020-07-10 20:22:30,046 INFO L280 TraceCheckUtils]: 31: Hoare triple {3956#false} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L79-6 {3956#false} is VALID [2020-07-10 20:22:30,046 INFO L263 TraceCheckUtils]: 32: Hoare triple {3956#false} call #t~ret22 := parse_expression_list(~#A~0.base, ~#A~0.offset); {3956#false} is VALID [2020-07-10 20:22:30,046 INFO L280 TraceCheckUtils]: 33: Hoare triple {3956#false} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {3956#false} is VALID [2020-07-10 20:22:30,046 INFO L280 TraceCheckUtils]: 34: Hoare triple {3956#false} ~start~0 := 0; {3956#false} is VALID [2020-07-10 20:22:30,047 INFO L280 TraceCheckUtils]: 35: Hoare triple {3956#false} ~i~0 := -1; {3956#false} is VALID [2020-07-10 20:22:30,047 INFO L280 TraceCheckUtils]: 36: Hoare triple {3956#false} ~j~0 := -1; {3956#false} is VALID [2020-07-10 20:22:30,047 INFO L280 TraceCheckUtils]: 37: Hoare triple {3956#false} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L50 {3956#false} is VALID [2020-07-10 20:22:30,047 INFO L280 TraceCheckUtils]: 38: Hoare triple {3956#false} assume !(~str.base == 0 && ~str.offset == 0); {3956#false} is VALID [2020-07-10 20:22:30,048 INFO L280 TraceCheckUtils]: 39: Hoare triple {3956#false} #t~post2 := ~i~0; {3956#false} is VALID [2020-07-10 20:22:30,048 INFO L280 TraceCheckUtils]: 40: Hoare triple {3956#false} ~i~0 := 1 + #t~post2; {3956#false} is VALID [2020-07-10 20:22:30,048 INFO L280 TraceCheckUtils]: 41: Hoare triple {3956#false} havoc #t~post2; {3956#false} is VALID [2020-07-10 20:22:30,048 INFO L280 TraceCheckUtils]: 42: Hoare triple {3956#false} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L54 {3956#false} is VALID [2020-07-10 20:22:30,048 INFO L280 TraceCheckUtils]: 43: Hoare triple {3956#false} #t~switch4 := 0 == #t~mem3; {3956#false} is VALID [2020-07-10 20:22:30,048 INFO L280 TraceCheckUtils]: 44: Hoare triple {3956#false} assume #t~switch4; {3956#false} is VALID [2020-07-10 20:22:30,049 INFO L280 TraceCheckUtils]: 45: Hoare triple {3956#false} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-17 {3956#false} is VALID [2020-07-10 20:22:30,049 INFO L280 TraceCheckUtils]: 46: Hoare triple {3956#false} #t~short7 := 32 == #t~mem5; {3956#false} is VALID [2020-07-10 20:22:30,049 INFO L280 TraceCheckUtils]: 47: Hoare triple {3956#false} assume #t~short7; {3956#false} is VALID [2020-07-10 20:22:30,049 INFO L280 TraceCheckUtils]: 48: Hoare triple {3956#false} assume !#t~short7; {3956#false} is VALID [2020-07-10 20:22:30,049 INFO L280 TraceCheckUtils]: 49: Hoare triple {3956#false} havoc #t~mem5; {3956#false} is VALID [2020-07-10 20:22:30,049 INFO L280 TraceCheckUtils]: 50: Hoare triple {3956#false} havoc #t~mem6; {3956#false} is VALID [2020-07-10 20:22:30,050 INFO L280 TraceCheckUtils]: 51: Hoare triple {3956#false} havoc #t~short7; {3956#false} is VALID [2020-07-10 20:22:30,050 INFO L280 TraceCheckUtils]: 52: Hoare triple {3956#false} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-18 {3956#false} is VALID [2020-07-10 20:22:30,050 INFO L280 TraceCheckUtils]: 53: Hoare triple {3956#false} assume !(34 == #t~mem9); {3956#false} is VALID [2020-07-10 20:22:30,050 INFO L280 TraceCheckUtils]: 54: Hoare triple {3956#false} havoc #t~mem9; {3956#false} is VALID [2020-07-10 20:22:30,050 INFO L280 TraceCheckUtils]: 55: Hoare triple {3956#false} ~j~0 := ~i~0 - 1; {3956#false} is VALID [2020-07-10 20:22:30,050 INFO L280 TraceCheckUtils]: 56: Hoare triple {3956#false} #t~short14 := 0 < ~j~0; {3956#false} is VALID [2020-07-10 20:22:30,051 INFO L280 TraceCheckUtils]: 57: Hoare triple {3956#false} assume !#t~short14; {3956#false} is VALID [2020-07-10 20:22:30,051 INFO L280 TraceCheckUtils]: 58: Hoare triple {3956#false} assume !#t~short14; {3956#false} is VALID [2020-07-10 20:22:30,051 INFO L280 TraceCheckUtils]: 59: Hoare triple {3956#false} havoc #t~mem12; {3956#false} is VALID [2020-07-10 20:22:30,051 INFO L280 TraceCheckUtils]: 60: Hoare triple {3956#false} havoc #t~short13; {3956#false} is VALID [2020-07-10 20:22:30,051 INFO L280 TraceCheckUtils]: 61: Hoare triple {3956#false} havoc #t~short14; {3956#false} is VALID [2020-07-10 20:22:30,052 INFO L280 TraceCheckUtils]: 62: Hoare triple {3956#false} havoc #t~mem11; {3956#false} is VALID [2020-07-10 20:22:30,052 INFO L280 TraceCheckUtils]: 63: Hoare triple {3956#false} #t~short17 := 0 < ~j~0; {3956#false} is VALID [2020-07-10 20:22:30,052 INFO L280 TraceCheckUtils]: 64: Hoare triple {3956#false} assume !#t~short17; {3956#false} is VALID [2020-07-10 20:22:30,052 INFO L280 TraceCheckUtils]: 65: Hoare triple {3956#false} assume !#t~short17; {3956#false} is VALID [2020-07-10 20:22:30,053 INFO L280 TraceCheckUtils]: 66: Hoare triple {3956#false} havoc #t~mem16; {3956#false} is VALID [2020-07-10 20:22:30,053 INFO L280 TraceCheckUtils]: 67: Hoare triple {3956#false} havoc #t~short17; {3956#false} is VALID [2020-07-10 20:22:30,053 INFO L280 TraceCheckUtils]: 68: Hoare triple {3956#false} assume ~start~0 <= ~j~0; {3956#false} is VALID [2020-07-10 20:22:30,053 INFO L280 TraceCheckUtils]: 69: Hoare triple {3956#false} assume !(1 + (~j~0 - ~start~0) >= 2); {3956#false} is VALID [2020-07-10 20:22:30,054 INFO L263 TraceCheckUtils]: 70: Hoare triple {3956#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)); {3955#true} is VALID [2020-07-10 20:22:30,054 INFO L280 TraceCheckUtils]: 71: Hoare triple {3955#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {3955#true} is VALID [2020-07-10 20:22:30,054 INFO L280 TraceCheckUtils]: 72: Hoare triple {3955#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {3955#true} is VALID [2020-07-10 20:22:30,054 INFO L280 TraceCheckUtils]: 73: Hoare triple {3955#true} ~n := #in~n; {3955#true} is VALID [2020-07-10 20:22:30,054 INFO L280 TraceCheckUtils]: 74: Hoare triple {3955#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {3955#true} is VALID [2020-07-10 20:22:30,055 INFO L280 TraceCheckUtils]: 75: Hoare triple {3955#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {3955#true} is VALID [2020-07-10 20:22:30,055 INFO L280 TraceCheckUtils]: 76: Hoare triple {3955#true} havoc #t~ret0.base, #t~ret0.offset; {3955#true} is VALID [2020-07-10 20:22:30,055 INFO L280 TraceCheckUtils]: 77: Hoare triple {3955#true} assume true; {3955#true} is VALID [2020-07-10 20:22:30,055 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {3955#true} {3956#false} #227#return; {3956#false} is VALID [2020-07-10 20:22:30,055 INFO L280 TraceCheckUtils]: 79: Hoare triple {3956#false} havoc #t~ret19.base, #t~ret19.offset; {3956#false} is VALID [2020-07-10 20:22:30,055 INFO L263 TraceCheckUtils]: 80: Hoare triple {3956#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {3956#false} is VALID [2020-07-10 20:22:30,056 INFO L280 TraceCheckUtils]: 81: Hoare triple {3956#false} ~cond := #in~cond; {3956#false} is VALID [2020-07-10 20:22:30,056 INFO L280 TraceCheckUtils]: 82: Hoare triple {3956#false} assume 0 == ~cond; {3956#false} is VALID [2020-07-10 20:22:30,056 INFO L280 TraceCheckUtils]: 83: Hoare triple {3956#false} assume !false; {3956#false} is VALID [2020-07-10 20:22:30,060 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:30,060 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:30,060 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [280093179] [2020-07-10 20:22:30,060 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:30,060 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2020-07-10 20:22:30,061 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1453207105] [2020-07-10 20:22:30,061 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 84 [2020-07-10 20:22:30,061 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:30,062 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-10 20:22:30,144 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:30,144 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-10 20:22:30,145 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:30,145 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-10 20:22:30,145 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2020-07-10 20:22:30,145 INFO L87 Difference]: Start difference. First operand 126 states and 136 transitions. Second operand 10 states. [2020-07-10 20:22:31,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:31,060 INFO L93 Difference]: Finished difference Result 233 states and 253 transitions. [2020-07-10 20:22:31,060 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2020-07-10 20:22:31,060 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 84 [2020-07-10 20:22:31,061 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:31,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-10 20:22:31,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 253 transitions. [2020-07-10 20:22:31,065 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-10 20:22:31,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 253 transitions. [2020-07-10 20:22:31,069 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 253 transitions. [2020-07-10 20:22:31,318 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 253 edges. 253 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:31,323 INFO L225 Difference]: With dead ends: 233 [2020-07-10 20:22:31,323 INFO L226 Difference]: Without dead ends: 138 [2020-07-10 20:22:31,324 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=80, Invalid=160, Unknown=0, NotChecked=0, Total=240 [2020-07-10 20:22:31,325 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2020-07-10 20:22:31,425 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 133. [2020-07-10 20:22:31,426 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:31,426 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand 133 states. [2020-07-10 20:22:31,426 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand 133 states. [2020-07-10 20:22:31,426 INFO L87 Difference]: Start difference. First operand 138 states. Second operand 133 states. [2020-07-10 20:22:31,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:31,431 INFO L93 Difference]: Finished difference Result 138 states and 148 transitions. [2020-07-10 20:22:31,431 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 148 transitions. [2020-07-10 20:22:31,432 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:31,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:31,433 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 138 states. [2020-07-10 20:22:31,433 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 138 states. [2020-07-10 20:22:31,439 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:31,439 INFO L93 Difference]: Finished difference Result 138 states and 148 transitions. [2020-07-10 20:22:31,440 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 148 transitions. [2020-07-10 20:22:31,440 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:31,441 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:31,441 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:31,441 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:31,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 133 states. [2020-07-10 20:22:31,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 143 transitions. [2020-07-10 20:22:31,453 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 143 transitions. Word has length 84 [2020-07-10 20:22:31,453 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:31,453 INFO L479 AbstractCegarLoop]: Abstraction has 133 states and 143 transitions. [2020-07-10 20:22:31,454 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-10 20:22:31,454 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 133 states and 143 transitions. [2020-07-10 20:22:31,636 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 143 edges. 143 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:31,636 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 143 transitions. [2020-07-10 20:22:31,638 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2020-07-10 20:22:31,638 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:31,639 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:31,639 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-10 20:22:31,639 INFO L427 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:31,640 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:31,640 INFO L82 PathProgramCache]: Analyzing trace with hash -687690455, now seen corresponding path program 4 times [2020-07-10 20:22:31,640 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:31,641 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1336852326] [2020-07-10 20:22:31,641 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:31,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:31,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:31,934 INFO L280 TraceCheckUtils]: 0: Hoare triple {5024#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {5000#true} is VALID [2020-07-10 20:22:31,935 INFO L280 TraceCheckUtils]: 1: Hoare triple {5000#true} #valid := #valid[0 := 0]; {5000#true} is VALID [2020-07-10 20:22:31,935 INFO L280 TraceCheckUtils]: 2: Hoare triple {5000#true} assume 0 < #StackHeapBarrier; {5000#true} is VALID [2020-07-10 20:22:31,935 INFO L280 TraceCheckUtils]: 3: Hoare triple {5000#true} assume true; {5000#true} is VALID [2020-07-10 20:22:31,935 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {5000#true} {5000#true} #231#return; {5000#true} is VALID [2020-07-10 20:22:31,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:31,941 INFO L280 TraceCheckUtils]: 0: Hoare triple {5000#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {5000#true} is VALID [2020-07-10 20:22:31,942 INFO L280 TraceCheckUtils]: 1: Hoare triple {5000#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {5000#true} is VALID [2020-07-10 20:22:31,942 INFO L280 TraceCheckUtils]: 2: Hoare triple {5000#true} ~n := #in~n; {5000#true} is VALID [2020-07-10 20:22:31,942 INFO L280 TraceCheckUtils]: 3: Hoare triple {5000#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {5000#true} is VALID [2020-07-10 20:22:31,942 INFO L280 TraceCheckUtils]: 4: Hoare triple {5000#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {5000#true} is VALID [2020-07-10 20:22:31,943 INFO L280 TraceCheckUtils]: 5: Hoare triple {5000#true} havoc #t~ret0.base, #t~ret0.offset; {5000#true} is VALID [2020-07-10 20:22:31,943 INFO L280 TraceCheckUtils]: 6: Hoare triple {5000#true} assume true; {5000#true} is VALID [2020-07-10 20:22:31,943 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {5000#true} {5001#false} #227#return; {5001#false} is VALID [2020-07-10 20:22:31,944 INFO L263 TraceCheckUtils]: 0: Hoare triple {5000#true} call ULTIMATE.init(); {5024#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:22:31,945 INFO L280 TraceCheckUtils]: 1: Hoare triple {5024#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {5000#true} is VALID [2020-07-10 20:22:31,945 INFO L280 TraceCheckUtils]: 2: Hoare triple {5000#true} #valid := #valid[0 := 0]; {5000#true} is VALID [2020-07-10 20:22:31,945 INFO L280 TraceCheckUtils]: 3: Hoare triple {5000#true} assume 0 < #StackHeapBarrier; {5000#true} is VALID [2020-07-10 20:22:31,945 INFO L280 TraceCheckUtils]: 4: Hoare triple {5000#true} assume true; {5000#true} is VALID [2020-07-10 20:22:31,946 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {5000#true} {5000#true} #231#return; {5000#true} is VALID [2020-07-10 20:22:31,946 INFO L263 TraceCheckUtils]: 6: Hoare triple {5000#true} call #t~ret23 := main(); {5000#true} is VALID [2020-07-10 20:22:31,946 INFO L280 TraceCheckUtils]: 7: Hoare triple {5000#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {5000#true} is VALID [2020-07-10 20:22:31,947 INFO L280 TraceCheckUtils]: 8: Hoare triple {5000#true} ~i~1 := 0; {5007#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:31,948 INFO L280 TraceCheckUtils]: 9: Hoare triple {5007#(= 0 main_~i~1)} assume !!(~i~1 < 8); {5007#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:31,948 INFO L280 TraceCheckUtils]: 10: Hoare triple {5007#(= 0 main_~i~1)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {5007#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:31,949 INFO L280 TraceCheckUtils]: 11: Hoare triple {5007#(= 0 main_~i~1)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {5007#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:31,950 INFO L280 TraceCheckUtils]: 12: Hoare triple {5007#(= 0 main_~i~1)} havoc #t~nondet21; {5007#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:31,950 INFO L280 TraceCheckUtils]: 13: Hoare triple {5007#(= 0 main_~i~1)} #t~post20 := ~i~1; {5008#(= 0 |main_#t~post20|)} is VALID [2020-07-10 20:22:31,951 INFO L280 TraceCheckUtils]: 14: Hoare triple {5008#(= 0 |main_#t~post20|)} ~i~1 := 1 + #t~post20; {5009#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:31,951 INFO L280 TraceCheckUtils]: 15: Hoare triple {5009#(<= main_~i~1 1)} havoc #t~post20; {5009#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:31,952 INFO L280 TraceCheckUtils]: 16: Hoare triple {5009#(<= main_~i~1 1)} assume !!(~i~1 < 8); {5009#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:31,953 INFO L280 TraceCheckUtils]: 17: Hoare triple {5009#(<= main_~i~1 1)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {5009#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:31,953 INFO L280 TraceCheckUtils]: 18: Hoare triple {5009#(<= main_~i~1 1)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {5009#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:31,954 INFO L280 TraceCheckUtils]: 19: Hoare triple {5009#(<= main_~i~1 1)} havoc #t~nondet21; {5009#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:31,954 INFO L280 TraceCheckUtils]: 20: Hoare triple {5009#(<= main_~i~1 1)} #t~post20 := ~i~1; {5010#(<= |main_#t~post20| 1)} is VALID [2020-07-10 20:22:31,955 INFO L280 TraceCheckUtils]: 21: Hoare triple {5010#(<= |main_#t~post20| 1)} ~i~1 := 1 + #t~post20; {5011#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:31,956 INFO L280 TraceCheckUtils]: 22: Hoare triple {5011#(<= main_~i~1 2)} havoc #t~post20; {5011#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:31,957 INFO L280 TraceCheckUtils]: 23: Hoare triple {5011#(<= main_~i~1 2)} assume !!(~i~1 < 8); {5011#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:31,957 INFO L280 TraceCheckUtils]: 24: Hoare triple {5011#(<= main_~i~1 2)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {5011#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:31,958 INFO L280 TraceCheckUtils]: 25: Hoare triple {5011#(<= main_~i~1 2)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {5011#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:31,958 INFO L280 TraceCheckUtils]: 26: Hoare triple {5011#(<= main_~i~1 2)} havoc #t~nondet21; {5011#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:31,959 INFO L280 TraceCheckUtils]: 27: Hoare triple {5011#(<= main_~i~1 2)} #t~post20 := ~i~1; {5012#(<= |main_#t~post20| 2)} is VALID [2020-07-10 20:22:31,960 INFO L280 TraceCheckUtils]: 28: Hoare triple {5012#(<= |main_#t~post20| 2)} ~i~1 := 1 + #t~post20; {5013#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:31,961 INFO L280 TraceCheckUtils]: 29: Hoare triple {5013#(<= main_~i~1 3)} havoc #t~post20; {5013#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:31,961 INFO L280 TraceCheckUtils]: 30: Hoare triple {5013#(<= main_~i~1 3)} assume !!(~i~1 < 8); {5013#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:31,962 INFO L280 TraceCheckUtils]: 31: Hoare triple {5013#(<= main_~i~1 3)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {5013#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:31,962 INFO L280 TraceCheckUtils]: 32: Hoare triple {5013#(<= main_~i~1 3)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {5013#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:31,963 INFO L280 TraceCheckUtils]: 33: Hoare triple {5013#(<= main_~i~1 3)} havoc #t~nondet21; {5013#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:31,963 INFO L280 TraceCheckUtils]: 34: Hoare triple {5013#(<= main_~i~1 3)} #t~post20 := ~i~1; {5014#(<= |main_#t~post20| 3)} is VALID [2020-07-10 20:22:31,964 INFO L280 TraceCheckUtils]: 35: Hoare triple {5014#(<= |main_#t~post20| 3)} ~i~1 := 1 + #t~post20; {5015#(<= main_~i~1 4)} is VALID [2020-07-10 20:22:31,965 INFO L280 TraceCheckUtils]: 36: Hoare triple {5015#(<= main_~i~1 4)} havoc #t~post20; {5015#(<= main_~i~1 4)} is VALID [2020-07-10 20:22:31,966 INFO L280 TraceCheckUtils]: 37: Hoare triple {5015#(<= main_~i~1 4)} assume !(~i~1 < 8); {5001#false} is VALID [2020-07-10 20:22:31,966 INFO L280 TraceCheckUtils]: 38: Hoare triple {5001#false} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L79-6 {5001#false} is VALID [2020-07-10 20:22:31,966 INFO L263 TraceCheckUtils]: 39: Hoare triple {5001#false} call #t~ret22 := parse_expression_list(~#A~0.base, ~#A~0.offset); {5001#false} is VALID [2020-07-10 20:22:31,966 INFO L280 TraceCheckUtils]: 40: Hoare triple {5001#false} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {5001#false} is VALID [2020-07-10 20:22:31,966 INFO L280 TraceCheckUtils]: 41: Hoare triple {5001#false} ~start~0 := 0; {5001#false} is VALID [2020-07-10 20:22:31,967 INFO L280 TraceCheckUtils]: 42: Hoare triple {5001#false} ~i~0 := -1; {5001#false} is VALID [2020-07-10 20:22:31,967 INFO L280 TraceCheckUtils]: 43: Hoare triple {5001#false} ~j~0 := -1; {5001#false} is VALID [2020-07-10 20:22:31,967 INFO L280 TraceCheckUtils]: 44: Hoare triple {5001#false} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L50 {5001#false} is VALID [2020-07-10 20:22:31,967 INFO L280 TraceCheckUtils]: 45: Hoare triple {5001#false} assume !(~str.base == 0 && ~str.offset == 0); {5001#false} is VALID [2020-07-10 20:22:31,968 INFO L280 TraceCheckUtils]: 46: Hoare triple {5001#false} #t~post2 := ~i~0; {5001#false} is VALID [2020-07-10 20:22:31,968 INFO L280 TraceCheckUtils]: 47: Hoare triple {5001#false} ~i~0 := 1 + #t~post2; {5001#false} is VALID [2020-07-10 20:22:31,968 INFO L280 TraceCheckUtils]: 48: Hoare triple {5001#false} havoc #t~post2; {5001#false} is VALID [2020-07-10 20:22:31,968 INFO L280 TraceCheckUtils]: 49: Hoare triple {5001#false} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L54 {5001#false} is VALID [2020-07-10 20:22:31,968 INFO L280 TraceCheckUtils]: 50: Hoare triple {5001#false} #t~switch4 := 0 == #t~mem3; {5001#false} is VALID [2020-07-10 20:22:31,969 INFO L280 TraceCheckUtils]: 51: Hoare triple {5001#false} assume #t~switch4; {5001#false} is VALID [2020-07-10 20:22:31,969 INFO L280 TraceCheckUtils]: 52: Hoare triple {5001#false} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-17 {5001#false} is VALID [2020-07-10 20:22:31,969 INFO L280 TraceCheckUtils]: 53: Hoare triple {5001#false} #t~short7 := 32 == #t~mem5; {5001#false} is VALID [2020-07-10 20:22:31,969 INFO L280 TraceCheckUtils]: 54: Hoare triple {5001#false} assume #t~short7; {5001#false} is VALID [2020-07-10 20:22:31,969 INFO L280 TraceCheckUtils]: 55: Hoare triple {5001#false} assume !#t~short7; {5001#false} is VALID [2020-07-10 20:22:31,970 INFO L280 TraceCheckUtils]: 56: Hoare triple {5001#false} havoc #t~mem5; {5001#false} is VALID [2020-07-10 20:22:31,970 INFO L280 TraceCheckUtils]: 57: Hoare triple {5001#false} havoc #t~mem6; {5001#false} is VALID [2020-07-10 20:22:31,970 INFO L280 TraceCheckUtils]: 58: Hoare triple {5001#false} havoc #t~short7; {5001#false} is VALID [2020-07-10 20:22:31,970 INFO L280 TraceCheckUtils]: 59: Hoare triple {5001#false} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-18 {5001#false} is VALID [2020-07-10 20:22:31,971 INFO L280 TraceCheckUtils]: 60: Hoare triple {5001#false} assume !(34 == #t~mem9); {5001#false} is VALID [2020-07-10 20:22:31,971 INFO L280 TraceCheckUtils]: 61: Hoare triple {5001#false} havoc #t~mem9; {5001#false} is VALID [2020-07-10 20:22:31,971 INFO L280 TraceCheckUtils]: 62: Hoare triple {5001#false} ~j~0 := ~i~0 - 1; {5001#false} is VALID [2020-07-10 20:22:31,971 INFO L280 TraceCheckUtils]: 63: Hoare triple {5001#false} #t~short14 := 0 < ~j~0; {5001#false} is VALID [2020-07-10 20:22:31,971 INFO L280 TraceCheckUtils]: 64: Hoare triple {5001#false} assume !#t~short14; {5001#false} is VALID [2020-07-10 20:22:31,972 INFO L280 TraceCheckUtils]: 65: Hoare triple {5001#false} assume !#t~short14; {5001#false} is VALID [2020-07-10 20:22:31,972 INFO L280 TraceCheckUtils]: 66: Hoare triple {5001#false} havoc #t~mem12; {5001#false} is VALID [2020-07-10 20:22:31,972 INFO L280 TraceCheckUtils]: 67: Hoare triple {5001#false} havoc #t~short13; {5001#false} is VALID [2020-07-10 20:22:31,972 INFO L280 TraceCheckUtils]: 68: Hoare triple {5001#false} havoc #t~short14; {5001#false} is VALID [2020-07-10 20:22:31,973 INFO L280 TraceCheckUtils]: 69: Hoare triple {5001#false} havoc #t~mem11; {5001#false} is VALID [2020-07-10 20:22:31,973 INFO L280 TraceCheckUtils]: 70: Hoare triple {5001#false} #t~short17 := 0 < ~j~0; {5001#false} is VALID [2020-07-10 20:22:31,973 INFO L280 TraceCheckUtils]: 71: Hoare triple {5001#false} assume !#t~short17; {5001#false} is VALID [2020-07-10 20:22:31,973 INFO L280 TraceCheckUtils]: 72: Hoare triple {5001#false} assume !#t~short17; {5001#false} is VALID [2020-07-10 20:22:31,973 INFO L280 TraceCheckUtils]: 73: Hoare triple {5001#false} havoc #t~mem16; {5001#false} is VALID [2020-07-10 20:22:31,974 INFO L280 TraceCheckUtils]: 74: Hoare triple {5001#false} havoc #t~short17; {5001#false} is VALID [2020-07-10 20:22:31,974 INFO L280 TraceCheckUtils]: 75: Hoare triple {5001#false} assume ~start~0 <= ~j~0; {5001#false} is VALID [2020-07-10 20:22:31,974 INFO L280 TraceCheckUtils]: 76: Hoare triple {5001#false} assume !(1 + (~j~0 - ~start~0) >= 2); {5001#false} is VALID [2020-07-10 20:22:31,974 INFO L263 TraceCheckUtils]: 77: Hoare triple {5001#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)); {5000#true} is VALID [2020-07-10 20:22:31,975 INFO L280 TraceCheckUtils]: 78: Hoare triple {5000#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {5000#true} is VALID [2020-07-10 20:22:31,975 INFO L280 TraceCheckUtils]: 79: Hoare triple {5000#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {5000#true} is VALID [2020-07-10 20:22:31,975 INFO L280 TraceCheckUtils]: 80: Hoare triple {5000#true} ~n := #in~n; {5000#true} is VALID [2020-07-10 20:22:31,975 INFO L280 TraceCheckUtils]: 81: Hoare triple {5000#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {5000#true} is VALID [2020-07-10 20:22:31,975 INFO L280 TraceCheckUtils]: 82: Hoare triple {5000#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {5000#true} is VALID [2020-07-10 20:22:31,976 INFO L280 TraceCheckUtils]: 83: Hoare triple {5000#true} havoc #t~ret0.base, #t~ret0.offset; {5000#true} is VALID [2020-07-10 20:22:31,976 INFO L280 TraceCheckUtils]: 84: Hoare triple {5000#true} assume true; {5000#true} is VALID [2020-07-10 20:22:31,976 INFO L275 TraceCheckUtils]: 85: Hoare quadruple {5000#true} {5001#false} #227#return; {5001#false} is VALID [2020-07-10 20:22:31,976 INFO L280 TraceCheckUtils]: 86: Hoare triple {5001#false} havoc #t~ret19.base, #t~ret19.offset; {5001#false} is VALID [2020-07-10 20:22:31,976 INFO L263 TraceCheckUtils]: 87: Hoare triple {5001#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {5001#false} is VALID [2020-07-10 20:22:31,977 INFO L280 TraceCheckUtils]: 88: Hoare triple {5001#false} ~cond := #in~cond; {5001#false} is VALID [2020-07-10 20:22:31,977 INFO L280 TraceCheckUtils]: 89: Hoare triple {5001#false} assume 0 == ~cond; {5001#false} is VALID [2020-07-10 20:22:31,977 INFO L280 TraceCheckUtils]: 90: Hoare triple {5001#false} assume !false; {5001#false} is VALID [2020-07-10 20:22:31,983 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,983 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:31,983 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1336852326] [2020-07-10 20:22:31,984 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:31,984 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2020-07-10 20:22:31,984 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1679885246] [2020-07-10 20:22:31,985 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 91 [2020-07-10 20:22:31,985 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:31,985 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-10 20:22:32,072 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:32,073 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-10 20:22:32,073 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:32,073 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-10 20:22:32,073 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2020-07-10 20:22:32,073 INFO L87 Difference]: Start difference. First operand 133 states and 143 transitions. Second operand 12 states. [2020-07-10 20:22:33,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:33,472 INFO L93 Difference]: Finished difference Result 240 states and 260 transitions. [2020-07-10 20:22:33,472 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2020-07-10 20:22:33,472 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 91 [2020-07-10 20:22:33,473 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:33,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-10 20:22:33,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 260 transitions. [2020-07-10 20:22:33,477 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-10 20:22:33,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 260 transitions. [2020-07-10 20:22:33,482 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 260 transitions. [2020-07-10 20:22:33,746 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 260 edges. 260 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:33,749 INFO L225 Difference]: With dead ends: 240 [2020-07-10 20:22:33,749 INFO L226 Difference]: Without dead ends: 145 [2020-07-10 20:22:33,750 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=125, Invalid=255, Unknown=0, NotChecked=0, Total=380 [2020-07-10 20:22:33,751 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 145 states. [2020-07-10 20:22:33,853 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 145 to 140. [2020-07-10 20:22:33,854 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:33,854 INFO L82 GeneralOperation]: Start isEquivalent. First operand 145 states. Second operand 140 states. [2020-07-10 20:22:33,854 INFO L74 IsIncluded]: Start isIncluded. First operand 145 states. Second operand 140 states. [2020-07-10 20:22:33,854 INFO L87 Difference]: Start difference. First operand 145 states. Second operand 140 states. [2020-07-10 20:22:33,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:33,859 INFO L93 Difference]: Finished difference Result 145 states and 155 transitions. [2020-07-10 20:22:33,859 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 155 transitions. [2020-07-10 20:22:33,860 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:33,866 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:33,867 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand 145 states. [2020-07-10 20:22:33,867 INFO L87 Difference]: Start difference. First operand 140 states. Second operand 145 states. [2020-07-10 20:22:33,871 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:33,871 INFO L93 Difference]: Finished difference Result 145 states and 155 transitions. [2020-07-10 20:22:33,872 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 155 transitions. [2020-07-10 20:22:33,872 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:33,877 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:33,877 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:33,878 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:33,878 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 140 states. [2020-07-10 20:22:33,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 140 states to 140 states and 150 transitions. [2020-07-10 20:22:33,887 INFO L78 Accepts]: Start accepts. Automaton has 140 states and 150 transitions. Word has length 91 [2020-07-10 20:22:33,888 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:33,888 INFO L479 AbstractCegarLoop]: Abstraction has 140 states and 150 transitions. [2020-07-10 20:22:33,888 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-10 20:22:33,888 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 140 states and 150 transitions. [2020-07-10 20:22:34,011 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:34,012 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 150 transitions. [2020-07-10 20:22:34,013 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 99 [2020-07-10 20:22:34,013 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:34,013 INFO L422 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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,014 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-10 20:22:34,014 INFO L427 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:34,014 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:34,014 INFO L82 PathProgramCache]: Analyzing trace with hash -722319669, now seen corresponding path program 5 times [2020-07-10 20:22:34,014 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:34,015 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [201522970] [2020-07-10 20:22:34,015 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:34,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:34,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:34,269 INFO L280 TraceCheckUtils]: 0: Hoare triple {6119#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {6093#true} is VALID [2020-07-10 20:22:34,269 INFO L280 TraceCheckUtils]: 1: Hoare triple {6093#true} #valid := #valid[0 := 0]; {6093#true} is VALID [2020-07-10 20:22:34,269 INFO L280 TraceCheckUtils]: 2: Hoare triple {6093#true} assume 0 < #StackHeapBarrier; {6093#true} is VALID [2020-07-10 20:22:34,269 INFO L280 TraceCheckUtils]: 3: Hoare triple {6093#true} assume true; {6093#true} is VALID [2020-07-10 20:22:34,270 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {6093#true} {6093#true} #231#return; {6093#true} is VALID [2020-07-10 20:22:34,271 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:34,275 INFO L280 TraceCheckUtils]: 0: Hoare triple {6093#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {6093#true} is VALID [2020-07-10 20:22:34,275 INFO L280 TraceCheckUtils]: 1: Hoare triple {6093#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {6093#true} is VALID [2020-07-10 20:22:34,275 INFO L280 TraceCheckUtils]: 2: Hoare triple {6093#true} ~n := #in~n; {6093#true} is VALID [2020-07-10 20:22:34,275 INFO L280 TraceCheckUtils]: 3: Hoare triple {6093#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {6093#true} is VALID [2020-07-10 20:22:34,276 INFO L280 TraceCheckUtils]: 4: Hoare triple {6093#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {6093#true} is VALID [2020-07-10 20:22:34,276 INFO L280 TraceCheckUtils]: 5: Hoare triple {6093#true} havoc #t~ret0.base, #t~ret0.offset; {6093#true} is VALID [2020-07-10 20:22:34,276 INFO L280 TraceCheckUtils]: 6: Hoare triple {6093#true} assume true; {6093#true} is VALID [2020-07-10 20:22:34,276 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {6093#true} {6094#false} #227#return; {6094#false} is VALID [2020-07-10 20:22:34,277 INFO L263 TraceCheckUtils]: 0: Hoare triple {6093#true} call ULTIMATE.init(); {6119#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:22:34,278 INFO L280 TraceCheckUtils]: 1: Hoare triple {6119#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {6093#true} is VALID [2020-07-10 20:22:34,278 INFO L280 TraceCheckUtils]: 2: Hoare triple {6093#true} #valid := #valid[0 := 0]; {6093#true} is VALID [2020-07-10 20:22:34,278 INFO L280 TraceCheckUtils]: 3: Hoare triple {6093#true} assume 0 < #StackHeapBarrier; {6093#true} is VALID [2020-07-10 20:22:34,278 INFO L280 TraceCheckUtils]: 4: Hoare triple {6093#true} assume true; {6093#true} is VALID [2020-07-10 20:22:34,279 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {6093#true} {6093#true} #231#return; {6093#true} is VALID [2020-07-10 20:22:34,279 INFO L263 TraceCheckUtils]: 6: Hoare triple {6093#true} call #t~ret23 := main(); {6093#true} is VALID [2020-07-10 20:22:34,279 INFO L280 TraceCheckUtils]: 7: Hoare triple {6093#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {6093#true} is VALID [2020-07-10 20:22:34,280 INFO L280 TraceCheckUtils]: 8: Hoare triple {6093#true} ~i~1 := 0; {6100#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:34,280 INFO L280 TraceCheckUtils]: 9: Hoare triple {6100#(= 0 main_~i~1)} assume !!(~i~1 < 8); {6100#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:34,281 INFO L280 TraceCheckUtils]: 10: Hoare triple {6100#(= 0 main_~i~1)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {6100#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:34,281 INFO L280 TraceCheckUtils]: 11: Hoare triple {6100#(= 0 main_~i~1)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {6100#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:34,282 INFO L280 TraceCheckUtils]: 12: Hoare triple {6100#(= 0 main_~i~1)} havoc #t~nondet21; {6100#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:34,283 INFO L280 TraceCheckUtils]: 13: Hoare triple {6100#(= 0 main_~i~1)} #t~post20 := ~i~1; {6101#(= 0 |main_#t~post20|)} is VALID [2020-07-10 20:22:34,283 INFO L280 TraceCheckUtils]: 14: Hoare triple {6101#(= 0 |main_#t~post20|)} ~i~1 := 1 + #t~post20; {6102#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:34,284 INFO L280 TraceCheckUtils]: 15: Hoare triple {6102#(<= main_~i~1 1)} havoc #t~post20; {6102#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:34,284 INFO L280 TraceCheckUtils]: 16: Hoare triple {6102#(<= main_~i~1 1)} assume !!(~i~1 < 8); {6102#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:34,285 INFO L280 TraceCheckUtils]: 17: Hoare triple {6102#(<= main_~i~1 1)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {6102#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:34,285 INFO L280 TraceCheckUtils]: 18: Hoare triple {6102#(<= main_~i~1 1)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {6102#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:34,286 INFO L280 TraceCheckUtils]: 19: Hoare triple {6102#(<= main_~i~1 1)} havoc #t~nondet21; {6102#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:34,286 INFO L280 TraceCheckUtils]: 20: Hoare triple {6102#(<= main_~i~1 1)} #t~post20 := ~i~1; {6103#(<= |main_#t~post20| 1)} is VALID [2020-07-10 20:22:34,287 INFO L280 TraceCheckUtils]: 21: Hoare triple {6103#(<= |main_#t~post20| 1)} ~i~1 := 1 + #t~post20; {6104#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:34,288 INFO L280 TraceCheckUtils]: 22: Hoare triple {6104#(<= main_~i~1 2)} havoc #t~post20; {6104#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:34,288 INFO L280 TraceCheckUtils]: 23: Hoare triple {6104#(<= main_~i~1 2)} assume !!(~i~1 < 8); {6104#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:34,289 INFO L280 TraceCheckUtils]: 24: Hoare triple {6104#(<= main_~i~1 2)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {6104#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:34,289 INFO L280 TraceCheckUtils]: 25: Hoare triple {6104#(<= main_~i~1 2)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {6104#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:34,290 INFO L280 TraceCheckUtils]: 26: Hoare triple {6104#(<= main_~i~1 2)} havoc #t~nondet21; {6104#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:34,291 INFO L280 TraceCheckUtils]: 27: Hoare triple {6104#(<= main_~i~1 2)} #t~post20 := ~i~1; {6105#(<= |main_#t~post20| 2)} is VALID [2020-07-10 20:22:34,292 INFO L280 TraceCheckUtils]: 28: Hoare triple {6105#(<= |main_#t~post20| 2)} ~i~1 := 1 + #t~post20; {6106#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:34,293 INFO L280 TraceCheckUtils]: 29: Hoare triple {6106#(<= main_~i~1 3)} havoc #t~post20; {6106#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:34,293 INFO L280 TraceCheckUtils]: 30: Hoare triple {6106#(<= main_~i~1 3)} assume !!(~i~1 < 8); {6106#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:34,294 INFO L280 TraceCheckUtils]: 31: Hoare triple {6106#(<= main_~i~1 3)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {6106#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:34,294 INFO L280 TraceCheckUtils]: 32: Hoare triple {6106#(<= main_~i~1 3)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {6106#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:34,295 INFO L280 TraceCheckUtils]: 33: Hoare triple {6106#(<= main_~i~1 3)} havoc #t~nondet21; {6106#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:34,296 INFO L280 TraceCheckUtils]: 34: Hoare triple {6106#(<= main_~i~1 3)} #t~post20 := ~i~1; {6107#(<= |main_#t~post20| 3)} is VALID [2020-07-10 20:22:34,297 INFO L280 TraceCheckUtils]: 35: Hoare triple {6107#(<= |main_#t~post20| 3)} ~i~1 := 1 + #t~post20; {6108#(<= main_~i~1 4)} is VALID [2020-07-10 20:22:34,297 INFO L280 TraceCheckUtils]: 36: Hoare triple {6108#(<= main_~i~1 4)} havoc #t~post20; {6108#(<= main_~i~1 4)} is VALID [2020-07-10 20:22:34,298 INFO L280 TraceCheckUtils]: 37: Hoare triple {6108#(<= main_~i~1 4)} assume !!(~i~1 < 8); {6108#(<= main_~i~1 4)} is VALID [2020-07-10 20:22:34,299 INFO L280 TraceCheckUtils]: 38: Hoare triple {6108#(<= main_~i~1 4)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {6108#(<= main_~i~1 4)} is VALID [2020-07-10 20:22:34,299 INFO L280 TraceCheckUtils]: 39: Hoare triple {6108#(<= main_~i~1 4)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {6108#(<= main_~i~1 4)} is VALID [2020-07-10 20:22:34,300 INFO L280 TraceCheckUtils]: 40: Hoare triple {6108#(<= main_~i~1 4)} havoc #t~nondet21; {6108#(<= main_~i~1 4)} is VALID [2020-07-10 20:22:34,301 INFO L280 TraceCheckUtils]: 41: Hoare triple {6108#(<= main_~i~1 4)} #t~post20 := ~i~1; {6109#(<= |main_#t~post20| 4)} is VALID [2020-07-10 20:22:34,301 INFO L280 TraceCheckUtils]: 42: Hoare triple {6109#(<= |main_#t~post20| 4)} ~i~1 := 1 + #t~post20; {6110#(<= main_~i~1 5)} is VALID [2020-07-10 20:22:34,302 INFO L280 TraceCheckUtils]: 43: Hoare triple {6110#(<= main_~i~1 5)} havoc #t~post20; {6110#(<= main_~i~1 5)} is VALID [2020-07-10 20:22:34,303 INFO L280 TraceCheckUtils]: 44: Hoare triple {6110#(<= main_~i~1 5)} assume !(~i~1 < 8); {6094#false} is VALID [2020-07-10 20:22:34,303 INFO L280 TraceCheckUtils]: 45: Hoare triple {6094#false} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L79-6 {6094#false} is VALID [2020-07-10 20:22:34,303 INFO L263 TraceCheckUtils]: 46: Hoare triple {6094#false} call #t~ret22 := parse_expression_list(~#A~0.base, ~#A~0.offset); {6094#false} is VALID [2020-07-10 20:22:34,303 INFO L280 TraceCheckUtils]: 47: Hoare triple {6094#false} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {6094#false} is VALID [2020-07-10 20:22:34,303 INFO L280 TraceCheckUtils]: 48: Hoare triple {6094#false} ~start~0 := 0; {6094#false} is VALID [2020-07-10 20:22:34,304 INFO L280 TraceCheckUtils]: 49: Hoare triple {6094#false} ~i~0 := -1; {6094#false} is VALID [2020-07-10 20:22:34,304 INFO L280 TraceCheckUtils]: 50: Hoare triple {6094#false} ~j~0 := -1; {6094#false} is VALID [2020-07-10 20:22:34,304 INFO L280 TraceCheckUtils]: 51: Hoare triple {6094#false} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L50 {6094#false} is VALID [2020-07-10 20:22:34,304 INFO L280 TraceCheckUtils]: 52: Hoare triple {6094#false} assume !(~str.base == 0 && ~str.offset == 0); {6094#false} is VALID [2020-07-10 20:22:34,305 INFO L280 TraceCheckUtils]: 53: Hoare triple {6094#false} #t~post2 := ~i~0; {6094#false} is VALID [2020-07-10 20:22:34,305 INFO L280 TraceCheckUtils]: 54: Hoare triple {6094#false} ~i~0 := 1 + #t~post2; {6094#false} is VALID [2020-07-10 20:22:34,305 INFO L280 TraceCheckUtils]: 55: Hoare triple {6094#false} havoc #t~post2; {6094#false} is VALID [2020-07-10 20:22:34,305 INFO L280 TraceCheckUtils]: 56: Hoare triple {6094#false} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L54 {6094#false} is VALID [2020-07-10 20:22:34,305 INFO L280 TraceCheckUtils]: 57: Hoare triple {6094#false} #t~switch4 := 0 == #t~mem3; {6094#false} is VALID [2020-07-10 20:22:34,306 INFO L280 TraceCheckUtils]: 58: Hoare triple {6094#false} assume #t~switch4; {6094#false} is VALID [2020-07-10 20:22:34,306 INFO L280 TraceCheckUtils]: 59: Hoare triple {6094#false} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-17 {6094#false} is VALID [2020-07-10 20:22:34,306 INFO L280 TraceCheckUtils]: 60: Hoare triple {6094#false} #t~short7 := 32 == #t~mem5; {6094#false} is VALID [2020-07-10 20:22:34,306 INFO L280 TraceCheckUtils]: 61: Hoare triple {6094#false} assume #t~short7; {6094#false} is VALID [2020-07-10 20:22:34,307 INFO L280 TraceCheckUtils]: 62: Hoare triple {6094#false} assume !#t~short7; {6094#false} is VALID [2020-07-10 20:22:34,307 INFO L280 TraceCheckUtils]: 63: Hoare triple {6094#false} havoc #t~mem5; {6094#false} is VALID [2020-07-10 20:22:34,307 INFO L280 TraceCheckUtils]: 64: Hoare triple {6094#false} havoc #t~mem6; {6094#false} is VALID [2020-07-10 20:22:34,307 INFO L280 TraceCheckUtils]: 65: Hoare triple {6094#false} havoc #t~short7; {6094#false} is VALID [2020-07-10 20:22:34,307 INFO L280 TraceCheckUtils]: 66: Hoare triple {6094#false} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-18 {6094#false} is VALID [2020-07-10 20:22:34,308 INFO L280 TraceCheckUtils]: 67: Hoare triple {6094#false} assume !(34 == #t~mem9); {6094#false} is VALID [2020-07-10 20:22:34,308 INFO L280 TraceCheckUtils]: 68: Hoare triple {6094#false} havoc #t~mem9; {6094#false} is VALID [2020-07-10 20:22:34,308 INFO L280 TraceCheckUtils]: 69: Hoare triple {6094#false} ~j~0 := ~i~0 - 1; {6094#false} is VALID [2020-07-10 20:22:34,308 INFO L280 TraceCheckUtils]: 70: Hoare triple {6094#false} #t~short14 := 0 < ~j~0; {6094#false} is VALID [2020-07-10 20:22:34,308 INFO L280 TraceCheckUtils]: 71: Hoare triple {6094#false} assume !#t~short14; {6094#false} is VALID [2020-07-10 20:22:34,309 INFO L280 TraceCheckUtils]: 72: Hoare triple {6094#false} assume !#t~short14; {6094#false} is VALID [2020-07-10 20:22:34,309 INFO L280 TraceCheckUtils]: 73: Hoare triple {6094#false} havoc #t~mem12; {6094#false} is VALID [2020-07-10 20:22:34,309 INFO L280 TraceCheckUtils]: 74: Hoare triple {6094#false} havoc #t~short13; {6094#false} is VALID [2020-07-10 20:22:34,309 INFO L280 TraceCheckUtils]: 75: Hoare triple {6094#false} havoc #t~short14; {6094#false} is VALID [2020-07-10 20:22:34,310 INFO L280 TraceCheckUtils]: 76: Hoare triple {6094#false} havoc #t~mem11; {6094#false} is VALID [2020-07-10 20:22:34,310 INFO L280 TraceCheckUtils]: 77: Hoare triple {6094#false} #t~short17 := 0 < ~j~0; {6094#false} is VALID [2020-07-10 20:22:34,310 INFO L280 TraceCheckUtils]: 78: Hoare triple {6094#false} assume !#t~short17; {6094#false} is VALID [2020-07-10 20:22:34,310 INFO L280 TraceCheckUtils]: 79: Hoare triple {6094#false} assume !#t~short17; {6094#false} is VALID [2020-07-10 20:22:34,311 INFO L280 TraceCheckUtils]: 80: Hoare triple {6094#false} havoc #t~mem16; {6094#false} is VALID [2020-07-10 20:22:34,311 INFO L280 TraceCheckUtils]: 81: Hoare triple {6094#false} havoc #t~short17; {6094#false} is VALID [2020-07-10 20:22:34,311 INFO L280 TraceCheckUtils]: 82: Hoare triple {6094#false} assume ~start~0 <= ~j~0; {6094#false} is VALID [2020-07-10 20:22:34,311 INFO L280 TraceCheckUtils]: 83: Hoare triple {6094#false} assume !(1 + (~j~0 - ~start~0) >= 2); {6094#false} is VALID [2020-07-10 20:22:34,311 INFO L263 TraceCheckUtils]: 84: Hoare triple {6094#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)); {6093#true} is VALID [2020-07-10 20:22:34,312 INFO L280 TraceCheckUtils]: 85: Hoare triple {6093#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {6093#true} is VALID [2020-07-10 20:22:34,312 INFO L280 TraceCheckUtils]: 86: Hoare triple {6093#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {6093#true} is VALID [2020-07-10 20:22:34,312 INFO L280 TraceCheckUtils]: 87: Hoare triple {6093#true} ~n := #in~n; {6093#true} is VALID [2020-07-10 20:22:34,312 INFO L280 TraceCheckUtils]: 88: Hoare triple {6093#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {6093#true} is VALID [2020-07-10 20:22:34,312 INFO L280 TraceCheckUtils]: 89: Hoare triple {6093#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {6093#true} is VALID [2020-07-10 20:22:34,313 INFO L280 TraceCheckUtils]: 90: Hoare triple {6093#true} havoc #t~ret0.base, #t~ret0.offset; {6093#true} is VALID [2020-07-10 20:22:34,313 INFO L280 TraceCheckUtils]: 91: Hoare triple {6093#true} assume true; {6093#true} is VALID [2020-07-10 20:22:34,313 INFO L275 TraceCheckUtils]: 92: Hoare quadruple {6093#true} {6094#false} #227#return; {6094#false} is VALID [2020-07-10 20:22:34,313 INFO L280 TraceCheckUtils]: 93: Hoare triple {6094#false} havoc #t~ret19.base, #t~ret19.offset; {6094#false} is VALID [2020-07-10 20:22:34,314 INFO L263 TraceCheckUtils]: 94: Hoare triple {6094#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {6094#false} is VALID [2020-07-10 20:22:34,314 INFO L280 TraceCheckUtils]: 95: Hoare triple {6094#false} ~cond := #in~cond; {6094#false} is VALID [2020-07-10 20:22:34,314 INFO L280 TraceCheckUtils]: 96: Hoare triple {6094#false} assume 0 == ~cond; {6094#false} is VALID [2020-07-10 20:22:34,314 INFO L280 TraceCheckUtils]: 97: Hoare triple {6094#false} assume !false; {6094#false} is VALID [2020-07-10 20:22:34,324 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,324 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:34,325 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [201522970] [2020-07-10 20:22:34,325 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:34,325 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2020-07-10 20:22:34,325 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [216957378] [2020-07-10 20:22:34,326 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 98 [2020-07-10 20:22:34,326 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:34,326 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2020-07-10 20:22:34,431 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:34,431 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2020-07-10 20:22:34,431 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:34,431 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2020-07-10 20:22:34,432 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=132, Unknown=0, NotChecked=0, Total=182 [2020-07-10 20:22:34,432 INFO L87 Difference]: Start difference. First operand 140 states and 150 transitions. Second operand 14 states. [2020-07-10 20:22:36,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:36,118 INFO L93 Difference]: Finished difference Result 247 states and 267 transitions. [2020-07-10 20:22:36,119 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2020-07-10 20:22:36,119 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 98 [2020-07-10 20:22:36,119 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:36,119 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-10 20:22:36,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 267 transitions. [2020-07-10 20:22:36,124 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-10 20:22:36,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 267 transitions. [2020-07-10 20:22:36,129 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 267 transitions. [2020-07-10 20:22:36,384 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 267 edges. 267 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:36,387 INFO L225 Difference]: With dead ends: 247 [2020-07-10 20:22:36,388 INFO L226 Difference]: Without dead ends: 152 [2020-07-10 20:22:36,388 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 74 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=180, Invalid=372, Unknown=0, NotChecked=0, Total=552 [2020-07-10 20:22:36,389 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 152 states. [2020-07-10 20:22:36,496 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 152 to 147. [2020-07-10 20:22:36,496 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:36,496 INFO L82 GeneralOperation]: Start isEquivalent. First operand 152 states. Second operand 147 states. [2020-07-10 20:22:36,496 INFO L74 IsIncluded]: Start isIncluded. First operand 152 states. Second operand 147 states. [2020-07-10 20:22:36,496 INFO L87 Difference]: Start difference. First operand 152 states. Second operand 147 states. [2020-07-10 20:22:36,501 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:36,501 INFO L93 Difference]: Finished difference Result 152 states and 162 transitions. [2020-07-10 20:22:36,501 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 162 transitions. [2020-07-10 20:22:36,502 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:36,502 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:36,502 INFO L74 IsIncluded]: Start isIncluded. First operand 147 states. Second operand 152 states. [2020-07-10 20:22:36,502 INFO L87 Difference]: Start difference. First operand 147 states. Second operand 152 states. [2020-07-10 20:22:36,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:36,508 INFO L93 Difference]: Finished difference Result 152 states and 162 transitions. [2020-07-10 20:22:36,508 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 162 transitions. [2020-07-10 20:22:36,509 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:36,509 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:36,509 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:36,509 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:36,509 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 147 states. [2020-07-10 20:22:36,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 147 states to 147 states and 157 transitions. [2020-07-10 20:22:36,513 INFO L78 Accepts]: Start accepts. Automaton has 147 states and 157 transitions. Word has length 98 [2020-07-10 20:22:36,514 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:36,514 INFO L479 AbstractCegarLoop]: Abstraction has 147 states and 157 transitions. [2020-07-10 20:22:36,514 INFO L480 AbstractCegarLoop]: Interpolant automaton has 14 states. [2020-07-10 20:22:36,514 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 147 states and 157 transitions. [2020-07-10 20:22:36,662 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:36,663 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 157 transitions. [2020-07-10 20:22:36,664 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2020-07-10 20:22:36,664 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:36,665 INFO L422 BasicCegarLoop]: trace histogram [6, 6, 6, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:36,665 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-10 20:22:36,665 INFO L427 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:36,666 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:36,666 INFO L82 PathProgramCache]: Analyzing trace with hash 1819472617, now seen corresponding path program 6 times [2020-07-10 20:22:36,666 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:36,666 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1836121784] [2020-07-10 20:22:36,667 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:36,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:36,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:36,908 INFO L280 TraceCheckUtils]: 0: Hoare triple {7262#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {7234#true} is VALID [2020-07-10 20:22:36,909 INFO L280 TraceCheckUtils]: 1: Hoare triple {7234#true} #valid := #valid[0 := 0]; {7234#true} is VALID [2020-07-10 20:22:36,909 INFO L280 TraceCheckUtils]: 2: Hoare triple {7234#true} assume 0 < #StackHeapBarrier; {7234#true} is VALID [2020-07-10 20:22:36,909 INFO L280 TraceCheckUtils]: 3: Hoare triple {7234#true} assume true; {7234#true} is VALID [2020-07-10 20:22:36,909 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {7234#true} {7234#true} #231#return; {7234#true} is VALID [2020-07-10 20:22:36,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:36,914 INFO L280 TraceCheckUtils]: 0: Hoare triple {7234#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {7234#true} is VALID [2020-07-10 20:22:36,915 INFO L280 TraceCheckUtils]: 1: Hoare triple {7234#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {7234#true} is VALID [2020-07-10 20:22:36,915 INFO L280 TraceCheckUtils]: 2: Hoare triple {7234#true} ~n := #in~n; {7234#true} is VALID [2020-07-10 20:22:36,915 INFO L280 TraceCheckUtils]: 3: Hoare triple {7234#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {7234#true} is VALID [2020-07-10 20:22:36,915 INFO L280 TraceCheckUtils]: 4: Hoare triple {7234#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {7234#true} is VALID [2020-07-10 20:22:36,916 INFO L280 TraceCheckUtils]: 5: Hoare triple {7234#true} havoc #t~ret0.base, #t~ret0.offset; {7234#true} is VALID [2020-07-10 20:22:36,916 INFO L280 TraceCheckUtils]: 6: Hoare triple {7234#true} assume true; {7234#true} is VALID [2020-07-10 20:22:36,916 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {7234#true} {7235#false} #227#return; {7235#false} is VALID [2020-07-10 20:22:36,917 INFO L263 TraceCheckUtils]: 0: Hoare triple {7234#true} call ULTIMATE.init(); {7262#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:22:36,917 INFO L280 TraceCheckUtils]: 1: Hoare triple {7262#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {7234#true} is VALID [2020-07-10 20:22:36,918 INFO L280 TraceCheckUtils]: 2: Hoare triple {7234#true} #valid := #valid[0 := 0]; {7234#true} is VALID [2020-07-10 20:22:36,918 INFO L280 TraceCheckUtils]: 3: Hoare triple {7234#true} assume 0 < #StackHeapBarrier; {7234#true} is VALID [2020-07-10 20:22:36,918 INFO L280 TraceCheckUtils]: 4: Hoare triple {7234#true} assume true; {7234#true} is VALID [2020-07-10 20:22:36,918 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {7234#true} {7234#true} #231#return; {7234#true} is VALID [2020-07-10 20:22:36,918 INFO L263 TraceCheckUtils]: 6: Hoare triple {7234#true} call #t~ret23 := main(); {7234#true} is VALID [2020-07-10 20:22:36,919 INFO L280 TraceCheckUtils]: 7: Hoare triple {7234#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {7234#true} is VALID [2020-07-10 20:22:36,919 INFO L280 TraceCheckUtils]: 8: Hoare triple {7234#true} ~i~1 := 0; {7241#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:36,920 INFO L280 TraceCheckUtils]: 9: Hoare triple {7241#(= 0 main_~i~1)} assume !!(~i~1 < 8); {7241#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:36,921 INFO L280 TraceCheckUtils]: 10: Hoare triple {7241#(= 0 main_~i~1)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {7241#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:36,921 INFO L280 TraceCheckUtils]: 11: Hoare triple {7241#(= 0 main_~i~1)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {7241#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:36,922 INFO L280 TraceCheckUtils]: 12: Hoare triple {7241#(= 0 main_~i~1)} havoc #t~nondet21; {7241#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:36,922 INFO L280 TraceCheckUtils]: 13: Hoare triple {7241#(= 0 main_~i~1)} #t~post20 := ~i~1; {7242#(= 0 |main_#t~post20|)} is VALID [2020-07-10 20:22:36,923 INFO L280 TraceCheckUtils]: 14: Hoare triple {7242#(= 0 |main_#t~post20|)} ~i~1 := 1 + #t~post20; {7243#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:36,923 INFO L280 TraceCheckUtils]: 15: Hoare triple {7243#(<= main_~i~1 1)} havoc #t~post20; {7243#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:36,924 INFO L280 TraceCheckUtils]: 16: Hoare triple {7243#(<= main_~i~1 1)} assume !!(~i~1 < 8); {7243#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:36,924 INFO L280 TraceCheckUtils]: 17: Hoare triple {7243#(<= main_~i~1 1)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {7243#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:36,925 INFO L280 TraceCheckUtils]: 18: Hoare triple {7243#(<= main_~i~1 1)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {7243#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:36,926 INFO L280 TraceCheckUtils]: 19: Hoare triple {7243#(<= main_~i~1 1)} havoc #t~nondet21; {7243#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:36,926 INFO L280 TraceCheckUtils]: 20: Hoare triple {7243#(<= main_~i~1 1)} #t~post20 := ~i~1; {7244#(<= |main_#t~post20| 1)} is VALID [2020-07-10 20:22:36,927 INFO L280 TraceCheckUtils]: 21: Hoare triple {7244#(<= |main_#t~post20| 1)} ~i~1 := 1 + #t~post20; {7245#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:36,928 INFO L280 TraceCheckUtils]: 22: Hoare triple {7245#(<= main_~i~1 2)} havoc #t~post20; {7245#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:36,928 INFO L280 TraceCheckUtils]: 23: Hoare triple {7245#(<= main_~i~1 2)} assume !!(~i~1 < 8); {7245#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:36,929 INFO L280 TraceCheckUtils]: 24: Hoare triple {7245#(<= main_~i~1 2)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {7245#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:36,930 INFO L280 TraceCheckUtils]: 25: Hoare triple {7245#(<= main_~i~1 2)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {7245#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:36,930 INFO L280 TraceCheckUtils]: 26: Hoare triple {7245#(<= main_~i~1 2)} havoc #t~nondet21; {7245#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:36,931 INFO L280 TraceCheckUtils]: 27: Hoare triple {7245#(<= main_~i~1 2)} #t~post20 := ~i~1; {7246#(<= |main_#t~post20| 2)} is VALID [2020-07-10 20:22:36,932 INFO L280 TraceCheckUtils]: 28: Hoare triple {7246#(<= |main_#t~post20| 2)} ~i~1 := 1 + #t~post20; {7247#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:36,932 INFO L280 TraceCheckUtils]: 29: Hoare triple {7247#(<= main_~i~1 3)} havoc #t~post20; {7247#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:36,933 INFO L280 TraceCheckUtils]: 30: Hoare triple {7247#(<= main_~i~1 3)} assume !!(~i~1 < 8); {7247#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:36,933 INFO L280 TraceCheckUtils]: 31: Hoare triple {7247#(<= main_~i~1 3)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {7247#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:36,934 INFO L280 TraceCheckUtils]: 32: Hoare triple {7247#(<= main_~i~1 3)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {7247#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:36,934 INFO L280 TraceCheckUtils]: 33: Hoare triple {7247#(<= main_~i~1 3)} havoc #t~nondet21; {7247#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:36,935 INFO L280 TraceCheckUtils]: 34: Hoare triple {7247#(<= main_~i~1 3)} #t~post20 := ~i~1; {7248#(<= |main_#t~post20| 3)} is VALID [2020-07-10 20:22:36,936 INFO L280 TraceCheckUtils]: 35: Hoare triple {7248#(<= |main_#t~post20| 3)} ~i~1 := 1 + #t~post20; {7249#(<= main_~i~1 4)} is VALID [2020-07-10 20:22:36,936 INFO L280 TraceCheckUtils]: 36: Hoare triple {7249#(<= main_~i~1 4)} havoc #t~post20; {7249#(<= main_~i~1 4)} is VALID [2020-07-10 20:22:36,937 INFO L280 TraceCheckUtils]: 37: Hoare triple {7249#(<= main_~i~1 4)} assume !!(~i~1 < 8); {7249#(<= main_~i~1 4)} is VALID [2020-07-10 20:22:36,938 INFO L280 TraceCheckUtils]: 38: Hoare triple {7249#(<= main_~i~1 4)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {7249#(<= main_~i~1 4)} is VALID [2020-07-10 20:22:36,938 INFO L280 TraceCheckUtils]: 39: Hoare triple {7249#(<= main_~i~1 4)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {7249#(<= main_~i~1 4)} is VALID [2020-07-10 20:22:36,939 INFO L280 TraceCheckUtils]: 40: Hoare triple {7249#(<= main_~i~1 4)} havoc #t~nondet21; {7249#(<= main_~i~1 4)} is VALID [2020-07-10 20:22:36,940 INFO L280 TraceCheckUtils]: 41: Hoare triple {7249#(<= main_~i~1 4)} #t~post20 := ~i~1; {7250#(<= |main_#t~post20| 4)} is VALID [2020-07-10 20:22:36,941 INFO L280 TraceCheckUtils]: 42: Hoare triple {7250#(<= |main_#t~post20| 4)} ~i~1 := 1 + #t~post20; {7251#(<= main_~i~1 5)} is VALID [2020-07-10 20:22:36,941 INFO L280 TraceCheckUtils]: 43: Hoare triple {7251#(<= main_~i~1 5)} havoc #t~post20; {7251#(<= main_~i~1 5)} is VALID [2020-07-10 20:22:36,942 INFO L280 TraceCheckUtils]: 44: Hoare triple {7251#(<= main_~i~1 5)} assume !!(~i~1 < 8); {7251#(<= main_~i~1 5)} is VALID [2020-07-10 20:22:36,942 INFO L280 TraceCheckUtils]: 45: Hoare triple {7251#(<= main_~i~1 5)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {7251#(<= main_~i~1 5)} is VALID [2020-07-10 20:22:36,943 INFO L280 TraceCheckUtils]: 46: Hoare triple {7251#(<= main_~i~1 5)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {7251#(<= main_~i~1 5)} is VALID [2020-07-10 20:22:36,944 INFO L280 TraceCheckUtils]: 47: Hoare triple {7251#(<= main_~i~1 5)} havoc #t~nondet21; {7251#(<= main_~i~1 5)} is VALID [2020-07-10 20:22:36,944 INFO L280 TraceCheckUtils]: 48: Hoare triple {7251#(<= main_~i~1 5)} #t~post20 := ~i~1; {7252#(<= |main_#t~post20| 5)} is VALID [2020-07-10 20:22:36,945 INFO L280 TraceCheckUtils]: 49: Hoare triple {7252#(<= |main_#t~post20| 5)} ~i~1 := 1 + #t~post20; {7253#(<= main_~i~1 6)} is VALID [2020-07-10 20:22:36,946 INFO L280 TraceCheckUtils]: 50: Hoare triple {7253#(<= main_~i~1 6)} havoc #t~post20; {7253#(<= main_~i~1 6)} is VALID [2020-07-10 20:22:36,947 INFO L280 TraceCheckUtils]: 51: Hoare triple {7253#(<= main_~i~1 6)} assume !(~i~1 < 8); {7235#false} is VALID [2020-07-10 20:22:36,947 INFO L280 TraceCheckUtils]: 52: Hoare triple {7235#false} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L79-6 {7235#false} is VALID [2020-07-10 20:22:36,947 INFO L263 TraceCheckUtils]: 53: Hoare triple {7235#false} call #t~ret22 := parse_expression_list(~#A~0.base, ~#A~0.offset); {7235#false} is VALID [2020-07-10 20:22:36,947 INFO L280 TraceCheckUtils]: 54: Hoare triple {7235#false} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {7235#false} is VALID [2020-07-10 20:22:36,948 INFO L280 TraceCheckUtils]: 55: Hoare triple {7235#false} ~start~0 := 0; {7235#false} is VALID [2020-07-10 20:22:36,948 INFO L280 TraceCheckUtils]: 56: Hoare triple {7235#false} ~i~0 := -1; {7235#false} is VALID [2020-07-10 20:22:36,948 INFO L280 TraceCheckUtils]: 57: Hoare triple {7235#false} ~j~0 := -1; {7235#false} is VALID [2020-07-10 20:22:36,948 INFO L280 TraceCheckUtils]: 58: Hoare triple {7235#false} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L50 {7235#false} is VALID [2020-07-10 20:22:36,949 INFO L280 TraceCheckUtils]: 59: Hoare triple {7235#false} assume !(~str.base == 0 && ~str.offset == 0); {7235#false} is VALID [2020-07-10 20:22:36,949 INFO L280 TraceCheckUtils]: 60: Hoare triple {7235#false} #t~post2 := ~i~0; {7235#false} is VALID [2020-07-10 20:22:36,949 INFO L280 TraceCheckUtils]: 61: Hoare triple {7235#false} ~i~0 := 1 + #t~post2; {7235#false} is VALID [2020-07-10 20:22:36,949 INFO L280 TraceCheckUtils]: 62: Hoare triple {7235#false} havoc #t~post2; {7235#false} is VALID [2020-07-10 20:22:36,950 INFO L280 TraceCheckUtils]: 63: Hoare triple {7235#false} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L54 {7235#false} is VALID [2020-07-10 20:22:36,950 INFO L280 TraceCheckUtils]: 64: Hoare triple {7235#false} #t~switch4 := 0 == #t~mem3; {7235#false} is VALID [2020-07-10 20:22:36,950 INFO L280 TraceCheckUtils]: 65: Hoare triple {7235#false} assume #t~switch4; {7235#false} is VALID [2020-07-10 20:22:36,950 INFO L280 TraceCheckUtils]: 66: Hoare triple {7235#false} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-17 {7235#false} is VALID [2020-07-10 20:22:36,950 INFO L280 TraceCheckUtils]: 67: Hoare triple {7235#false} #t~short7 := 32 == #t~mem5; {7235#false} is VALID [2020-07-10 20:22:36,951 INFO L280 TraceCheckUtils]: 68: Hoare triple {7235#false} assume #t~short7; {7235#false} is VALID [2020-07-10 20:22:36,951 INFO L280 TraceCheckUtils]: 69: Hoare triple {7235#false} assume !#t~short7; {7235#false} is VALID [2020-07-10 20:22:36,951 INFO L280 TraceCheckUtils]: 70: Hoare triple {7235#false} havoc #t~mem5; {7235#false} is VALID [2020-07-10 20:22:36,951 INFO L280 TraceCheckUtils]: 71: Hoare triple {7235#false} havoc #t~mem6; {7235#false} is VALID [2020-07-10 20:22:36,952 INFO L280 TraceCheckUtils]: 72: Hoare triple {7235#false} havoc #t~short7; {7235#false} is VALID [2020-07-10 20:22:36,952 INFO L280 TraceCheckUtils]: 73: Hoare triple {7235#false} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-18 {7235#false} is VALID [2020-07-10 20:22:36,952 INFO L280 TraceCheckUtils]: 74: Hoare triple {7235#false} assume !(34 == #t~mem9); {7235#false} is VALID [2020-07-10 20:22:36,952 INFO L280 TraceCheckUtils]: 75: Hoare triple {7235#false} havoc #t~mem9; {7235#false} is VALID [2020-07-10 20:22:36,952 INFO L280 TraceCheckUtils]: 76: Hoare triple {7235#false} ~j~0 := ~i~0 - 1; {7235#false} is VALID [2020-07-10 20:22:36,953 INFO L280 TraceCheckUtils]: 77: Hoare triple {7235#false} #t~short14 := 0 < ~j~0; {7235#false} is VALID [2020-07-10 20:22:36,953 INFO L280 TraceCheckUtils]: 78: Hoare triple {7235#false} assume !#t~short14; {7235#false} is VALID [2020-07-10 20:22:36,953 INFO L280 TraceCheckUtils]: 79: Hoare triple {7235#false} assume !#t~short14; {7235#false} is VALID [2020-07-10 20:22:36,953 INFO L280 TraceCheckUtils]: 80: Hoare triple {7235#false} havoc #t~mem12; {7235#false} is VALID [2020-07-10 20:22:36,954 INFO L280 TraceCheckUtils]: 81: Hoare triple {7235#false} havoc #t~short13; {7235#false} is VALID [2020-07-10 20:22:36,954 INFO L280 TraceCheckUtils]: 82: Hoare triple {7235#false} havoc #t~short14; {7235#false} is VALID [2020-07-10 20:22:36,954 INFO L280 TraceCheckUtils]: 83: Hoare triple {7235#false} havoc #t~mem11; {7235#false} is VALID [2020-07-10 20:22:36,954 INFO L280 TraceCheckUtils]: 84: Hoare triple {7235#false} #t~short17 := 0 < ~j~0; {7235#false} is VALID [2020-07-10 20:22:36,955 INFO L280 TraceCheckUtils]: 85: Hoare triple {7235#false} assume !#t~short17; {7235#false} is VALID [2020-07-10 20:22:36,955 INFO L280 TraceCheckUtils]: 86: Hoare triple {7235#false} assume !#t~short17; {7235#false} is VALID [2020-07-10 20:22:36,955 INFO L280 TraceCheckUtils]: 87: Hoare triple {7235#false} havoc #t~mem16; {7235#false} is VALID [2020-07-10 20:22:36,955 INFO L280 TraceCheckUtils]: 88: Hoare triple {7235#false} havoc #t~short17; {7235#false} is VALID [2020-07-10 20:22:36,955 INFO L280 TraceCheckUtils]: 89: Hoare triple {7235#false} assume ~start~0 <= ~j~0; {7235#false} is VALID [2020-07-10 20:22:36,956 INFO L280 TraceCheckUtils]: 90: Hoare triple {7235#false} assume !(1 + (~j~0 - ~start~0) >= 2); {7235#false} is VALID [2020-07-10 20:22:36,956 INFO L263 TraceCheckUtils]: 91: Hoare triple {7235#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)); {7234#true} is VALID [2020-07-10 20:22:36,956 INFO L280 TraceCheckUtils]: 92: Hoare triple {7234#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {7234#true} is VALID [2020-07-10 20:22:36,956 INFO L280 TraceCheckUtils]: 93: Hoare triple {7234#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {7234#true} is VALID [2020-07-10 20:22:36,956 INFO L280 TraceCheckUtils]: 94: Hoare triple {7234#true} ~n := #in~n; {7234#true} is VALID [2020-07-10 20:22:36,957 INFO L280 TraceCheckUtils]: 95: Hoare triple {7234#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {7234#true} is VALID [2020-07-10 20:22:36,957 INFO L280 TraceCheckUtils]: 96: Hoare triple {7234#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {7234#true} is VALID [2020-07-10 20:22:36,957 INFO L280 TraceCheckUtils]: 97: Hoare triple {7234#true} havoc #t~ret0.base, #t~ret0.offset; {7234#true} is VALID [2020-07-10 20:22:36,957 INFO L280 TraceCheckUtils]: 98: Hoare triple {7234#true} assume true; {7234#true} is VALID [2020-07-10 20:22:36,957 INFO L275 TraceCheckUtils]: 99: Hoare quadruple {7234#true} {7235#false} #227#return; {7235#false} is VALID [2020-07-10 20:22:36,958 INFO L280 TraceCheckUtils]: 100: Hoare triple {7235#false} havoc #t~ret19.base, #t~ret19.offset; {7235#false} is VALID [2020-07-10 20:22:36,958 INFO L263 TraceCheckUtils]: 101: Hoare triple {7235#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {7235#false} is VALID [2020-07-10 20:22:36,958 INFO L280 TraceCheckUtils]: 102: Hoare triple {7235#false} ~cond := #in~cond; {7235#false} is VALID [2020-07-10 20:22:36,958 INFO L280 TraceCheckUtils]: 103: Hoare triple {7235#false} assume 0 == ~cond; {7235#false} is VALID [2020-07-10 20:22:36,958 INFO L280 TraceCheckUtils]: 104: Hoare triple {7235#false} assume !false; {7235#false} is VALID [2020-07-10 20:22:36,966 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:36,966 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:36,967 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1836121784] [2020-07-10 20:22:36,967 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:36,967 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2020-07-10 20:22:36,967 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1158359239] [2020-07-10 20:22:36,968 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 105 [2020-07-10 20:22:36,968 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:36,968 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2020-07-10 20:22:37,078 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:37,078 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2020-07-10 20:22:37,078 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:37,079 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2020-07-10 20:22:37,079 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=175, Unknown=0, NotChecked=0, Total=240 [2020-07-10 20:22:37,080 INFO L87 Difference]: Start difference. First operand 147 states and 157 transitions. Second operand 16 states. [2020-07-10 20:22:39,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:39,151 INFO L93 Difference]: Finished difference Result 254 states and 274 transitions. [2020-07-10 20:22:39,151 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2020-07-10 20:22:39,151 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 105 [2020-07-10 20:22:39,151 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:39,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2020-07-10 20:22:39,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 274 transitions. [2020-07-10 20:22:39,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2020-07-10 20:22:39,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 274 transitions. [2020-07-10 20:22:39,158 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 274 transitions. [2020-07-10 20:22:39,424 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 274 edges. 274 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:39,428 INFO L225 Difference]: With dead ends: 254 [2020-07-10 20:22:39,428 INFO L226 Difference]: Without dead ends: 159 [2020-07-10 20:22:39,429 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 107 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=245, Invalid=511, Unknown=0, NotChecked=0, Total=756 [2020-07-10 20:22:39,430 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2020-07-10 20:22:39,537 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 154. [2020-07-10 20:22:39,537 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:39,537 INFO L82 GeneralOperation]: Start isEquivalent. First operand 159 states. Second operand 154 states. [2020-07-10 20:22:39,537 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand 154 states. [2020-07-10 20:22:39,537 INFO L87 Difference]: Start difference. First operand 159 states. Second operand 154 states. [2020-07-10 20:22:39,542 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:39,543 INFO L93 Difference]: Finished difference Result 159 states and 169 transitions. [2020-07-10 20:22:39,543 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 169 transitions. [2020-07-10 20:22:39,543 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:39,544 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:39,544 INFO L74 IsIncluded]: Start isIncluded. First operand 154 states. Second operand 159 states. [2020-07-10 20:22:39,544 INFO L87 Difference]: Start difference. First operand 154 states. Second operand 159 states. [2020-07-10 20:22:39,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:39,548 INFO L93 Difference]: Finished difference Result 159 states and 169 transitions. [2020-07-10 20:22:39,548 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 169 transitions. [2020-07-10 20:22:39,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:39,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:39,549 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:39,550 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:39,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 154 states. [2020-07-10 20:22:39,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 154 states to 154 states and 164 transitions. [2020-07-10 20:22:39,554 INFO L78 Accepts]: Start accepts. Automaton has 154 states and 164 transitions. Word has length 105 [2020-07-10 20:22:39,554 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:39,554 INFO L479 AbstractCegarLoop]: Abstraction has 154 states and 164 transitions. [2020-07-10 20:22:39,554 INFO L480 AbstractCegarLoop]: Interpolant automaton has 16 states. [2020-07-10 20:22:39,554 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 154 states and 164 transitions. [2020-07-10 20:22:39,710 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 164 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:39,711 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 164 transitions. [2020-07-10 20:22:39,712 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 113 [2020-07-10 20:22:39,712 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:39,712 INFO L422 BasicCegarLoop]: trace histogram [7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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,713 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-10 20:22:39,713 INFO L427 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:39,713 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:39,713 INFO L82 PathProgramCache]: Analyzing trace with hash -612628213, now seen corresponding path program 7 times [2020-07-10 20:22:39,713 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:39,714 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1128750401] [2020-07-10 20:22:39,714 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:39,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:40,018 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:40,022 INFO L280 TraceCheckUtils]: 0: Hoare triple {8453#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {8423#true} is VALID [2020-07-10 20:22:40,022 INFO L280 TraceCheckUtils]: 1: Hoare triple {8423#true} #valid := #valid[0 := 0]; {8423#true} is VALID [2020-07-10 20:22:40,022 INFO L280 TraceCheckUtils]: 2: Hoare triple {8423#true} assume 0 < #StackHeapBarrier; {8423#true} is VALID [2020-07-10 20:22:40,022 INFO L280 TraceCheckUtils]: 3: Hoare triple {8423#true} assume true; {8423#true} is VALID [2020-07-10 20:22:40,023 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {8423#true} {8423#true} #231#return; {8423#true} is VALID [2020-07-10 20:22:40,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:40,027 INFO L280 TraceCheckUtils]: 0: Hoare triple {8423#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {8423#true} is VALID [2020-07-10 20:22:40,028 INFO L280 TraceCheckUtils]: 1: Hoare triple {8423#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {8423#true} is VALID [2020-07-10 20:22:40,028 INFO L280 TraceCheckUtils]: 2: Hoare triple {8423#true} ~n := #in~n; {8423#true} is VALID [2020-07-10 20:22:40,028 INFO L280 TraceCheckUtils]: 3: Hoare triple {8423#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {8423#true} is VALID [2020-07-10 20:22:40,028 INFO L280 TraceCheckUtils]: 4: Hoare triple {8423#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {8423#true} is VALID [2020-07-10 20:22:40,029 INFO L280 TraceCheckUtils]: 5: Hoare triple {8423#true} havoc #t~ret0.base, #t~ret0.offset; {8423#true} is VALID [2020-07-10 20:22:40,029 INFO L280 TraceCheckUtils]: 6: Hoare triple {8423#true} assume true; {8423#true} is VALID [2020-07-10 20:22:40,029 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {8423#true} {8424#false} #227#return; {8424#false} is VALID [2020-07-10 20:22:40,030 INFO L263 TraceCheckUtils]: 0: Hoare triple {8423#true} call ULTIMATE.init(); {8453#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:22:40,030 INFO L280 TraceCheckUtils]: 1: Hoare triple {8453#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {8423#true} is VALID [2020-07-10 20:22:40,030 INFO L280 TraceCheckUtils]: 2: Hoare triple {8423#true} #valid := #valid[0 := 0]; {8423#true} is VALID [2020-07-10 20:22:40,031 INFO L280 TraceCheckUtils]: 3: Hoare triple {8423#true} assume 0 < #StackHeapBarrier; {8423#true} is VALID [2020-07-10 20:22:40,031 INFO L280 TraceCheckUtils]: 4: Hoare triple {8423#true} assume true; {8423#true} is VALID [2020-07-10 20:22:40,031 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {8423#true} {8423#true} #231#return; {8423#true} is VALID [2020-07-10 20:22:40,031 INFO L263 TraceCheckUtils]: 6: Hoare triple {8423#true} call #t~ret23 := main(); {8423#true} is VALID [2020-07-10 20:22:40,031 INFO L280 TraceCheckUtils]: 7: Hoare triple {8423#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {8423#true} is VALID [2020-07-10 20:22:40,032 INFO L280 TraceCheckUtils]: 8: Hoare triple {8423#true} ~i~1 := 0; {8430#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:40,033 INFO L280 TraceCheckUtils]: 9: Hoare triple {8430#(= 0 main_~i~1)} assume !!(~i~1 < 8); {8430#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:40,033 INFO L280 TraceCheckUtils]: 10: Hoare triple {8430#(= 0 main_~i~1)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {8430#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:40,034 INFO L280 TraceCheckUtils]: 11: Hoare triple {8430#(= 0 main_~i~1)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {8430#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:40,034 INFO L280 TraceCheckUtils]: 12: Hoare triple {8430#(= 0 main_~i~1)} havoc #t~nondet21; {8430#(= 0 main_~i~1)} is VALID [2020-07-10 20:22:40,035 INFO L280 TraceCheckUtils]: 13: Hoare triple {8430#(= 0 main_~i~1)} #t~post20 := ~i~1; {8431#(= 0 |main_#t~post20|)} is VALID [2020-07-10 20:22:40,036 INFO L280 TraceCheckUtils]: 14: Hoare triple {8431#(= 0 |main_#t~post20|)} ~i~1 := 1 + #t~post20; {8432#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:40,037 INFO L280 TraceCheckUtils]: 15: Hoare triple {8432#(<= main_~i~1 1)} havoc #t~post20; {8432#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:40,037 INFO L280 TraceCheckUtils]: 16: Hoare triple {8432#(<= main_~i~1 1)} assume !!(~i~1 < 8); {8432#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:40,038 INFO L280 TraceCheckUtils]: 17: Hoare triple {8432#(<= main_~i~1 1)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {8432#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:40,039 INFO L280 TraceCheckUtils]: 18: Hoare triple {8432#(<= main_~i~1 1)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {8432#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:40,039 INFO L280 TraceCheckUtils]: 19: Hoare triple {8432#(<= main_~i~1 1)} havoc #t~nondet21; {8432#(<= main_~i~1 1)} is VALID [2020-07-10 20:22:40,040 INFO L280 TraceCheckUtils]: 20: Hoare triple {8432#(<= main_~i~1 1)} #t~post20 := ~i~1; {8433#(<= |main_#t~post20| 1)} is VALID [2020-07-10 20:22:40,041 INFO L280 TraceCheckUtils]: 21: Hoare triple {8433#(<= |main_#t~post20| 1)} ~i~1 := 1 + #t~post20; {8434#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:40,042 INFO L280 TraceCheckUtils]: 22: Hoare triple {8434#(<= main_~i~1 2)} havoc #t~post20; {8434#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:40,043 INFO L280 TraceCheckUtils]: 23: Hoare triple {8434#(<= main_~i~1 2)} assume !!(~i~1 < 8); {8434#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:40,043 INFO L280 TraceCheckUtils]: 24: Hoare triple {8434#(<= main_~i~1 2)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {8434#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:40,044 INFO L280 TraceCheckUtils]: 25: Hoare triple {8434#(<= main_~i~1 2)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {8434#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:40,045 INFO L280 TraceCheckUtils]: 26: Hoare triple {8434#(<= main_~i~1 2)} havoc #t~nondet21; {8434#(<= main_~i~1 2)} is VALID [2020-07-10 20:22:40,045 INFO L280 TraceCheckUtils]: 27: Hoare triple {8434#(<= main_~i~1 2)} #t~post20 := ~i~1; {8435#(<= |main_#t~post20| 2)} is VALID [2020-07-10 20:22:40,046 INFO L280 TraceCheckUtils]: 28: Hoare triple {8435#(<= |main_#t~post20| 2)} ~i~1 := 1 + #t~post20; {8436#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:40,047 INFO L280 TraceCheckUtils]: 29: Hoare triple {8436#(<= main_~i~1 3)} havoc #t~post20; {8436#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:40,048 INFO L280 TraceCheckUtils]: 30: Hoare triple {8436#(<= main_~i~1 3)} assume !!(~i~1 < 8); {8436#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:40,048 INFO L280 TraceCheckUtils]: 31: Hoare triple {8436#(<= main_~i~1 3)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {8436#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:40,049 INFO L280 TraceCheckUtils]: 32: Hoare triple {8436#(<= main_~i~1 3)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {8436#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:40,049 INFO L280 TraceCheckUtils]: 33: Hoare triple {8436#(<= main_~i~1 3)} havoc #t~nondet21; {8436#(<= main_~i~1 3)} is VALID [2020-07-10 20:22:40,050 INFO L280 TraceCheckUtils]: 34: Hoare triple {8436#(<= main_~i~1 3)} #t~post20 := ~i~1; {8437#(<= |main_#t~post20| 3)} is VALID [2020-07-10 20:22:40,051 INFO L280 TraceCheckUtils]: 35: Hoare triple {8437#(<= |main_#t~post20| 3)} ~i~1 := 1 + #t~post20; {8438#(<= main_~i~1 4)} is VALID [2020-07-10 20:22:40,052 INFO L280 TraceCheckUtils]: 36: Hoare triple {8438#(<= main_~i~1 4)} havoc #t~post20; {8438#(<= main_~i~1 4)} is VALID [2020-07-10 20:22:40,052 INFO L280 TraceCheckUtils]: 37: Hoare triple {8438#(<= main_~i~1 4)} assume !!(~i~1 < 8); {8438#(<= main_~i~1 4)} is VALID [2020-07-10 20:22:40,053 INFO L280 TraceCheckUtils]: 38: Hoare triple {8438#(<= main_~i~1 4)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {8438#(<= main_~i~1 4)} is VALID [2020-07-10 20:22:40,053 INFO L280 TraceCheckUtils]: 39: Hoare triple {8438#(<= main_~i~1 4)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {8438#(<= main_~i~1 4)} is VALID [2020-07-10 20:22:40,054 INFO L280 TraceCheckUtils]: 40: Hoare triple {8438#(<= main_~i~1 4)} havoc #t~nondet21; {8438#(<= main_~i~1 4)} is VALID [2020-07-10 20:22:40,055 INFO L280 TraceCheckUtils]: 41: Hoare triple {8438#(<= main_~i~1 4)} #t~post20 := ~i~1; {8439#(<= |main_#t~post20| 4)} is VALID [2020-07-10 20:22:40,055 INFO L280 TraceCheckUtils]: 42: Hoare triple {8439#(<= |main_#t~post20| 4)} ~i~1 := 1 + #t~post20; {8440#(<= main_~i~1 5)} is VALID [2020-07-10 20:22:40,056 INFO L280 TraceCheckUtils]: 43: Hoare triple {8440#(<= main_~i~1 5)} havoc #t~post20; {8440#(<= main_~i~1 5)} is VALID [2020-07-10 20:22:40,057 INFO L280 TraceCheckUtils]: 44: Hoare triple {8440#(<= main_~i~1 5)} assume !!(~i~1 < 8); {8440#(<= main_~i~1 5)} is VALID [2020-07-10 20:22:40,057 INFO L280 TraceCheckUtils]: 45: Hoare triple {8440#(<= main_~i~1 5)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {8440#(<= main_~i~1 5)} is VALID [2020-07-10 20:22:40,058 INFO L280 TraceCheckUtils]: 46: Hoare triple {8440#(<= main_~i~1 5)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {8440#(<= main_~i~1 5)} is VALID [2020-07-10 20:22:40,058 INFO L280 TraceCheckUtils]: 47: Hoare triple {8440#(<= main_~i~1 5)} havoc #t~nondet21; {8440#(<= main_~i~1 5)} is VALID [2020-07-10 20:22:40,059 INFO L280 TraceCheckUtils]: 48: Hoare triple {8440#(<= main_~i~1 5)} #t~post20 := ~i~1; {8441#(<= |main_#t~post20| 5)} is VALID [2020-07-10 20:22:40,060 INFO L280 TraceCheckUtils]: 49: Hoare triple {8441#(<= |main_#t~post20| 5)} ~i~1 := 1 + #t~post20; {8442#(<= main_~i~1 6)} is VALID [2020-07-10 20:22:40,060 INFO L280 TraceCheckUtils]: 50: Hoare triple {8442#(<= main_~i~1 6)} havoc #t~post20; {8442#(<= main_~i~1 6)} is VALID [2020-07-10 20:22:40,061 INFO L280 TraceCheckUtils]: 51: Hoare triple {8442#(<= main_~i~1 6)} assume !!(~i~1 < 8); {8442#(<= main_~i~1 6)} is VALID [2020-07-10 20:22:40,061 INFO L280 TraceCheckUtils]: 52: Hoare triple {8442#(<= main_~i~1 6)} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {8442#(<= main_~i~1 6)} is VALID [2020-07-10 20:22:40,062 INFO L280 TraceCheckUtils]: 53: Hoare triple {8442#(<= main_~i~1 6)} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {8442#(<= main_~i~1 6)} is VALID [2020-07-10 20:22:40,062 INFO L280 TraceCheckUtils]: 54: Hoare triple {8442#(<= main_~i~1 6)} havoc #t~nondet21; {8442#(<= main_~i~1 6)} is VALID [2020-07-10 20:22:40,063 INFO L280 TraceCheckUtils]: 55: Hoare triple {8442#(<= main_~i~1 6)} #t~post20 := ~i~1; {8443#(<= |main_#t~post20| 6)} is VALID [2020-07-10 20:22:40,064 INFO L280 TraceCheckUtils]: 56: Hoare triple {8443#(<= |main_#t~post20| 6)} ~i~1 := 1 + #t~post20; {8444#(<= main_~i~1 7)} is VALID [2020-07-10 20:22:40,064 INFO L280 TraceCheckUtils]: 57: Hoare triple {8444#(<= main_~i~1 7)} havoc #t~post20; {8444#(<= main_~i~1 7)} is VALID [2020-07-10 20:22:40,065 INFO L280 TraceCheckUtils]: 58: Hoare triple {8444#(<= main_~i~1 7)} assume !(~i~1 < 8); {8424#false} is VALID [2020-07-10 20:22:40,065 INFO L280 TraceCheckUtils]: 59: Hoare triple {8424#false} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L79-6 {8424#false} is VALID [2020-07-10 20:22:40,066 INFO L263 TraceCheckUtils]: 60: Hoare triple {8424#false} call #t~ret22 := parse_expression_list(~#A~0.base, ~#A~0.offset); {8424#false} is VALID [2020-07-10 20:22:40,066 INFO L280 TraceCheckUtils]: 61: Hoare triple {8424#false} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {8424#false} is VALID [2020-07-10 20:22:40,066 INFO L280 TraceCheckUtils]: 62: Hoare triple {8424#false} ~start~0 := 0; {8424#false} is VALID [2020-07-10 20:22:40,066 INFO L280 TraceCheckUtils]: 63: Hoare triple {8424#false} ~i~0 := -1; {8424#false} is VALID [2020-07-10 20:22:40,066 INFO L280 TraceCheckUtils]: 64: Hoare triple {8424#false} ~j~0 := -1; {8424#false} is VALID [2020-07-10 20:22:40,067 INFO L280 TraceCheckUtils]: 65: Hoare triple {8424#false} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L50 {8424#false} is VALID [2020-07-10 20:22:40,067 INFO L280 TraceCheckUtils]: 66: Hoare triple {8424#false} assume !(~str.base == 0 && ~str.offset == 0); {8424#false} is VALID [2020-07-10 20:22:40,067 INFO L280 TraceCheckUtils]: 67: Hoare triple {8424#false} #t~post2 := ~i~0; {8424#false} is VALID [2020-07-10 20:22:40,067 INFO L280 TraceCheckUtils]: 68: Hoare triple {8424#false} ~i~0 := 1 + #t~post2; {8424#false} is VALID [2020-07-10 20:22:40,067 INFO L280 TraceCheckUtils]: 69: Hoare triple {8424#false} havoc #t~post2; {8424#false} is VALID [2020-07-10 20:22:40,068 INFO L280 TraceCheckUtils]: 70: Hoare triple {8424#false} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L54 {8424#false} is VALID [2020-07-10 20:22:40,068 INFO L280 TraceCheckUtils]: 71: Hoare triple {8424#false} #t~switch4 := 0 == #t~mem3; {8424#false} is VALID [2020-07-10 20:22:40,068 INFO L280 TraceCheckUtils]: 72: Hoare triple {8424#false} assume #t~switch4; {8424#false} is VALID [2020-07-10 20:22:40,068 INFO L280 TraceCheckUtils]: 73: Hoare triple {8424#false} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-17 {8424#false} is VALID [2020-07-10 20:22:40,069 INFO L280 TraceCheckUtils]: 74: Hoare triple {8424#false} #t~short7 := 32 == #t~mem5; {8424#false} is VALID [2020-07-10 20:22:40,069 INFO L280 TraceCheckUtils]: 75: Hoare triple {8424#false} assume #t~short7; {8424#false} is VALID [2020-07-10 20:22:40,069 INFO L280 TraceCheckUtils]: 76: Hoare triple {8424#false} assume !#t~short7; {8424#false} is VALID [2020-07-10 20:22:40,069 INFO L280 TraceCheckUtils]: 77: Hoare triple {8424#false} havoc #t~mem5; {8424#false} is VALID [2020-07-10 20:22:40,070 INFO L280 TraceCheckUtils]: 78: Hoare triple {8424#false} havoc #t~mem6; {8424#false} is VALID [2020-07-10 20:22:40,070 INFO L280 TraceCheckUtils]: 79: Hoare triple {8424#false} havoc #t~short7; {8424#false} is VALID [2020-07-10 20:22:40,070 INFO L280 TraceCheckUtils]: 80: Hoare triple {8424#false} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-18 {8424#false} is VALID [2020-07-10 20:22:40,070 INFO L280 TraceCheckUtils]: 81: Hoare triple {8424#false} assume !(34 == #t~mem9); {8424#false} is VALID [2020-07-10 20:22:40,070 INFO L280 TraceCheckUtils]: 82: Hoare triple {8424#false} havoc #t~mem9; {8424#false} is VALID [2020-07-10 20:22:40,071 INFO L280 TraceCheckUtils]: 83: Hoare triple {8424#false} ~j~0 := ~i~0 - 1; {8424#false} is VALID [2020-07-10 20:22:40,071 INFO L280 TraceCheckUtils]: 84: Hoare triple {8424#false} #t~short14 := 0 < ~j~0; {8424#false} is VALID [2020-07-10 20:22:40,071 INFO L280 TraceCheckUtils]: 85: Hoare triple {8424#false} assume !#t~short14; {8424#false} is VALID [2020-07-10 20:22:40,071 INFO L280 TraceCheckUtils]: 86: Hoare triple {8424#false} assume !#t~short14; {8424#false} is VALID [2020-07-10 20:22:40,072 INFO L280 TraceCheckUtils]: 87: Hoare triple {8424#false} havoc #t~mem12; {8424#false} is VALID [2020-07-10 20:22:40,072 INFO L280 TraceCheckUtils]: 88: Hoare triple {8424#false} havoc #t~short13; {8424#false} is VALID [2020-07-10 20:22:40,072 INFO L280 TraceCheckUtils]: 89: Hoare triple {8424#false} havoc #t~short14; {8424#false} is VALID [2020-07-10 20:22:40,072 INFO L280 TraceCheckUtils]: 90: Hoare triple {8424#false} havoc #t~mem11; {8424#false} is VALID [2020-07-10 20:22:40,073 INFO L280 TraceCheckUtils]: 91: Hoare triple {8424#false} #t~short17 := 0 < ~j~0; {8424#false} is VALID [2020-07-10 20:22:40,073 INFO L280 TraceCheckUtils]: 92: Hoare triple {8424#false} assume !#t~short17; {8424#false} is VALID [2020-07-10 20:22:40,073 INFO L280 TraceCheckUtils]: 93: Hoare triple {8424#false} assume !#t~short17; {8424#false} is VALID [2020-07-10 20:22:40,073 INFO L280 TraceCheckUtils]: 94: Hoare triple {8424#false} havoc #t~mem16; {8424#false} is VALID [2020-07-10 20:22:40,073 INFO L280 TraceCheckUtils]: 95: Hoare triple {8424#false} havoc #t~short17; {8424#false} is VALID [2020-07-10 20:22:40,074 INFO L280 TraceCheckUtils]: 96: Hoare triple {8424#false} assume ~start~0 <= ~j~0; {8424#false} is VALID [2020-07-10 20:22:40,074 INFO L280 TraceCheckUtils]: 97: Hoare triple {8424#false} assume !(1 + (~j~0 - ~start~0) >= 2); {8424#false} is VALID [2020-07-10 20:22:40,074 INFO L263 TraceCheckUtils]: 98: Hoare triple {8424#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)); {8423#true} is VALID [2020-07-10 20:22:40,074 INFO L280 TraceCheckUtils]: 99: Hoare triple {8423#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {8423#true} is VALID [2020-07-10 20:22:40,075 INFO L280 TraceCheckUtils]: 100: Hoare triple {8423#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {8423#true} is VALID [2020-07-10 20:22:40,075 INFO L280 TraceCheckUtils]: 101: Hoare triple {8423#true} ~n := #in~n; {8423#true} is VALID [2020-07-10 20:22:40,075 INFO L280 TraceCheckUtils]: 102: Hoare triple {8423#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {8423#true} is VALID [2020-07-10 20:22:40,075 INFO L280 TraceCheckUtils]: 103: Hoare triple {8423#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {8423#true} is VALID [2020-07-10 20:22:40,075 INFO L280 TraceCheckUtils]: 104: Hoare triple {8423#true} havoc #t~ret0.base, #t~ret0.offset; {8423#true} is VALID [2020-07-10 20:22:40,076 INFO L280 TraceCheckUtils]: 105: Hoare triple {8423#true} assume true; {8423#true} is VALID [2020-07-10 20:22:40,076 INFO L275 TraceCheckUtils]: 106: Hoare quadruple {8423#true} {8424#false} #227#return; {8424#false} is VALID [2020-07-10 20:22:40,076 INFO L280 TraceCheckUtils]: 107: Hoare triple {8424#false} havoc #t~ret19.base, #t~ret19.offset; {8424#false} is VALID [2020-07-10 20:22:40,076 INFO L263 TraceCheckUtils]: 108: Hoare triple {8424#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {8424#false} is VALID [2020-07-10 20:22:40,076 INFO L280 TraceCheckUtils]: 109: Hoare triple {8424#false} ~cond := #in~cond; {8424#false} is VALID [2020-07-10 20:22:40,077 INFO L280 TraceCheckUtils]: 110: Hoare triple {8424#false} assume 0 == ~cond; {8424#false} is VALID [2020-07-10 20:22:40,077 INFO L280 TraceCheckUtils]: 111: Hoare triple {8424#false} assume !false; {8424#false} is VALID [2020-07-10 20:22:40,087 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:40,087 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:40,087 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1128750401] [2020-07-10 20:22:40,088 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:40,088 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2020-07-10 20:22:40,088 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [729391373] [2020-07-10 20:22:40,089 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 112 [2020-07-10 20:22:40,089 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:40,089 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-10 20:22:40,202 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:40,202 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-10 20:22:40,202 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:40,203 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-10 20:22:40,203 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=82, Invalid=224, Unknown=0, NotChecked=0, Total=306 [2020-07-10 20:22:40,203 INFO L87 Difference]: Start difference. First operand 154 states and 164 transitions. Second operand 18 states. [2020-07-10 20:22:42,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:42,364 INFO L93 Difference]: Finished difference Result 256 states and 276 transitions. [2020-07-10 20:22:42,364 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2020-07-10 20:22:42,364 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 112 [2020-07-10 20:22:42,364 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:42,365 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-10 20:22:42,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 276 transitions. [2020-07-10 20:22:42,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-10 20:22:42,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 276 transitions. [2020-07-10 20:22:42,371 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states and 276 transitions. [2020-07-10 20:22:42,700 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 276 edges. 276 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:42,705 INFO L225 Difference]: With dead ends: 256 [2020-07-10 20:22:42,705 INFO L226 Difference]: Without dead ends: 161 [2020-07-10 20:22:42,706 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 146 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=320, Invalid=672, Unknown=0, NotChecked=0, Total=992 [2020-07-10 20:22:42,707 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2020-07-10 20:22:42,817 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 161. [2020-07-10 20:22:42,817 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:42,817 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand 161 states. [2020-07-10 20:22:42,817 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand 161 states. [2020-07-10 20:22:42,818 INFO L87 Difference]: Start difference. First operand 161 states. Second operand 161 states. [2020-07-10 20:22:42,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:42,821 INFO L93 Difference]: Finished difference Result 161 states and 171 transitions. [2020-07-10 20:22:42,821 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 171 transitions. [2020-07-10 20:22:42,822 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:42,822 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:42,822 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand 161 states. [2020-07-10 20:22:42,822 INFO L87 Difference]: Start difference. First operand 161 states. Second operand 161 states. [2020-07-10 20:22:42,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:42,826 INFO L93 Difference]: Finished difference Result 161 states and 171 transitions. [2020-07-10 20:22:42,826 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 171 transitions. [2020-07-10 20:22:42,827 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:42,827 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:42,827 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:42,827 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:42,827 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 161 states. [2020-07-10 20:22:42,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 161 states to 161 states and 171 transitions. [2020-07-10 20:22:42,831 INFO L78 Accepts]: Start accepts. Automaton has 161 states and 171 transitions. Word has length 112 [2020-07-10 20:22:42,832 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:42,832 INFO L479 AbstractCegarLoop]: Abstraction has 161 states and 171 transitions. [2020-07-10 20:22:42,832 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-10 20:22:42,832 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 161 states and 171 transitions. [2020-07-10 20:22:43,004 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 171 edges. 171 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:43,004 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 171 transitions. [2020-07-10 20:22:43,005 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 120 [2020-07-10 20:22:43,006 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:43,006 INFO L422 BasicCegarLoop]: trace histogram [8, 8, 8, 8, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:43,006 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-10 20:22:43,006 INFO L427 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:43,006 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:43,007 INFO L82 PathProgramCache]: Analyzing trace with hash 1175857321, now seen corresponding path program 8 times [2020-07-10 20:22:43,007 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:43,007 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [670440323] [2020-07-10 20:22:43,007 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:43,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:43,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:43,087 INFO L280 TraceCheckUtils]: 0: Hoare triple {9656#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {9640#true} is VALID [2020-07-10 20:22:43,088 INFO L280 TraceCheckUtils]: 1: Hoare triple {9640#true} #valid := #valid[0 := 0]; {9640#true} is VALID [2020-07-10 20:22:43,088 INFO L280 TraceCheckUtils]: 2: Hoare triple {9640#true} assume 0 < #StackHeapBarrier; {9640#true} is VALID [2020-07-10 20:22:43,088 INFO L280 TraceCheckUtils]: 3: Hoare triple {9640#true} assume true; {9640#true} is VALID [2020-07-10 20:22:43,088 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {9640#true} {9640#true} #231#return; {9640#true} is VALID [2020-07-10 20:22:43,090 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:43,093 INFO L280 TraceCheckUtils]: 0: Hoare triple {9640#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {9640#true} is VALID [2020-07-10 20:22:43,093 INFO L280 TraceCheckUtils]: 1: Hoare triple {9640#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {9640#true} is VALID [2020-07-10 20:22:43,094 INFO L280 TraceCheckUtils]: 2: Hoare triple {9640#true} ~n := #in~n; {9640#true} is VALID [2020-07-10 20:22:43,094 INFO L280 TraceCheckUtils]: 3: Hoare triple {9640#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {9640#true} is VALID [2020-07-10 20:22:43,094 INFO L280 TraceCheckUtils]: 4: Hoare triple {9640#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {9640#true} is VALID [2020-07-10 20:22:43,094 INFO L280 TraceCheckUtils]: 5: Hoare triple {9640#true} havoc #t~ret0.base, #t~ret0.offset; {9640#true} is VALID [2020-07-10 20:22:43,094 INFO L280 TraceCheckUtils]: 6: Hoare triple {9640#true} assume true; {9640#true} is VALID [2020-07-10 20:22:43,095 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {9640#true} {9641#false} #227#return; {9641#false} is VALID [2020-07-10 20:22:43,096 INFO L263 TraceCheckUtils]: 0: Hoare triple {9640#true} call ULTIMATE.init(); {9656#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:22:43,096 INFO L280 TraceCheckUtils]: 1: Hoare triple {9656#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {9640#true} is VALID [2020-07-10 20:22:43,097 INFO L280 TraceCheckUtils]: 2: Hoare triple {9640#true} #valid := #valid[0 := 0]; {9640#true} is VALID [2020-07-10 20:22:43,097 INFO L280 TraceCheckUtils]: 3: Hoare triple {9640#true} assume 0 < #StackHeapBarrier; {9640#true} is VALID [2020-07-10 20:22:43,097 INFO L280 TraceCheckUtils]: 4: Hoare triple {9640#true} assume true; {9640#true} is VALID [2020-07-10 20:22:43,097 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {9640#true} {9640#true} #231#return; {9640#true} is VALID [2020-07-10 20:22:43,097 INFO L263 TraceCheckUtils]: 6: Hoare triple {9640#true} call #t~ret23 := main(); {9640#true} is VALID [2020-07-10 20:22:43,098 INFO L280 TraceCheckUtils]: 7: Hoare triple {9640#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {9640#true} is VALID [2020-07-10 20:22:43,098 INFO L280 TraceCheckUtils]: 8: Hoare triple {9640#true} ~i~1 := 0; {9640#true} is VALID [2020-07-10 20:22:43,098 INFO L280 TraceCheckUtils]: 9: Hoare triple {9640#true} assume !!(~i~1 < 8); {9640#true} is VALID [2020-07-10 20:22:43,098 INFO L280 TraceCheckUtils]: 10: Hoare triple {9640#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {9640#true} is VALID [2020-07-10 20:22:43,098 INFO L280 TraceCheckUtils]: 11: Hoare triple {9640#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {9640#true} is VALID [2020-07-10 20:22:43,099 INFO L280 TraceCheckUtils]: 12: Hoare triple {9640#true} havoc #t~nondet21; {9640#true} is VALID [2020-07-10 20:22:43,099 INFO L280 TraceCheckUtils]: 13: Hoare triple {9640#true} #t~post20 := ~i~1; {9640#true} is VALID [2020-07-10 20:22:43,099 INFO L280 TraceCheckUtils]: 14: Hoare triple {9640#true} ~i~1 := 1 + #t~post20; {9640#true} is VALID [2020-07-10 20:22:43,099 INFO L280 TraceCheckUtils]: 15: Hoare triple {9640#true} havoc #t~post20; {9640#true} is VALID [2020-07-10 20:22:43,099 INFO L280 TraceCheckUtils]: 16: Hoare triple {9640#true} assume !!(~i~1 < 8); {9640#true} is VALID [2020-07-10 20:22:43,100 INFO L280 TraceCheckUtils]: 17: Hoare triple {9640#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {9640#true} is VALID [2020-07-10 20:22:43,100 INFO L280 TraceCheckUtils]: 18: Hoare triple {9640#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {9640#true} is VALID [2020-07-10 20:22:43,100 INFO L280 TraceCheckUtils]: 19: Hoare triple {9640#true} havoc #t~nondet21; {9640#true} is VALID [2020-07-10 20:22:43,100 INFO L280 TraceCheckUtils]: 20: Hoare triple {9640#true} #t~post20 := ~i~1; {9640#true} is VALID [2020-07-10 20:22:43,101 INFO L280 TraceCheckUtils]: 21: Hoare triple {9640#true} ~i~1 := 1 + #t~post20; {9640#true} is VALID [2020-07-10 20:22:43,101 INFO L280 TraceCheckUtils]: 22: Hoare triple {9640#true} havoc #t~post20; {9640#true} is VALID [2020-07-10 20:22:43,101 INFO L280 TraceCheckUtils]: 23: Hoare triple {9640#true} assume !!(~i~1 < 8); {9640#true} is VALID [2020-07-10 20:22:43,101 INFO L280 TraceCheckUtils]: 24: Hoare triple {9640#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {9640#true} is VALID [2020-07-10 20:22:43,101 INFO L280 TraceCheckUtils]: 25: Hoare triple {9640#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {9640#true} is VALID [2020-07-10 20:22:43,102 INFO L280 TraceCheckUtils]: 26: Hoare triple {9640#true} havoc #t~nondet21; {9640#true} is VALID [2020-07-10 20:22:43,102 INFO L280 TraceCheckUtils]: 27: Hoare triple {9640#true} #t~post20 := ~i~1; {9640#true} is VALID [2020-07-10 20:22:43,102 INFO L280 TraceCheckUtils]: 28: Hoare triple {9640#true} ~i~1 := 1 + #t~post20; {9640#true} is VALID [2020-07-10 20:22:43,102 INFO L280 TraceCheckUtils]: 29: Hoare triple {9640#true} havoc #t~post20; {9640#true} is VALID [2020-07-10 20:22:43,102 INFO L280 TraceCheckUtils]: 30: Hoare triple {9640#true} assume !!(~i~1 < 8); {9640#true} is VALID [2020-07-10 20:22:43,103 INFO L280 TraceCheckUtils]: 31: Hoare triple {9640#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {9640#true} is VALID [2020-07-10 20:22:43,103 INFO L280 TraceCheckUtils]: 32: Hoare triple {9640#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {9640#true} is VALID [2020-07-10 20:22:43,103 INFO L280 TraceCheckUtils]: 33: Hoare triple {9640#true} havoc #t~nondet21; {9640#true} is VALID [2020-07-10 20:22:43,103 INFO L280 TraceCheckUtils]: 34: Hoare triple {9640#true} #t~post20 := ~i~1; {9640#true} is VALID [2020-07-10 20:22:43,103 INFO L280 TraceCheckUtils]: 35: Hoare triple {9640#true} ~i~1 := 1 + #t~post20; {9640#true} is VALID [2020-07-10 20:22:43,104 INFO L280 TraceCheckUtils]: 36: Hoare triple {9640#true} havoc #t~post20; {9640#true} is VALID [2020-07-10 20:22:43,104 INFO L280 TraceCheckUtils]: 37: Hoare triple {9640#true} assume !!(~i~1 < 8); {9640#true} is VALID [2020-07-10 20:22:43,104 INFO L280 TraceCheckUtils]: 38: Hoare triple {9640#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {9640#true} is VALID [2020-07-10 20:22:43,104 INFO L280 TraceCheckUtils]: 39: Hoare triple {9640#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {9640#true} is VALID [2020-07-10 20:22:43,104 INFO L280 TraceCheckUtils]: 40: Hoare triple {9640#true} havoc #t~nondet21; {9640#true} is VALID [2020-07-10 20:22:43,105 INFO L280 TraceCheckUtils]: 41: Hoare triple {9640#true} #t~post20 := ~i~1; {9640#true} is VALID [2020-07-10 20:22:43,105 INFO L280 TraceCheckUtils]: 42: Hoare triple {9640#true} ~i~1 := 1 + #t~post20; {9640#true} is VALID [2020-07-10 20:22:43,105 INFO L280 TraceCheckUtils]: 43: Hoare triple {9640#true} havoc #t~post20; {9640#true} is VALID [2020-07-10 20:22:43,105 INFO L280 TraceCheckUtils]: 44: Hoare triple {9640#true} assume !!(~i~1 < 8); {9640#true} is VALID [2020-07-10 20:22:43,105 INFO L280 TraceCheckUtils]: 45: Hoare triple {9640#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {9640#true} is VALID [2020-07-10 20:22:43,106 INFO L280 TraceCheckUtils]: 46: Hoare triple {9640#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {9640#true} is VALID [2020-07-10 20:22:43,106 INFO L280 TraceCheckUtils]: 47: Hoare triple {9640#true} havoc #t~nondet21; {9640#true} is VALID [2020-07-10 20:22:43,106 INFO L280 TraceCheckUtils]: 48: Hoare triple {9640#true} #t~post20 := ~i~1; {9640#true} is VALID [2020-07-10 20:22:43,106 INFO L280 TraceCheckUtils]: 49: Hoare triple {9640#true} ~i~1 := 1 + #t~post20; {9640#true} is VALID [2020-07-10 20:22:43,106 INFO L280 TraceCheckUtils]: 50: Hoare triple {9640#true} havoc #t~post20; {9640#true} is VALID [2020-07-10 20:22:43,107 INFO L280 TraceCheckUtils]: 51: Hoare triple {9640#true} assume !!(~i~1 < 8); {9640#true} is VALID [2020-07-10 20:22:43,107 INFO L280 TraceCheckUtils]: 52: Hoare triple {9640#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {9640#true} is VALID [2020-07-10 20:22:43,107 INFO L280 TraceCheckUtils]: 53: Hoare triple {9640#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {9640#true} is VALID [2020-07-10 20:22:43,107 INFO L280 TraceCheckUtils]: 54: Hoare triple {9640#true} havoc #t~nondet21; {9640#true} is VALID [2020-07-10 20:22:43,107 INFO L280 TraceCheckUtils]: 55: Hoare triple {9640#true} #t~post20 := ~i~1; {9640#true} is VALID [2020-07-10 20:22:43,108 INFO L280 TraceCheckUtils]: 56: Hoare triple {9640#true} ~i~1 := 1 + #t~post20; {9640#true} is VALID [2020-07-10 20:22:43,108 INFO L280 TraceCheckUtils]: 57: Hoare triple {9640#true} havoc #t~post20; {9640#true} is VALID [2020-07-10 20:22:43,108 INFO L280 TraceCheckUtils]: 58: Hoare triple {9640#true} assume !!(~i~1 < 8); {9640#true} is VALID [2020-07-10 20:22:43,108 INFO L280 TraceCheckUtils]: 59: Hoare triple {9640#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {9640#true} is VALID [2020-07-10 20:22:43,109 INFO L280 TraceCheckUtils]: 60: Hoare triple {9640#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {9640#true} is VALID [2020-07-10 20:22:43,109 INFO L280 TraceCheckUtils]: 61: Hoare triple {9640#true} havoc #t~nondet21; {9640#true} is VALID [2020-07-10 20:22:43,109 INFO L280 TraceCheckUtils]: 62: Hoare triple {9640#true} #t~post20 := ~i~1; {9640#true} is VALID [2020-07-10 20:22:43,109 INFO L280 TraceCheckUtils]: 63: Hoare triple {9640#true} ~i~1 := 1 + #t~post20; {9640#true} is VALID [2020-07-10 20:22:43,109 INFO L280 TraceCheckUtils]: 64: Hoare triple {9640#true} havoc #t~post20; {9640#true} is VALID [2020-07-10 20:22:43,110 INFO L280 TraceCheckUtils]: 65: Hoare triple {9640#true} assume !(~i~1 < 8); {9640#true} is VALID [2020-07-10 20:22:43,110 INFO L280 TraceCheckUtils]: 66: Hoare triple {9640#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L79-6 {9640#true} is VALID [2020-07-10 20:22:43,110 INFO L263 TraceCheckUtils]: 67: Hoare triple {9640#true} call #t~ret22 := parse_expression_list(~#A~0.base, ~#A~0.offset); {9640#true} is VALID [2020-07-10 20:22:43,110 INFO L280 TraceCheckUtils]: 68: Hoare triple {9640#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {9640#true} is VALID [2020-07-10 20:22:43,110 INFO L280 TraceCheckUtils]: 69: Hoare triple {9640#true} ~start~0 := 0; {9640#true} is VALID [2020-07-10 20:22:43,111 INFO L280 TraceCheckUtils]: 70: Hoare triple {9640#true} ~i~0 := -1; {9640#true} is VALID [2020-07-10 20:22:43,111 INFO L280 TraceCheckUtils]: 71: Hoare triple {9640#true} ~j~0 := -1; {9640#true} is VALID [2020-07-10 20:22:43,111 INFO L280 TraceCheckUtils]: 72: Hoare triple {9640#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L50 {9640#true} is VALID [2020-07-10 20:22:43,111 INFO L280 TraceCheckUtils]: 73: Hoare triple {9640#true} assume !(~str.base == 0 && ~str.offset == 0); {9640#true} is VALID [2020-07-10 20:22:43,112 INFO L280 TraceCheckUtils]: 74: Hoare triple {9640#true} #t~post2 := ~i~0; {9640#true} is VALID [2020-07-10 20:22:43,112 INFO L280 TraceCheckUtils]: 75: Hoare triple {9640#true} ~i~0 := 1 + #t~post2; {9640#true} is VALID [2020-07-10 20:22:43,112 INFO L280 TraceCheckUtils]: 76: Hoare triple {9640#true} havoc #t~post2; {9640#true} is VALID [2020-07-10 20:22:43,112 INFO L280 TraceCheckUtils]: 77: Hoare triple {9640#true} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L54 {9640#true} is VALID [2020-07-10 20:22:43,112 INFO L280 TraceCheckUtils]: 78: Hoare triple {9640#true} #t~switch4 := 0 == #t~mem3; {9640#true} is VALID [2020-07-10 20:22:43,113 INFO L280 TraceCheckUtils]: 79: Hoare triple {9640#true} assume #t~switch4; {9640#true} is VALID [2020-07-10 20:22:43,113 INFO L280 TraceCheckUtils]: 80: Hoare triple {9640#true} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-17 {9640#true} is VALID [2020-07-10 20:22:43,113 INFO L280 TraceCheckUtils]: 81: Hoare triple {9640#true} #t~short7 := 32 == #t~mem5; {9640#true} is VALID [2020-07-10 20:22:43,114 INFO L280 TraceCheckUtils]: 82: Hoare triple {9640#true} assume #t~short7; {9647#|parse_expression_list_#t~short7|} is VALID [2020-07-10 20:22:43,114 INFO L280 TraceCheckUtils]: 83: Hoare triple {9647#|parse_expression_list_#t~short7|} assume !#t~short7; {9641#false} is VALID [2020-07-10 20:22:43,114 INFO L280 TraceCheckUtils]: 84: Hoare triple {9641#false} havoc #t~mem5; {9641#false} is VALID [2020-07-10 20:22:43,115 INFO L280 TraceCheckUtils]: 85: Hoare triple {9641#false} havoc #t~mem6; {9641#false} is VALID [2020-07-10 20:22:43,115 INFO L280 TraceCheckUtils]: 86: Hoare triple {9641#false} havoc #t~short7; {9641#false} is VALID [2020-07-10 20:22:43,115 INFO L280 TraceCheckUtils]: 87: Hoare triple {9641#false} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-18 {9641#false} is VALID [2020-07-10 20:22:43,115 INFO L280 TraceCheckUtils]: 88: Hoare triple {9641#false} assume !(34 == #t~mem9); {9641#false} is VALID [2020-07-10 20:22:43,115 INFO L280 TraceCheckUtils]: 89: Hoare triple {9641#false} havoc #t~mem9; {9641#false} is VALID [2020-07-10 20:22:43,116 INFO L280 TraceCheckUtils]: 90: Hoare triple {9641#false} ~j~0 := ~i~0 - 1; {9641#false} is VALID [2020-07-10 20:22:43,116 INFO L280 TraceCheckUtils]: 91: Hoare triple {9641#false} #t~short14 := 0 < ~j~0; {9641#false} is VALID [2020-07-10 20:22:43,116 INFO L280 TraceCheckUtils]: 92: Hoare triple {9641#false} assume !#t~short14; {9641#false} is VALID [2020-07-10 20:22:43,116 INFO L280 TraceCheckUtils]: 93: Hoare triple {9641#false} assume !#t~short14; {9641#false} is VALID [2020-07-10 20:22:43,116 INFO L280 TraceCheckUtils]: 94: Hoare triple {9641#false} havoc #t~mem12; {9641#false} is VALID [2020-07-10 20:22:43,117 INFO L280 TraceCheckUtils]: 95: Hoare triple {9641#false} havoc #t~short13; {9641#false} is VALID [2020-07-10 20:22:43,117 INFO L280 TraceCheckUtils]: 96: Hoare triple {9641#false} havoc #t~short14; {9641#false} is VALID [2020-07-10 20:22:43,117 INFO L280 TraceCheckUtils]: 97: Hoare triple {9641#false} havoc #t~mem11; {9641#false} is VALID [2020-07-10 20:22:43,117 INFO L280 TraceCheckUtils]: 98: Hoare triple {9641#false} #t~short17 := 0 < ~j~0; {9641#false} is VALID [2020-07-10 20:22:43,117 INFO L280 TraceCheckUtils]: 99: Hoare triple {9641#false} assume !#t~short17; {9641#false} is VALID [2020-07-10 20:22:43,118 INFO L280 TraceCheckUtils]: 100: Hoare triple {9641#false} assume !#t~short17; {9641#false} is VALID [2020-07-10 20:22:43,118 INFO L280 TraceCheckUtils]: 101: Hoare triple {9641#false} havoc #t~mem16; {9641#false} is VALID [2020-07-10 20:22:43,118 INFO L280 TraceCheckUtils]: 102: Hoare triple {9641#false} havoc #t~short17; {9641#false} is VALID [2020-07-10 20:22:43,118 INFO L280 TraceCheckUtils]: 103: Hoare triple {9641#false} assume ~start~0 <= ~j~0; {9641#false} is VALID [2020-07-10 20:22:43,119 INFO L280 TraceCheckUtils]: 104: Hoare triple {9641#false} assume !(1 + (~j~0 - ~start~0) >= 2); {9641#false} is VALID [2020-07-10 20:22:43,119 INFO L263 TraceCheckUtils]: 105: Hoare triple {9641#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)); {9640#true} is VALID [2020-07-10 20:22:43,119 INFO L280 TraceCheckUtils]: 106: Hoare triple {9640#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {9640#true} is VALID [2020-07-10 20:22:43,119 INFO L280 TraceCheckUtils]: 107: Hoare triple {9640#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {9640#true} is VALID [2020-07-10 20:22:43,120 INFO L280 TraceCheckUtils]: 108: Hoare triple {9640#true} ~n := #in~n; {9640#true} is VALID [2020-07-10 20:22:43,120 INFO L280 TraceCheckUtils]: 109: Hoare triple {9640#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {9640#true} is VALID [2020-07-10 20:22:43,120 INFO L280 TraceCheckUtils]: 110: Hoare triple {9640#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {9640#true} is VALID [2020-07-10 20:22:43,120 INFO L280 TraceCheckUtils]: 111: Hoare triple {9640#true} havoc #t~ret0.base, #t~ret0.offset; {9640#true} is VALID [2020-07-10 20:22:43,120 INFO L280 TraceCheckUtils]: 112: Hoare triple {9640#true} assume true; {9640#true} is VALID [2020-07-10 20:22:43,121 INFO L275 TraceCheckUtils]: 113: Hoare quadruple {9640#true} {9641#false} #227#return; {9641#false} is VALID [2020-07-10 20:22:43,121 INFO L280 TraceCheckUtils]: 114: Hoare triple {9641#false} havoc #t~ret19.base, #t~ret19.offset; {9641#false} is VALID [2020-07-10 20:22:43,121 INFO L263 TraceCheckUtils]: 115: Hoare triple {9641#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {9641#false} is VALID [2020-07-10 20:22:43,121 INFO L280 TraceCheckUtils]: 116: Hoare triple {9641#false} ~cond := #in~cond; {9641#false} is VALID [2020-07-10 20:22:43,122 INFO L280 TraceCheckUtils]: 117: Hoare triple {9641#false} assume 0 == ~cond; {9641#false} is VALID [2020-07-10 20:22:43,122 INFO L280 TraceCheckUtils]: 118: Hoare triple {9641#false} assume !false; {9641#false} is VALID [2020-07-10 20:22:43,129 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:43,130 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:43,130 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [670440323] [2020-07-10 20:22:43,130 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:43,131 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-10 20:22:43,131 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1916787196] [2020-07-10 20:22:43,131 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 119 [2020-07-10 20:22:43,132 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:43,132 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-10 20:22:43,196 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:43,196 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-10 20:22:43,196 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:43,197 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-10 20:22:43,197 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 20:22:43,197 INFO L87 Difference]: Start difference. First operand 161 states and 171 transitions. Second operand 4 states. [2020-07-10 20:22:43,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:43,775 INFO L93 Difference]: Finished difference Result 249 states and 269 transitions. [2020-07-10 20:22:43,775 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-10 20:22:43,775 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 119 [2020-07-10 20:22:43,775 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:43,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 20:22:43,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 219 transitions. [2020-07-10 20:22:43,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 20:22:43,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 219 transitions. [2020-07-10 20:22:43,781 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 219 transitions. [2020-07-10 20:22:43,995 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 219 edges. 219 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:43,998 INFO L225 Difference]: With dead ends: 249 [2020-07-10 20:22:43,999 INFO L226 Difference]: Without dead ends: 162 [2020-07-10 20:22:43,999 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:44,000 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2020-07-10 20:22:44,133 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 162. [2020-07-10 20:22:44,133 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:44,133 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand 162 states. [2020-07-10 20:22:44,134 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand 162 states. [2020-07-10 20:22:44,134 INFO L87 Difference]: Start difference. First operand 162 states. Second operand 162 states. [2020-07-10 20:22:44,138 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:44,138 INFO L93 Difference]: Finished difference Result 162 states and 172 transitions. [2020-07-10 20:22:44,138 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 172 transitions. [2020-07-10 20:22:44,139 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:44,139 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:44,139 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand 162 states. [2020-07-10 20:22:44,140 INFO L87 Difference]: Start difference. First operand 162 states. Second operand 162 states. [2020-07-10 20:22:44,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:44,143 INFO L93 Difference]: Finished difference Result 162 states and 172 transitions. [2020-07-10 20:22:44,144 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 172 transitions. [2020-07-10 20:22:44,144 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:44,144 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:44,144 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:44,145 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:44,145 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 162 states. [2020-07-10 20:22:44,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 162 states to 162 states and 172 transitions. [2020-07-10 20:22:44,149 INFO L78 Accepts]: Start accepts. Automaton has 162 states and 172 transitions. Word has length 119 [2020-07-10 20:22:44,149 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:44,149 INFO L479 AbstractCegarLoop]: Abstraction has 162 states and 172 transitions. [2020-07-10 20:22:44,149 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-10 20:22:44,149 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 162 states and 172 transitions. [2020-07-10 20:22:44,328 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 172 edges. 172 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:44,328 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 172 transitions. [2020-07-10 20:22:44,329 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 122 [2020-07-10 20:22:44,329 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:44,330 INFO L422 BasicCegarLoop]: trace histogram [8, 8, 8, 8, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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,330 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-10 20:22:44,330 INFO L427 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:44,330 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:44,330 INFO L82 PathProgramCache]: Analyzing trace with hash 1395739916, now seen corresponding path program 1 times [2020-07-10 20:22:44,331 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:44,331 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [600360641] [2020-07-10 20:22:44,331 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:44,379 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:44,498 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:44,502 INFO L280 TraceCheckUtils]: 0: Hoare triple {10825#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {10805#true} is VALID [2020-07-10 20:22:44,503 INFO L280 TraceCheckUtils]: 1: Hoare triple {10805#true} #valid := #valid[0 := 0]; {10805#true} is VALID [2020-07-10 20:22:44,503 INFO L280 TraceCheckUtils]: 2: Hoare triple {10805#true} assume 0 < #StackHeapBarrier; {10805#true} is VALID [2020-07-10 20:22:44,503 INFO L280 TraceCheckUtils]: 3: Hoare triple {10805#true} assume true; {10805#true} is VALID [2020-07-10 20:22:44,504 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {10805#true} {10805#true} #231#return; {10805#true} is VALID [2020-07-10 20:22:44,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:44,510 INFO L280 TraceCheckUtils]: 0: Hoare triple {10805#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {10805#true} is VALID [2020-07-10 20:22:44,510 INFO L280 TraceCheckUtils]: 1: Hoare triple {10805#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {10805#true} is VALID [2020-07-10 20:22:44,511 INFO L280 TraceCheckUtils]: 2: Hoare triple {10805#true} ~n := #in~n; {10805#true} is VALID [2020-07-10 20:22:44,511 INFO L280 TraceCheckUtils]: 3: Hoare triple {10805#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {10805#true} is VALID [2020-07-10 20:22:44,511 INFO L280 TraceCheckUtils]: 4: Hoare triple {10805#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {10805#true} is VALID [2020-07-10 20:22:44,511 INFO L280 TraceCheckUtils]: 5: Hoare triple {10805#true} havoc #t~ret0.base, #t~ret0.offset; {10805#true} is VALID [2020-07-10 20:22:44,512 INFO L280 TraceCheckUtils]: 6: Hoare triple {10805#true} assume true; {10805#true} is VALID [2020-07-10 20:22:44,512 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {10805#true} {10806#false} #227#return; {10806#false} is VALID [2020-07-10 20:22:44,513 INFO L263 TraceCheckUtils]: 0: Hoare triple {10805#true} call ULTIMATE.init(); {10825#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:22:44,514 INFO L280 TraceCheckUtils]: 1: Hoare triple {10825#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {10805#true} is VALID [2020-07-10 20:22:44,514 INFO L280 TraceCheckUtils]: 2: Hoare triple {10805#true} #valid := #valid[0 := 0]; {10805#true} is VALID [2020-07-10 20:22:44,514 INFO L280 TraceCheckUtils]: 3: Hoare triple {10805#true} assume 0 < #StackHeapBarrier; {10805#true} is VALID [2020-07-10 20:22:44,515 INFO L280 TraceCheckUtils]: 4: Hoare triple {10805#true} assume true; {10805#true} is VALID [2020-07-10 20:22:44,515 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {10805#true} {10805#true} #231#return; {10805#true} is VALID [2020-07-10 20:22:44,515 INFO L263 TraceCheckUtils]: 6: Hoare triple {10805#true} call #t~ret23 := main(); {10805#true} is VALID [2020-07-10 20:22:44,515 INFO L280 TraceCheckUtils]: 7: Hoare triple {10805#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {10805#true} is VALID [2020-07-10 20:22:44,516 INFO L280 TraceCheckUtils]: 8: Hoare triple {10805#true} ~i~1 := 0; {10805#true} is VALID [2020-07-10 20:22:44,516 INFO L280 TraceCheckUtils]: 9: Hoare triple {10805#true} assume !!(~i~1 < 8); {10805#true} is VALID [2020-07-10 20:22:44,516 INFO L280 TraceCheckUtils]: 10: Hoare triple {10805#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {10805#true} is VALID [2020-07-10 20:22:44,516 INFO L280 TraceCheckUtils]: 11: Hoare triple {10805#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {10805#true} is VALID [2020-07-10 20:22:44,517 INFO L280 TraceCheckUtils]: 12: Hoare triple {10805#true} havoc #t~nondet21; {10805#true} is VALID [2020-07-10 20:22:44,517 INFO L280 TraceCheckUtils]: 13: Hoare triple {10805#true} #t~post20 := ~i~1; {10805#true} is VALID [2020-07-10 20:22:44,517 INFO L280 TraceCheckUtils]: 14: Hoare triple {10805#true} ~i~1 := 1 + #t~post20; {10805#true} is VALID [2020-07-10 20:22:44,517 INFO L280 TraceCheckUtils]: 15: Hoare triple {10805#true} havoc #t~post20; {10805#true} is VALID [2020-07-10 20:22:44,518 INFO L280 TraceCheckUtils]: 16: Hoare triple {10805#true} assume !!(~i~1 < 8); {10805#true} is VALID [2020-07-10 20:22:44,518 INFO L280 TraceCheckUtils]: 17: Hoare triple {10805#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {10805#true} is VALID [2020-07-10 20:22:44,519 INFO L280 TraceCheckUtils]: 18: Hoare triple {10805#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {10805#true} is VALID [2020-07-10 20:22:44,519 INFO L280 TraceCheckUtils]: 19: Hoare triple {10805#true} havoc #t~nondet21; {10805#true} is VALID [2020-07-10 20:22:44,520 INFO L280 TraceCheckUtils]: 20: Hoare triple {10805#true} #t~post20 := ~i~1; {10805#true} is VALID [2020-07-10 20:22:44,520 INFO L280 TraceCheckUtils]: 21: Hoare triple {10805#true} ~i~1 := 1 + #t~post20; {10805#true} is VALID [2020-07-10 20:22:44,520 INFO L280 TraceCheckUtils]: 22: Hoare triple {10805#true} havoc #t~post20; {10805#true} is VALID [2020-07-10 20:22:44,520 INFO L280 TraceCheckUtils]: 23: Hoare triple {10805#true} assume !!(~i~1 < 8); {10805#true} is VALID [2020-07-10 20:22:44,521 INFO L280 TraceCheckUtils]: 24: Hoare triple {10805#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {10805#true} is VALID [2020-07-10 20:22:44,521 INFO L280 TraceCheckUtils]: 25: Hoare triple {10805#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {10805#true} is VALID [2020-07-10 20:22:44,521 INFO L280 TraceCheckUtils]: 26: Hoare triple {10805#true} havoc #t~nondet21; {10805#true} is VALID [2020-07-10 20:22:44,521 INFO L280 TraceCheckUtils]: 27: Hoare triple {10805#true} #t~post20 := ~i~1; {10805#true} is VALID [2020-07-10 20:22:44,522 INFO L280 TraceCheckUtils]: 28: Hoare triple {10805#true} ~i~1 := 1 + #t~post20; {10805#true} is VALID [2020-07-10 20:22:44,522 INFO L280 TraceCheckUtils]: 29: Hoare triple {10805#true} havoc #t~post20; {10805#true} is VALID [2020-07-10 20:22:44,522 INFO L280 TraceCheckUtils]: 30: Hoare triple {10805#true} assume !!(~i~1 < 8); {10805#true} is VALID [2020-07-10 20:22:44,522 INFO L280 TraceCheckUtils]: 31: Hoare triple {10805#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {10805#true} is VALID [2020-07-10 20:22:44,523 INFO L280 TraceCheckUtils]: 32: Hoare triple {10805#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {10805#true} is VALID [2020-07-10 20:22:44,523 INFO L280 TraceCheckUtils]: 33: Hoare triple {10805#true} havoc #t~nondet21; {10805#true} is VALID [2020-07-10 20:22:44,523 INFO L280 TraceCheckUtils]: 34: Hoare triple {10805#true} #t~post20 := ~i~1; {10805#true} is VALID [2020-07-10 20:22:44,523 INFO L280 TraceCheckUtils]: 35: Hoare triple {10805#true} ~i~1 := 1 + #t~post20; {10805#true} is VALID [2020-07-10 20:22:44,524 INFO L280 TraceCheckUtils]: 36: Hoare triple {10805#true} havoc #t~post20; {10805#true} is VALID [2020-07-10 20:22:44,524 INFO L280 TraceCheckUtils]: 37: Hoare triple {10805#true} assume !!(~i~1 < 8); {10805#true} is VALID [2020-07-10 20:22:44,524 INFO L280 TraceCheckUtils]: 38: Hoare triple {10805#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {10805#true} is VALID [2020-07-10 20:22:44,524 INFO L280 TraceCheckUtils]: 39: Hoare triple {10805#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {10805#true} is VALID [2020-07-10 20:22:44,524 INFO L280 TraceCheckUtils]: 40: Hoare triple {10805#true} havoc #t~nondet21; {10805#true} is VALID [2020-07-10 20:22:44,525 INFO L280 TraceCheckUtils]: 41: Hoare triple {10805#true} #t~post20 := ~i~1; {10805#true} is VALID [2020-07-10 20:22:44,525 INFO L280 TraceCheckUtils]: 42: Hoare triple {10805#true} ~i~1 := 1 + #t~post20; {10805#true} is VALID [2020-07-10 20:22:44,525 INFO L280 TraceCheckUtils]: 43: Hoare triple {10805#true} havoc #t~post20; {10805#true} is VALID [2020-07-10 20:22:44,525 INFO L280 TraceCheckUtils]: 44: Hoare triple {10805#true} assume !!(~i~1 < 8); {10805#true} is VALID [2020-07-10 20:22:44,526 INFO L280 TraceCheckUtils]: 45: Hoare triple {10805#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {10805#true} is VALID [2020-07-10 20:22:44,526 INFO L280 TraceCheckUtils]: 46: Hoare triple {10805#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {10805#true} is VALID [2020-07-10 20:22:44,526 INFO L280 TraceCheckUtils]: 47: Hoare triple {10805#true} havoc #t~nondet21; {10805#true} is VALID [2020-07-10 20:22:44,526 INFO L280 TraceCheckUtils]: 48: Hoare triple {10805#true} #t~post20 := ~i~1; {10805#true} is VALID [2020-07-10 20:22:44,526 INFO L280 TraceCheckUtils]: 49: Hoare triple {10805#true} ~i~1 := 1 + #t~post20; {10805#true} is VALID [2020-07-10 20:22:44,527 INFO L280 TraceCheckUtils]: 50: Hoare triple {10805#true} havoc #t~post20; {10805#true} is VALID [2020-07-10 20:22:44,527 INFO L280 TraceCheckUtils]: 51: Hoare triple {10805#true} assume !!(~i~1 < 8); {10805#true} is VALID [2020-07-10 20:22:44,527 INFO L280 TraceCheckUtils]: 52: Hoare triple {10805#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {10805#true} is VALID [2020-07-10 20:22:44,527 INFO L280 TraceCheckUtils]: 53: Hoare triple {10805#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {10805#true} is VALID [2020-07-10 20:22:44,527 INFO L280 TraceCheckUtils]: 54: Hoare triple {10805#true} havoc #t~nondet21; {10805#true} is VALID [2020-07-10 20:22:44,528 INFO L280 TraceCheckUtils]: 55: Hoare triple {10805#true} #t~post20 := ~i~1; {10805#true} is VALID [2020-07-10 20:22:44,528 INFO L280 TraceCheckUtils]: 56: Hoare triple {10805#true} ~i~1 := 1 + #t~post20; {10805#true} is VALID [2020-07-10 20:22:44,528 INFO L280 TraceCheckUtils]: 57: Hoare triple {10805#true} havoc #t~post20; {10805#true} is VALID [2020-07-10 20:22:44,528 INFO L280 TraceCheckUtils]: 58: Hoare triple {10805#true} assume !!(~i~1 < 8); {10805#true} is VALID [2020-07-10 20:22:44,528 INFO L280 TraceCheckUtils]: 59: Hoare triple {10805#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {10805#true} is VALID [2020-07-10 20:22:44,529 INFO L280 TraceCheckUtils]: 60: Hoare triple {10805#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {10805#true} is VALID [2020-07-10 20:22:44,529 INFO L280 TraceCheckUtils]: 61: Hoare triple {10805#true} havoc #t~nondet21; {10805#true} is VALID [2020-07-10 20:22:44,529 INFO L280 TraceCheckUtils]: 62: Hoare triple {10805#true} #t~post20 := ~i~1; {10805#true} is VALID [2020-07-10 20:22:44,529 INFO L280 TraceCheckUtils]: 63: Hoare triple {10805#true} ~i~1 := 1 + #t~post20; {10805#true} is VALID [2020-07-10 20:22:44,530 INFO L280 TraceCheckUtils]: 64: Hoare triple {10805#true} havoc #t~post20; {10805#true} is VALID [2020-07-10 20:22:44,530 INFO L280 TraceCheckUtils]: 65: Hoare triple {10805#true} assume !(~i~1 < 8); {10805#true} is VALID [2020-07-10 20:22:44,530 INFO L280 TraceCheckUtils]: 66: Hoare triple {10805#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L79-6 {10805#true} is VALID [2020-07-10 20:22:44,530 INFO L263 TraceCheckUtils]: 67: Hoare triple {10805#true} call #t~ret22 := parse_expression_list(~#A~0.base, ~#A~0.offset); {10805#true} is VALID [2020-07-10 20:22:44,530 INFO L280 TraceCheckUtils]: 68: Hoare triple {10805#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {10805#true} is VALID [2020-07-10 20:22:44,531 INFO L280 TraceCheckUtils]: 69: Hoare triple {10805#true} ~start~0 := 0; {10812#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:44,532 INFO L280 TraceCheckUtils]: 70: Hoare triple {10812#(= 0 parse_expression_list_~start~0)} ~i~0 := -1; {10813#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-10 20:22:44,533 INFO L280 TraceCheckUtils]: 71: Hoare triple {10813#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} ~j~0 := -1; {10813#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-10 20:22:44,534 INFO L280 TraceCheckUtils]: 72: Hoare triple {10813#(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: L50 {10813#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-10 20:22:44,535 INFO L280 TraceCheckUtils]: 73: Hoare triple {10813#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} assume !(~str.base == 0 && ~str.offset == 0); {10813#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-10 20:22:44,535 INFO L280 TraceCheckUtils]: 74: Hoare triple {10813#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} #t~post2 := ~i~0; {10814#(and (<= (+ |parse_expression_list_#t~post2| 1) 0) (= 0 parse_expression_list_~start~0))} is VALID [2020-07-10 20:22:44,536 INFO L280 TraceCheckUtils]: 75: Hoare triple {10814#(and (<= (+ |parse_expression_list_#t~post2| 1) 0) (= 0 parse_expression_list_~start~0))} ~i~0 := 1 + #t~post2; {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:44,537 INFO L280 TraceCheckUtils]: 76: Hoare triple {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~post2; {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:44,538 INFO L280 TraceCheckUtils]: 77: Hoare triple {10815#(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: L54 {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:44,538 INFO L280 TraceCheckUtils]: 78: Hoare triple {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~switch4 := 0 == #t~mem3; {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:44,539 INFO L280 TraceCheckUtils]: 79: Hoare triple {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume #t~switch4; {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:44,540 INFO L280 TraceCheckUtils]: 80: Hoare triple {10815#(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: L56-17 {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:44,541 INFO L280 TraceCheckUtils]: 81: Hoare triple {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~short7 := 32 == #t~mem5; {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:44,542 INFO L280 TraceCheckUtils]: 82: Hoare triple {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume !#t~short7; {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:44,543 INFO L280 TraceCheckUtils]: 83: Hoare triple {10815#(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: L56-4 {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:44,545 INFO L280 TraceCheckUtils]: 84: Hoare triple {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~short7 := 9 == #t~mem6; {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:44,545 INFO L280 TraceCheckUtils]: 85: Hoare triple {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume !#t~short7; {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:44,546 INFO L280 TraceCheckUtils]: 86: Hoare triple {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem5; {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:44,547 INFO L280 TraceCheckUtils]: 87: Hoare triple {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem6; {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:44,547 INFO L280 TraceCheckUtils]: 88: Hoare triple {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~short7; {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:44,548 INFO L280 TraceCheckUtils]: 89: Hoare triple {10815#(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: L56-18 {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:44,549 INFO L280 TraceCheckUtils]: 90: Hoare triple {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume !(34 == #t~mem9); {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:44,549 INFO L280 TraceCheckUtils]: 91: Hoare triple {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem9; {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:44,550 INFO L280 TraceCheckUtils]: 92: Hoare triple {10815#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} ~j~0 := ~i~0 - 1; {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:44,551 INFO L280 TraceCheckUtils]: 93: Hoare triple {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} #t~short14 := 0 < ~j~0; {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:44,552 INFO L280 TraceCheckUtils]: 94: Hoare triple {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} assume !#t~short14; {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:44,552 INFO L280 TraceCheckUtils]: 95: Hoare triple {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} assume !#t~short14; {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:44,553 INFO L280 TraceCheckUtils]: 96: Hoare triple {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~mem12; {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:44,554 INFO L280 TraceCheckUtils]: 97: Hoare triple {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~short13; {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:44,554 INFO L280 TraceCheckUtils]: 98: Hoare triple {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~short14; {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:44,555 INFO L280 TraceCheckUtils]: 99: Hoare triple {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~mem11; {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:44,556 INFO L280 TraceCheckUtils]: 100: Hoare triple {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} #t~short17 := 0 < ~j~0; {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:44,557 INFO L280 TraceCheckUtils]: 101: Hoare triple {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} assume !#t~short17; {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:44,557 INFO L280 TraceCheckUtils]: 102: Hoare triple {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} assume !#t~short17; {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:44,558 INFO L280 TraceCheckUtils]: 103: Hoare triple {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~mem16; {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:44,559 INFO L280 TraceCheckUtils]: 104: Hoare triple {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~short17; {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:44,559 INFO L280 TraceCheckUtils]: 105: Hoare triple {10816#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} assume ~start~0 <= ~j~0; {10806#false} is VALID [2020-07-10 20:22:44,560 INFO L280 TraceCheckUtils]: 106: Hoare triple {10806#false} assume !(1 + (~j~0 - ~start~0) >= 2); {10806#false} is VALID [2020-07-10 20:22:44,560 INFO L263 TraceCheckUtils]: 107: Hoare triple {10806#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)); {10805#true} is VALID [2020-07-10 20:22:44,560 INFO L280 TraceCheckUtils]: 108: Hoare triple {10805#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {10805#true} is VALID [2020-07-10 20:22:44,560 INFO L280 TraceCheckUtils]: 109: Hoare triple {10805#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {10805#true} is VALID [2020-07-10 20:22:44,560 INFO L280 TraceCheckUtils]: 110: Hoare triple {10805#true} ~n := #in~n; {10805#true} is VALID [2020-07-10 20:22:44,561 INFO L280 TraceCheckUtils]: 111: Hoare triple {10805#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {10805#true} is VALID [2020-07-10 20:22:44,561 INFO L280 TraceCheckUtils]: 112: Hoare triple {10805#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {10805#true} is VALID [2020-07-10 20:22:44,561 INFO L280 TraceCheckUtils]: 113: Hoare triple {10805#true} havoc #t~ret0.base, #t~ret0.offset; {10805#true} is VALID [2020-07-10 20:22:44,561 INFO L280 TraceCheckUtils]: 114: Hoare triple {10805#true} assume true; {10805#true} is VALID [2020-07-10 20:22:44,561 INFO L275 TraceCheckUtils]: 115: Hoare quadruple {10805#true} {10806#false} #227#return; {10806#false} is VALID [2020-07-10 20:22:44,562 INFO L280 TraceCheckUtils]: 116: Hoare triple {10806#false} havoc #t~ret19.base, #t~ret19.offset; {10806#false} is VALID [2020-07-10 20:22:44,562 INFO L263 TraceCheckUtils]: 117: Hoare triple {10806#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {10806#false} is VALID [2020-07-10 20:22:44,562 INFO L280 TraceCheckUtils]: 118: Hoare triple {10806#false} ~cond := #in~cond; {10806#false} is VALID [2020-07-10 20:22:44,562 INFO L280 TraceCheckUtils]: 119: Hoare triple {10806#false} assume 0 == ~cond; {10806#false} is VALID [2020-07-10 20:22:44,562 INFO L280 TraceCheckUtils]: 120: Hoare triple {10806#false} assume !false; {10806#false} is VALID [2020-07-10 20:22:44,580 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,581 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:44,581 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [600360641] [2020-07-10 20:22:44,581 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:44,581 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2020-07-10 20:22:44,582 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1530599401] [2020-07-10 20:22:44,582 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 121 [2020-07-10 20:22:44,582 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:44,583 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-10 20:22:44,660 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,661 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-10 20:22:44,661 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:44,661 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-10 20:22:44,661 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=38, Unknown=0, NotChecked=0, Total=56 [2020-07-10 20:22:44,662 INFO L87 Difference]: Start difference. First operand 162 states and 172 transitions. Second operand 8 states. [2020-07-10 20:22:46,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:46,592 INFO L93 Difference]: Finished difference Result 427 states and 473 transitions. [2020-07-10 20:22:46,593 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2020-07-10 20:22:46,593 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 121 [2020-07-10 20:22:46,593 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:46,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 20:22:46,602 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 419 transitions. [2020-07-10 20:22:46,603 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 20:22:46,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 419 transitions. [2020-07-10 20:22:46,608 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 419 transitions. [2020-07-10 20:22:47,261 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 419 edges. 419 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:47,278 INFO L225 Difference]: With dead ends: 427 [2020-07-10 20:22:47,278 INFO L226 Difference]: Without dead ends: 336 [2020-07-10 20:22:47,279 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:47,280 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 336 states. [2020-07-10 20:22:47,587 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 336 to 199. [2020-07-10 20:22:47,587 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:47,587 INFO L82 GeneralOperation]: Start isEquivalent. First operand 336 states. Second operand 199 states. [2020-07-10 20:22:47,588 INFO L74 IsIncluded]: Start isIncluded. First operand 336 states. Second operand 199 states. [2020-07-10 20:22:47,588 INFO L87 Difference]: Start difference. First operand 336 states. Second operand 199 states. [2020-07-10 20:22:47,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:47,617 INFO L93 Difference]: Finished difference Result 336 states and 372 transitions. [2020-07-10 20:22:47,618 INFO L276 IsEmpty]: Start isEmpty. Operand 336 states and 372 transitions. [2020-07-10 20:22:47,620 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:47,621 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:47,621 INFO L74 IsIncluded]: Start isIncluded. First operand 199 states. Second operand 336 states. [2020-07-10 20:22:47,621 INFO L87 Difference]: Start difference. First operand 199 states. Second operand 336 states. [2020-07-10 20:22:47,642 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:47,642 INFO L93 Difference]: Finished difference Result 336 states and 372 transitions. [2020-07-10 20:22:47,642 INFO L276 IsEmpty]: Start isEmpty. Operand 336 states and 372 transitions. [2020-07-10 20:22:47,644 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:47,644 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:47,644 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:47,645 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:47,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 199 states. [2020-07-10 20:22:47,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 199 states to 199 states and 217 transitions. [2020-07-10 20:22:47,653 INFO L78 Accepts]: Start accepts. Automaton has 199 states and 217 transitions. Word has length 121 [2020-07-10 20:22:47,653 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:47,654 INFO L479 AbstractCegarLoop]: Abstraction has 199 states and 217 transitions. [2020-07-10 20:22:47,654 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-10 20:22:47,654 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 199 states and 217 transitions. [2020-07-10 20:22:48,008 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 217 edges. 217 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:48,009 INFO L276 IsEmpty]: Start isEmpty. Operand 199 states and 217 transitions. [2020-07-10 20:22:48,012 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 125 [2020-07-10 20:22:48,012 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:48,012 INFO L422 BasicCegarLoop]: trace histogram [8, 8, 8, 8, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:48,013 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2020-07-10 20:22:48,013 INFO L427 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:48,013 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:48,013 INFO L82 PathProgramCache]: Analyzing trace with hash 454539305, now seen corresponding path program 1 times [2020-07-10 20:22:48,014 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:48,014 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1786643794] [2020-07-10 20:22:48,015 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:48,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:48,134 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:48,143 INFO L280 TraceCheckUtils]: 0: Hoare triple {12782#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {12766#true} is VALID [2020-07-10 20:22:48,144 INFO L280 TraceCheckUtils]: 1: Hoare triple {12766#true} #valid := #valid[0 := 0]; {12766#true} is VALID [2020-07-10 20:22:48,144 INFO L280 TraceCheckUtils]: 2: Hoare triple {12766#true} assume 0 < #StackHeapBarrier; {12766#true} is VALID [2020-07-10 20:22:48,145 INFO L280 TraceCheckUtils]: 3: Hoare triple {12766#true} assume true; {12766#true} is VALID [2020-07-10 20:22:48,145 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {12766#true} {12766#true} #231#return; {12766#true} is VALID [2020-07-10 20:22:48,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:48,151 INFO L280 TraceCheckUtils]: 0: Hoare triple {12766#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {12766#true} is VALID [2020-07-10 20:22:48,152 INFO L280 TraceCheckUtils]: 1: Hoare triple {12766#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {12766#true} is VALID [2020-07-10 20:22:48,152 INFO L280 TraceCheckUtils]: 2: Hoare triple {12766#true} ~n := #in~n; {12766#true} is VALID [2020-07-10 20:22:48,152 INFO L280 TraceCheckUtils]: 3: Hoare triple {12766#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {12766#true} is VALID [2020-07-10 20:22:48,153 INFO L280 TraceCheckUtils]: 4: Hoare triple {12766#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {12766#true} is VALID [2020-07-10 20:22:48,153 INFO L280 TraceCheckUtils]: 5: Hoare triple {12766#true} havoc #t~ret0.base, #t~ret0.offset; {12766#true} is VALID [2020-07-10 20:22:48,154 INFO L280 TraceCheckUtils]: 6: Hoare triple {12766#true} assume true; {12766#true} is VALID [2020-07-10 20:22:48,154 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {12766#true} {12767#false} #227#return; {12767#false} is VALID [2020-07-10 20:22:48,156 INFO L263 TraceCheckUtils]: 0: Hoare triple {12766#true} call ULTIMATE.init(); {12782#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:22:48,156 INFO L280 TraceCheckUtils]: 1: Hoare triple {12782#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {12766#true} is VALID [2020-07-10 20:22:48,156 INFO L280 TraceCheckUtils]: 2: Hoare triple {12766#true} #valid := #valid[0 := 0]; {12766#true} is VALID [2020-07-10 20:22:48,157 INFO L280 TraceCheckUtils]: 3: Hoare triple {12766#true} assume 0 < #StackHeapBarrier; {12766#true} is VALID [2020-07-10 20:22:48,157 INFO L280 TraceCheckUtils]: 4: Hoare triple {12766#true} assume true; {12766#true} is VALID [2020-07-10 20:22:48,157 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {12766#true} {12766#true} #231#return; {12766#true} is VALID [2020-07-10 20:22:48,158 INFO L263 TraceCheckUtils]: 6: Hoare triple {12766#true} call #t~ret23 := main(); {12766#true} is VALID [2020-07-10 20:22:48,158 INFO L280 TraceCheckUtils]: 7: Hoare triple {12766#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {12766#true} is VALID [2020-07-10 20:22:48,159 INFO L280 TraceCheckUtils]: 8: Hoare triple {12766#true} ~i~1 := 0; {12766#true} is VALID [2020-07-10 20:22:48,159 INFO L280 TraceCheckUtils]: 9: Hoare triple {12766#true} assume !!(~i~1 < 8); {12766#true} is VALID [2020-07-10 20:22:48,159 INFO L280 TraceCheckUtils]: 10: Hoare triple {12766#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {12766#true} is VALID [2020-07-10 20:22:48,160 INFO L280 TraceCheckUtils]: 11: Hoare triple {12766#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {12766#true} is VALID [2020-07-10 20:22:48,160 INFO L280 TraceCheckUtils]: 12: Hoare triple {12766#true} havoc #t~nondet21; {12766#true} is VALID [2020-07-10 20:22:48,160 INFO L280 TraceCheckUtils]: 13: Hoare triple {12766#true} #t~post20 := ~i~1; {12766#true} is VALID [2020-07-10 20:22:48,161 INFO L280 TraceCheckUtils]: 14: Hoare triple {12766#true} ~i~1 := 1 + #t~post20; {12766#true} is VALID [2020-07-10 20:22:48,161 INFO L280 TraceCheckUtils]: 15: Hoare triple {12766#true} havoc #t~post20; {12766#true} is VALID [2020-07-10 20:22:48,161 INFO L280 TraceCheckUtils]: 16: Hoare triple {12766#true} assume !!(~i~1 < 8); {12766#true} is VALID [2020-07-10 20:22:48,162 INFO L280 TraceCheckUtils]: 17: Hoare triple {12766#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {12766#true} is VALID [2020-07-10 20:22:48,162 INFO L280 TraceCheckUtils]: 18: Hoare triple {12766#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {12766#true} is VALID [2020-07-10 20:22:48,162 INFO L280 TraceCheckUtils]: 19: Hoare triple {12766#true} havoc #t~nondet21; {12766#true} is VALID [2020-07-10 20:22:48,163 INFO L280 TraceCheckUtils]: 20: Hoare triple {12766#true} #t~post20 := ~i~1; {12766#true} is VALID [2020-07-10 20:22:48,163 INFO L280 TraceCheckUtils]: 21: Hoare triple {12766#true} ~i~1 := 1 + #t~post20; {12766#true} is VALID [2020-07-10 20:22:48,163 INFO L280 TraceCheckUtils]: 22: Hoare triple {12766#true} havoc #t~post20; {12766#true} is VALID [2020-07-10 20:22:48,164 INFO L280 TraceCheckUtils]: 23: Hoare triple {12766#true} assume !!(~i~1 < 8); {12766#true} is VALID [2020-07-10 20:22:48,164 INFO L280 TraceCheckUtils]: 24: Hoare triple {12766#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {12766#true} is VALID [2020-07-10 20:22:48,164 INFO L280 TraceCheckUtils]: 25: Hoare triple {12766#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {12766#true} is VALID [2020-07-10 20:22:48,165 INFO L280 TraceCheckUtils]: 26: Hoare triple {12766#true} havoc #t~nondet21; {12766#true} is VALID [2020-07-10 20:22:48,165 INFO L280 TraceCheckUtils]: 27: Hoare triple {12766#true} #t~post20 := ~i~1; {12766#true} is VALID [2020-07-10 20:22:48,166 INFO L280 TraceCheckUtils]: 28: Hoare triple {12766#true} ~i~1 := 1 + #t~post20; {12766#true} is VALID [2020-07-10 20:22:48,166 INFO L280 TraceCheckUtils]: 29: Hoare triple {12766#true} havoc #t~post20; {12766#true} is VALID [2020-07-10 20:22:48,166 INFO L280 TraceCheckUtils]: 30: Hoare triple {12766#true} assume !!(~i~1 < 8); {12766#true} is VALID [2020-07-10 20:22:48,167 INFO L280 TraceCheckUtils]: 31: Hoare triple {12766#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {12766#true} is VALID [2020-07-10 20:22:48,167 INFO L280 TraceCheckUtils]: 32: Hoare triple {12766#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {12766#true} is VALID [2020-07-10 20:22:48,167 INFO L280 TraceCheckUtils]: 33: Hoare triple {12766#true} havoc #t~nondet21; {12766#true} is VALID [2020-07-10 20:22:48,168 INFO L280 TraceCheckUtils]: 34: Hoare triple {12766#true} #t~post20 := ~i~1; {12766#true} is VALID [2020-07-10 20:22:48,168 INFO L280 TraceCheckUtils]: 35: Hoare triple {12766#true} ~i~1 := 1 + #t~post20; {12766#true} is VALID [2020-07-10 20:22:48,168 INFO L280 TraceCheckUtils]: 36: Hoare triple {12766#true} havoc #t~post20; {12766#true} is VALID [2020-07-10 20:22:48,169 INFO L280 TraceCheckUtils]: 37: Hoare triple {12766#true} assume !!(~i~1 < 8); {12766#true} is VALID [2020-07-10 20:22:48,169 INFO L280 TraceCheckUtils]: 38: Hoare triple {12766#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {12766#true} is VALID [2020-07-10 20:22:48,169 INFO L280 TraceCheckUtils]: 39: Hoare triple {12766#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {12766#true} is VALID [2020-07-10 20:22:48,170 INFO L280 TraceCheckUtils]: 40: Hoare triple {12766#true} havoc #t~nondet21; {12766#true} is VALID [2020-07-10 20:22:48,170 INFO L280 TraceCheckUtils]: 41: Hoare triple {12766#true} #t~post20 := ~i~1; {12766#true} is VALID [2020-07-10 20:22:48,171 INFO L280 TraceCheckUtils]: 42: Hoare triple {12766#true} ~i~1 := 1 + #t~post20; {12766#true} is VALID [2020-07-10 20:22:48,171 INFO L280 TraceCheckUtils]: 43: Hoare triple {12766#true} havoc #t~post20; {12766#true} is VALID [2020-07-10 20:22:48,171 INFO L280 TraceCheckUtils]: 44: Hoare triple {12766#true} assume !!(~i~1 < 8); {12766#true} is VALID [2020-07-10 20:22:48,172 INFO L280 TraceCheckUtils]: 45: Hoare triple {12766#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {12766#true} is VALID [2020-07-10 20:22:48,172 INFO L280 TraceCheckUtils]: 46: Hoare triple {12766#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {12766#true} is VALID [2020-07-10 20:22:48,172 INFO L280 TraceCheckUtils]: 47: Hoare triple {12766#true} havoc #t~nondet21; {12766#true} is VALID [2020-07-10 20:22:48,173 INFO L280 TraceCheckUtils]: 48: Hoare triple {12766#true} #t~post20 := ~i~1; {12766#true} is VALID [2020-07-10 20:22:48,173 INFO L280 TraceCheckUtils]: 49: Hoare triple {12766#true} ~i~1 := 1 + #t~post20; {12766#true} is VALID [2020-07-10 20:22:48,173 INFO L280 TraceCheckUtils]: 50: Hoare triple {12766#true} havoc #t~post20; {12766#true} is VALID [2020-07-10 20:22:48,174 INFO L280 TraceCheckUtils]: 51: Hoare triple {12766#true} assume !!(~i~1 < 8); {12766#true} is VALID [2020-07-10 20:22:48,174 INFO L280 TraceCheckUtils]: 52: Hoare triple {12766#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {12766#true} is VALID [2020-07-10 20:22:48,174 INFO L280 TraceCheckUtils]: 53: Hoare triple {12766#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {12766#true} is VALID [2020-07-10 20:22:48,175 INFO L280 TraceCheckUtils]: 54: Hoare triple {12766#true} havoc #t~nondet21; {12766#true} is VALID [2020-07-10 20:22:48,175 INFO L280 TraceCheckUtils]: 55: Hoare triple {12766#true} #t~post20 := ~i~1; {12766#true} is VALID [2020-07-10 20:22:48,176 INFO L280 TraceCheckUtils]: 56: Hoare triple {12766#true} ~i~1 := 1 + #t~post20; {12766#true} is VALID [2020-07-10 20:22:48,176 INFO L280 TraceCheckUtils]: 57: Hoare triple {12766#true} havoc #t~post20; {12766#true} is VALID [2020-07-10 20:22:48,176 INFO L280 TraceCheckUtils]: 58: Hoare triple {12766#true} assume !!(~i~1 < 8); {12766#true} is VALID [2020-07-10 20:22:48,177 INFO L280 TraceCheckUtils]: 59: Hoare triple {12766#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {12766#true} is VALID [2020-07-10 20:22:48,177 INFO L280 TraceCheckUtils]: 60: Hoare triple {12766#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {12766#true} is VALID [2020-07-10 20:22:48,177 INFO L280 TraceCheckUtils]: 61: Hoare triple {12766#true} havoc #t~nondet21; {12766#true} is VALID [2020-07-10 20:22:48,178 INFO L280 TraceCheckUtils]: 62: Hoare triple {12766#true} #t~post20 := ~i~1; {12766#true} is VALID [2020-07-10 20:22:48,178 INFO L280 TraceCheckUtils]: 63: Hoare triple {12766#true} ~i~1 := 1 + #t~post20; {12766#true} is VALID [2020-07-10 20:22:48,178 INFO L280 TraceCheckUtils]: 64: Hoare triple {12766#true} havoc #t~post20; {12766#true} is VALID [2020-07-10 20:22:48,179 INFO L280 TraceCheckUtils]: 65: Hoare triple {12766#true} assume !(~i~1 < 8); {12766#true} is VALID [2020-07-10 20:22:48,179 INFO L280 TraceCheckUtils]: 66: Hoare triple {12766#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L79-6 {12766#true} is VALID [2020-07-10 20:22:48,179 INFO L263 TraceCheckUtils]: 67: Hoare triple {12766#true} call #t~ret22 := parse_expression_list(~#A~0.base, ~#A~0.offset); {12766#true} is VALID [2020-07-10 20:22:48,180 INFO L280 TraceCheckUtils]: 68: Hoare triple {12766#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {12766#true} is VALID [2020-07-10 20:22:48,180 INFO L280 TraceCheckUtils]: 69: Hoare triple {12766#true} ~start~0 := 0; {12766#true} is VALID [2020-07-10 20:22:48,180 INFO L280 TraceCheckUtils]: 70: Hoare triple {12766#true} ~i~0 := -1; {12766#true} is VALID [2020-07-10 20:22:48,181 INFO L280 TraceCheckUtils]: 71: Hoare triple {12766#true} ~j~0 := -1; {12766#true} is VALID [2020-07-10 20:22:48,181 INFO L280 TraceCheckUtils]: 72: Hoare triple {12766#true} SUMMARY for call ~#str2~0.base, ~#str2~0.offset := #Ultimate.allocOnStack(2); srcloc: L50 {12766#true} is VALID [2020-07-10 20:22:48,182 INFO L280 TraceCheckUtils]: 73: Hoare triple {12766#true} assume !(~str.base == 0 && ~str.offset == 0); {12766#true} is VALID [2020-07-10 20:22:48,182 INFO L280 TraceCheckUtils]: 74: Hoare triple {12766#true} #t~post2 := ~i~0; {12766#true} is VALID [2020-07-10 20:22:48,182 INFO L280 TraceCheckUtils]: 75: Hoare triple {12766#true} ~i~0 := 1 + #t~post2; {12766#true} is VALID [2020-07-10 20:22:48,183 INFO L280 TraceCheckUtils]: 76: Hoare triple {12766#true} havoc #t~post2; {12766#true} is VALID [2020-07-10 20:22:48,183 INFO L280 TraceCheckUtils]: 77: Hoare triple {12766#true} SUMMARY for call #t~mem3 := read~int(~str.base, ~str.offset + ~i~0, 1); srcloc: L54 {12766#true} is VALID [2020-07-10 20:22:48,183 INFO L280 TraceCheckUtils]: 78: Hoare triple {12766#true} #t~switch4 := 0 == #t~mem3; {12766#true} is VALID [2020-07-10 20:22:48,184 INFO L280 TraceCheckUtils]: 79: Hoare triple {12766#true} assume #t~switch4; {12766#true} is VALID [2020-07-10 20:22:48,184 INFO L280 TraceCheckUtils]: 80: Hoare triple {12766#true} SUMMARY for call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-17 {12766#true} is VALID [2020-07-10 20:22:48,184 INFO L280 TraceCheckUtils]: 81: Hoare triple {12766#true} #t~short7 := 32 == #t~mem5; {12766#true} is VALID [2020-07-10 20:22:48,185 INFO L280 TraceCheckUtils]: 82: Hoare triple {12766#true} assume !#t~short7; {12766#true} is VALID [2020-07-10 20:22:48,185 INFO L280 TraceCheckUtils]: 83: Hoare triple {12766#true} SUMMARY for call #t~mem6 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-4 {12766#true} is VALID [2020-07-10 20:22:48,185 INFO L280 TraceCheckUtils]: 84: Hoare triple {12766#true} #t~short7 := 9 == #t~mem6; {12766#true} is VALID [2020-07-10 20:22:48,186 INFO L280 TraceCheckUtils]: 85: Hoare triple {12766#true} assume !#t~short7; {12766#true} is VALID [2020-07-10 20:22:48,186 INFO L280 TraceCheckUtils]: 86: Hoare triple {12766#true} havoc #t~mem5; {12766#true} is VALID [2020-07-10 20:22:48,186 INFO L280 TraceCheckUtils]: 87: Hoare triple {12766#true} havoc #t~mem6; {12766#true} is VALID [2020-07-10 20:22:48,186 INFO L280 TraceCheckUtils]: 88: Hoare triple {12766#true} havoc #t~short7; {12766#true} is VALID [2020-07-10 20:22:48,187 INFO L280 TraceCheckUtils]: 89: Hoare triple {12766#true} SUMMARY for call #t~mem9 := read~int(~str.base, ~str.offset + ~start~0, 1); srcloc: L56-18 {12766#true} is VALID [2020-07-10 20:22:48,187 INFO L280 TraceCheckUtils]: 90: Hoare triple {12766#true} assume !(34 == #t~mem9); {12766#true} is VALID [2020-07-10 20:22:48,187 INFO L280 TraceCheckUtils]: 91: Hoare triple {12766#true} havoc #t~mem9; {12766#true} is VALID [2020-07-10 20:22:48,187 INFO L280 TraceCheckUtils]: 92: Hoare triple {12766#true} ~j~0 := ~i~0 - 1; {12766#true} is VALID [2020-07-10 20:22:48,188 INFO L280 TraceCheckUtils]: 93: Hoare triple {12766#true} #t~short14 := 0 < ~j~0; {12766#true} is VALID [2020-07-10 20:22:48,188 INFO L280 TraceCheckUtils]: 94: Hoare triple {12766#true} assume !#t~short14; {12766#true} is VALID [2020-07-10 20:22:48,188 INFO L280 TraceCheckUtils]: 95: Hoare triple {12766#true} assume !#t~short14; {12766#true} is VALID [2020-07-10 20:22:48,188 INFO L280 TraceCheckUtils]: 96: Hoare triple {12766#true} havoc #t~mem12; {12766#true} is VALID [2020-07-10 20:22:48,188 INFO L280 TraceCheckUtils]: 97: Hoare triple {12766#true} havoc #t~short13; {12766#true} is VALID [2020-07-10 20:22:48,189 INFO L280 TraceCheckUtils]: 98: Hoare triple {12766#true} havoc #t~short14; {12766#true} is VALID [2020-07-10 20:22:48,189 INFO L280 TraceCheckUtils]: 99: Hoare triple {12766#true} havoc #t~mem11; {12766#true} is VALID [2020-07-10 20:22:48,189 INFO L280 TraceCheckUtils]: 100: Hoare triple {12766#true} #t~short17 := 0 < ~j~0; {12766#true} is VALID [2020-07-10 20:22:48,190 INFO L280 TraceCheckUtils]: 101: Hoare triple {12766#true} assume !#t~short17; {12773#(not |parse_expression_list_#t~short17|)} is VALID [2020-07-10 20:22:48,190 INFO L280 TraceCheckUtils]: 102: Hoare triple {12773#(not |parse_expression_list_#t~short17|)} assume #t~short17; {12767#false} is VALID [2020-07-10 20:22:48,191 INFO L280 TraceCheckUtils]: 103: Hoare triple {12767#false} havoc #t~mem16; {12767#false} is VALID [2020-07-10 20:22:48,191 INFO L280 TraceCheckUtils]: 104: Hoare triple {12767#false} havoc #t~short17; {12767#false} is VALID [2020-07-10 20:22:48,191 INFO L280 TraceCheckUtils]: 105: Hoare triple {12767#false} #t~post18 := ~j~0; {12767#false} is VALID [2020-07-10 20:22:48,191 INFO L280 TraceCheckUtils]: 106: Hoare triple {12767#false} ~j~0 := #t~post18 - 1; {12767#false} is VALID [2020-07-10 20:22:48,192 INFO L280 TraceCheckUtils]: 107: Hoare triple {12767#false} havoc #t~post18; {12767#false} is VALID [2020-07-10 20:22:48,192 INFO L280 TraceCheckUtils]: 108: Hoare triple {12767#false} assume ~start~0 <= ~j~0; {12767#false} is VALID [2020-07-10 20:22:48,192 INFO L280 TraceCheckUtils]: 109: Hoare triple {12767#false} assume !(1 + (~j~0 - ~start~0) >= 2); {12767#false} is VALID [2020-07-10 20:22:48,192 INFO L263 TraceCheckUtils]: 110: Hoare triple {12767#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)); {12766#true} is VALID [2020-07-10 20:22:48,192 INFO L280 TraceCheckUtils]: 111: Hoare triple {12766#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {12766#true} is VALID [2020-07-10 20:22:48,193 INFO L280 TraceCheckUtils]: 112: Hoare triple {12766#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {12766#true} is VALID [2020-07-10 20:22:48,193 INFO L280 TraceCheckUtils]: 113: Hoare triple {12766#true} ~n := #in~n; {12766#true} is VALID [2020-07-10 20:22:48,193 INFO L280 TraceCheckUtils]: 114: Hoare triple {12766#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {12766#true} is VALID [2020-07-10 20:22:48,193 INFO L280 TraceCheckUtils]: 115: Hoare triple {12766#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {12766#true} is VALID [2020-07-10 20:22:48,193 INFO L280 TraceCheckUtils]: 116: Hoare triple {12766#true} havoc #t~ret0.base, #t~ret0.offset; {12766#true} is VALID [2020-07-10 20:22:48,194 INFO L280 TraceCheckUtils]: 117: Hoare triple {12766#true} assume true; {12766#true} is VALID [2020-07-10 20:22:48,194 INFO L275 TraceCheckUtils]: 118: Hoare quadruple {12766#true} {12767#false} #227#return; {12767#false} is VALID [2020-07-10 20:22:48,194 INFO L280 TraceCheckUtils]: 119: Hoare triple {12767#false} havoc #t~ret19.base, #t~ret19.offset; {12767#false} is VALID [2020-07-10 20:22:48,195 INFO L263 TraceCheckUtils]: 120: Hoare triple {12767#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {12767#false} is VALID [2020-07-10 20:22:48,195 INFO L280 TraceCheckUtils]: 121: Hoare triple {12767#false} ~cond := #in~cond; {12767#false} is VALID [2020-07-10 20:22:48,195 INFO L280 TraceCheckUtils]: 122: Hoare triple {12767#false} assume 0 == ~cond; {12767#false} is VALID [2020-07-10 20:22:48,196 INFO L280 TraceCheckUtils]: 123: Hoare triple {12767#false} assume !false; {12767#false} is VALID [2020-07-10 20:22:48,214 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,214 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:48,215 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1786643794] [2020-07-10 20:22:48,215 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:48,215 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-10 20:22:48,215 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1116538801] [2020-07-10 20:22:48,216 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 124 [2020-07-10 20:22:48,217 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:48,217 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-10 20:22:48,326 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:48,327 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-10 20:22:48,327 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:48,327 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-10 20:22:48,328 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 20:22:48,328 INFO L87 Difference]: Start difference. First operand 199 states and 217 transitions. Second operand 4 states. [2020-07-10 20:22:49,024 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:49,024 INFO L93 Difference]: Finished difference Result 289 states and 317 transitions. [2020-07-10 20:22:49,024 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-10 20:22:49,024 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 124 [2020-07-10 20:22:49,025 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:49,025 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 20:22:49,028 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 219 transitions. [2020-07-10 20:22:49,029 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 20:22:49,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 219 transitions. [2020-07-10 20:22:49,031 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 219 transitions. [2020-07-10 20:22:49,225 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 219 edges. 219 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:49,229 INFO L225 Difference]: With dead ends: 289 [2020-07-10 20:22:49,229 INFO L226 Difference]: Without dead ends: 200 [2020-07-10 20:22:49,230 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:49,231 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 200 states. [2020-07-10 20:22:49,407 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 200 to 200. [2020-07-10 20:22:49,408 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:49,408 INFO L82 GeneralOperation]: Start isEquivalent. First operand 200 states. Second operand 200 states. [2020-07-10 20:22:49,408 INFO L74 IsIncluded]: Start isIncluded. First operand 200 states. Second operand 200 states. [2020-07-10 20:22:49,408 INFO L87 Difference]: Start difference. First operand 200 states. Second operand 200 states. [2020-07-10 20:22:49,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:49,415 INFO L93 Difference]: Finished difference Result 200 states and 217 transitions. [2020-07-10 20:22:49,415 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 217 transitions. [2020-07-10 20:22:49,415 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:49,416 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:49,416 INFO L74 IsIncluded]: Start isIncluded. First operand 200 states. Second operand 200 states. [2020-07-10 20:22:49,416 INFO L87 Difference]: Start difference. First operand 200 states. Second operand 200 states. [2020-07-10 20:22:49,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:49,421 INFO L93 Difference]: Finished difference Result 200 states and 217 transitions. [2020-07-10 20:22:49,421 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 217 transitions. [2020-07-10 20:22:49,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:49,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:49,422 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:49,422 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:49,422 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 200 states. [2020-07-10 20:22:49,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 200 states to 200 states and 217 transitions. [2020-07-10 20:22:49,426 INFO L78 Accepts]: Start accepts. Automaton has 200 states and 217 transitions. Word has length 124 [2020-07-10 20:22:49,427 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:49,427 INFO L479 AbstractCegarLoop]: Abstraction has 200 states and 217 transitions. [2020-07-10 20:22:49,427 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-10 20:22:49,427 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 200 states and 217 transitions. [2020-07-10 20:22:49,643 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 217 edges. 217 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:49,644 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 217 transitions. [2020-07-10 20:22:49,645 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 125 [2020-07-10 20:22:49,645 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:49,646 INFO L422 BasicCegarLoop]: trace histogram [8, 8, 8, 8, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:49,646 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2020-07-10 20:22:49,646 INFO L427 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:49,646 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:49,647 INFO L82 PathProgramCache]: Analyzing trace with hash 1684557317, now seen corresponding path program 1 times [2020-07-10 20:22:49,647 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:49,647 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [63314440] [2020-07-10 20:22:49,647 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:49,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:49,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:49,836 INFO L280 TraceCheckUtils]: 0: Hoare triple {14185#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {14163#true} is VALID [2020-07-10 20:22:49,836 INFO L280 TraceCheckUtils]: 1: Hoare triple {14163#true} #valid := #valid[0 := 0]; {14163#true} is VALID [2020-07-10 20:22:49,837 INFO L280 TraceCheckUtils]: 2: Hoare triple {14163#true} assume 0 < #StackHeapBarrier; {14163#true} is VALID [2020-07-10 20:22:49,837 INFO L280 TraceCheckUtils]: 3: Hoare triple {14163#true} assume true; {14163#true} is VALID [2020-07-10 20:22:49,837 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {14163#true} {14163#true} #231#return; {14163#true} is VALID [2020-07-10 20:22:49,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:49,845 INFO L280 TraceCheckUtils]: 0: Hoare triple {14163#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {14163#true} is VALID [2020-07-10 20:22:49,845 INFO L280 TraceCheckUtils]: 1: Hoare triple {14163#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {14163#true} is VALID [2020-07-10 20:22:49,845 INFO L280 TraceCheckUtils]: 2: Hoare triple {14163#true} ~n := #in~n; {14163#true} is VALID [2020-07-10 20:22:49,845 INFO L280 TraceCheckUtils]: 3: Hoare triple {14163#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {14163#true} is VALID [2020-07-10 20:22:49,846 INFO L280 TraceCheckUtils]: 4: Hoare triple {14163#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {14163#true} is VALID [2020-07-10 20:22:49,846 INFO L280 TraceCheckUtils]: 5: Hoare triple {14163#true} havoc #t~ret0.base, #t~ret0.offset; {14163#true} is VALID [2020-07-10 20:22:49,846 INFO L280 TraceCheckUtils]: 6: Hoare triple {14163#true} assume true; {14163#true} is VALID [2020-07-10 20:22:49,846 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {14163#true} {14164#false} #227#return; {14164#false} is VALID [2020-07-10 20:22:49,848 INFO L263 TraceCheckUtils]: 0: Hoare triple {14163#true} call ULTIMATE.init(); {14185#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:22:49,849 INFO L280 TraceCheckUtils]: 1: Hoare triple {14185#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {14163#true} is VALID [2020-07-10 20:22:49,849 INFO L280 TraceCheckUtils]: 2: Hoare triple {14163#true} #valid := #valid[0 := 0]; {14163#true} is VALID [2020-07-10 20:22:49,849 INFO L280 TraceCheckUtils]: 3: Hoare triple {14163#true} assume 0 < #StackHeapBarrier; {14163#true} is VALID [2020-07-10 20:22:49,849 INFO L280 TraceCheckUtils]: 4: Hoare triple {14163#true} assume true; {14163#true} is VALID [2020-07-10 20:22:49,850 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {14163#true} {14163#true} #231#return; {14163#true} is VALID [2020-07-10 20:22:49,850 INFO L263 TraceCheckUtils]: 6: Hoare triple {14163#true} call #t~ret23 := main(); {14163#true} is VALID [2020-07-10 20:22:49,850 INFO L280 TraceCheckUtils]: 7: Hoare triple {14163#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {14163#true} is VALID [2020-07-10 20:22:49,850 INFO L280 TraceCheckUtils]: 8: Hoare triple {14163#true} ~i~1 := 0; {14163#true} is VALID [2020-07-10 20:22:49,851 INFO L280 TraceCheckUtils]: 9: Hoare triple {14163#true} assume !!(~i~1 < 8); {14163#true} is VALID [2020-07-10 20:22:49,851 INFO L280 TraceCheckUtils]: 10: Hoare triple {14163#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {14163#true} is VALID [2020-07-10 20:22:49,851 INFO L280 TraceCheckUtils]: 11: Hoare triple {14163#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {14163#true} is VALID [2020-07-10 20:22:49,851 INFO L280 TraceCheckUtils]: 12: Hoare triple {14163#true} havoc #t~nondet21; {14163#true} is VALID [2020-07-10 20:22:49,851 INFO L280 TraceCheckUtils]: 13: Hoare triple {14163#true} #t~post20 := ~i~1; {14163#true} is VALID [2020-07-10 20:22:49,852 INFO L280 TraceCheckUtils]: 14: Hoare triple {14163#true} ~i~1 := 1 + #t~post20; {14163#true} is VALID [2020-07-10 20:22:49,852 INFO L280 TraceCheckUtils]: 15: Hoare triple {14163#true} havoc #t~post20; {14163#true} is VALID [2020-07-10 20:22:49,852 INFO L280 TraceCheckUtils]: 16: Hoare triple {14163#true} assume !!(~i~1 < 8); {14163#true} is VALID [2020-07-10 20:22:49,852 INFO L280 TraceCheckUtils]: 17: Hoare triple {14163#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {14163#true} is VALID [2020-07-10 20:22:49,852 INFO L280 TraceCheckUtils]: 18: Hoare triple {14163#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {14163#true} is VALID [2020-07-10 20:22:49,853 INFO L280 TraceCheckUtils]: 19: Hoare triple {14163#true} havoc #t~nondet21; {14163#true} is VALID [2020-07-10 20:22:49,853 INFO L280 TraceCheckUtils]: 20: Hoare triple {14163#true} #t~post20 := ~i~1; {14163#true} is VALID [2020-07-10 20:22:49,853 INFO L280 TraceCheckUtils]: 21: Hoare triple {14163#true} ~i~1 := 1 + #t~post20; {14163#true} is VALID [2020-07-10 20:22:49,853 INFO L280 TraceCheckUtils]: 22: Hoare triple {14163#true} havoc #t~post20; {14163#true} is VALID [2020-07-10 20:22:49,854 INFO L280 TraceCheckUtils]: 23: Hoare triple {14163#true} assume !!(~i~1 < 8); {14163#true} is VALID [2020-07-10 20:22:49,854 INFO L280 TraceCheckUtils]: 24: Hoare triple {14163#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {14163#true} is VALID [2020-07-10 20:22:49,855 INFO L280 TraceCheckUtils]: 25: Hoare triple {14163#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {14163#true} is VALID [2020-07-10 20:22:49,855 INFO L280 TraceCheckUtils]: 26: Hoare triple {14163#true} havoc #t~nondet21; {14163#true} is VALID [2020-07-10 20:22:49,855 INFO L280 TraceCheckUtils]: 27: Hoare triple {14163#true} #t~post20 := ~i~1; {14163#true} is VALID [2020-07-10 20:22:49,856 INFO L280 TraceCheckUtils]: 28: Hoare triple {14163#true} ~i~1 := 1 + #t~post20; {14163#true} is VALID [2020-07-10 20:22:49,856 INFO L280 TraceCheckUtils]: 29: Hoare triple {14163#true} havoc #t~post20; {14163#true} is VALID [2020-07-10 20:22:49,856 INFO L280 TraceCheckUtils]: 30: Hoare triple {14163#true} assume !!(~i~1 < 8); {14163#true} is VALID [2020-07-10 20:22:49,857 INFO L280 TraceCheckUtils]: 31: Hoare triple {14163#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {14163#true} is VALID [2020-07-10 20:22:49,857 INFO L280 TraceCheckUtils]: 32: Hoare triple {14163#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {14163#true} is VALID [2020-07-10 20:22:49,857 INFO L280 TraceCheckUtils]: 33: Hoare triple {14163#true} havoc #t~nondet21; {14163#true} is VALID [2020-07-10 20:22:49,858 INFO L280 TraceCheckUtils]: 34: Hoare triple {14163#true} #t~post20 := ~i~1; {14163#true} is VALID [2020-07-10 20:22:49,858 INFO L280 TraceCheckUtils]: 35: Hoare triple {14163#true} ~i~1 := 1 + #t~post20; {14163#true} is VALID [2020-07-10 20:22:49,858 INFO L280 TraceCheckUtils]: 36: Hoare triple {14163#true} havoc #t~post20; {14163#true} is VALID [2020-07-10 20:22:49,859 INFO L280 TraceCheckUtils]: 37: Hoare triple {14163#true} assume !!(~i~1 < 8); {14163#true} is VALID [2020-07-10 20:22:49,859 INFO L280 TraceCheckUtils]: 38: Hoare triple {14163#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {14163#true} is VALID [2020-07-10 20:22:49,860 INFO L280 TraceCheckUtils]: 39: Hoare triple {14163#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {14163#true} is VALID [2020-07-10 20:22:49,860 INFO L280 TraceCheckUtils]: 40: Hoare triple {14163#true} havoc #t~nondet21; {14163#true} is VALID [2020-07-10 20:22:49,860 INFO L280 TraceCheckUtils]: 41: Hoare triple {14163#true} #t~post20 := ~i~1; {14163#true} is VALID [2020-07-10 20:22:49,861 INFO L280 TraceCheckUtils]: 42: Hoare triple {14163#true} ~i~1 := 1 + #t~post20; {14163#true} is VALID [2020-07-10 20:22:49,861 INFO L280 TraceCheckUtils]: 43: Hoare triple {14163#true} havoc #t~post20; {14163#true} is VALID [2020-07-10 20:22:49,861 INFO L280 TraceCheckUtils]: 44: Hoare triple {14163#true} assume !!(~i~1 < 8); {14163#true} is VALID [2020-07-10 20:22:49,862 INFO L280 TraceCheckUtils]: 45: Hoare triple {14163#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {14163#true} is VALID [2020-07-10 20:22:49,862 INFO L280 TraceCheckUtils]: 46: Hoare triple {14163#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {14163#true} is VALID [2020-07-10 20:22:49,862 INFO L280 TraceCheckUtils]: 47: Hoare triple {14163#true} havoc #t~nondet21; {14163#true} is VALID [2020-07-10 20:22:49,863 INFO L280 TraceCheckUtils]: 48: Hoare triple {14163#true} #t~post20 := ~i~1; {14163#true} is VALID [2020-07-10 20:22:49,863 INFO L280 TraceCheckUtils]: 49: Hoare triple {14163#true} ~i~1 := 1 + #t~post20; {14163#true} is VALID [2020-07-10 20:22:49,864 INFO L280 TraceCheckUtils]: 50: Hoare triple {14163#true} havoc #t~post20; {14163#true} is VALID [2020-07-10 20:22:49,864 INFO L280 TraceCheckUtils]: 51: Hoare triple {14163#true} assume !!(~i~1 < 8); {14163#true} is VALID [2020-07-10 20:22:49,864 INFO L280 TraceCheckUtils]: 52: Hoare triple {14163#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {14163#true} is VALID [2020-07-10 20:22:49,865 INFO L280 TraceCheckUtils]: 53: Hoare triple {14163#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {14163#true} is VALID [2020-07-10 20:22:49,865 INFO L280 TraceCheckUtils]: 54: Hoare triple {14163#true} havoc #t~nondet21; {14163#true} is VALID [2020-07-10 20:22:49,865 INFO L280 TraceCheckUtils]: 55: Hoare triple {14163#true} #t~post20 := ~i~1; {14163#true} is VALID [2020-07-10 20:22:49,866 INFO L280 TraceCheckUtils]: 56: Hoare triple {14163#true} ~i~1 := 1 + #t~post20; {14163#true} is VALID [2020-07-10 20:22:49,866 INFO L280 TraceCheckUtils]: 57: Hoare triple {14163#true} havoc #t~post20; {14163#true} is VALID [2020-07-10 20:22:49,866 INFO L280 TraceCheckUtils]: 58: Hoare triple {14163#true} assume !!(~i~1 < 8); {14163#true} is VALID [2020-07-10 20:22:49,867 INFO L280 TraceCheckUtils]: 59: Hoare triple {14163#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {14163#true} is VALID [2020-07-10 20:22:49,867 INFO L280 TraceCheckUtils]: 60: Hoare triple {14163#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {14163#true} is VALID [2020-07-10 20:22:49,867 INFO L280 TraceCheckUtils]: 61: Hoare triple {14163#true} havoc #t~nondet21; {14163#true} is VALID [2020-07-10 20:22:49,868 INFO L280 TraceCheckUtils]: 62: Hoare triple {14163#true} #t~post20 := ~i~1; {14163#true} is VALID [2020-07-10 20:22:49,868 INFO L280 TraceCheckUtils]: 63: Hoare triple {14163#true} ~i~1 := 1 + #t~post20; {14163#true} is VALID [2020-07-10 20:22:49,869 INFO L280 TraceCheckUtils]: 64: Hoare triple {14163#true} havoc #t~post20; {14163#true} is VALID [2020-07-10 20:22:49,869 INFO L280 TraceCheckUtils]: 65: Hoare triple {14163#true} assume !(~i~1 < 8); {14163#true} is VALID [2020-07-10 20:22:49,869 INFO L280 TraceCheckUtils]: 66: Hoare triple {14163#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L79-6 {14163#true} is VALID [2020-07-10 20:22:49,870 INFO L263 TraceCheckUtils]: 67: Hoare triple {14163#true} call #t~ret22 := parse_expression_list(~#A~0.base, ~#A~0.offset); {14163#true} is VALID [2020-07-10 20:22:49,870 INFO L280 TraceCheckUtils]: 68: Hoare triple {14163#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {14163#true} is VALID [2020-07-10 20:22:49,873 INFO L280 TraceCheckUtils]: 69: Hoare triple {14163#true} ~start~0 := 0; {14170#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:49,875 INFO L280 TraceCheckUtils]: 70: Hoare triple {14170#(= 0 parse_expression_list_~start~0)} ~i~0 := -1; {14171#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-10 20:22:49,876 INFO L280 TraceCheckUtils]: 71: Hoare triple {14171#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} ~j~0 := -1; {14171#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-10 20:22:49,877 INFO L280 TraceCheckUtils]: 72: Hoare triple {14171#(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: L50 {14171#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-10 20:22:49,878 INFO L280 TraceCheckUtils]: 73: Hoare triple {14171#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} assume !(~str.base == 0 && ~str.offset == 0); {14171#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-10 20:22:49,879 INFO L280 TraceCheckUtils]: 74: Hoare triple {14171#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} #t~post2 := ~i~0; {14172#(and (<= (+ |parse_expression_list_#t~post2| 1) 0) (= 0 parse_expression_list_~start~0))} is VALID [2020-07-10 20:22:49,881 INFO L280 TraceCheckUtils]: 75: Hoare triple {14172#(and (<= (+ |parse_expression_list_#t~post2| 1) 0) (= 0 parse_expression_list_~start~0))} ~i~0 := 1 + #t~post2; {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:49,882 INFO L280 TraceCheckUtils]: 76: Hoare triple {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~post2; {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:49,883 INFO L280 TraceCheckUtils]: 77: Hoare triple {14173#(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: L54 {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:49,884 INFO L280 TraceCheckUtils]: 78: Hoare triple {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~switch4 := 0 == #t~mem3; {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:49,885 INFO L280 TraceCheckUtils]: 79: Hoare triple {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume #t~switch4; {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:49,887 INFO L280 TraceCheckUtils]: 80: Hoare triple {14173#(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: L56-17 {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:49,888 INFO L280 TraceCheckUtils]: 81: Hoare triple {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~short7 := 32 == #t~mem5; {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:49,889 INFO L280 TraceCheckUtils]: 82: Hoare triple {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume !#t~short7; {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:49,890 INFO L280 TraceCheckUtils]: 83: Hoare triple {14173#(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: L56-4 {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:49,891 INFO L280 TraceCheckUtils]: 84: Hoare triple {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~short7 := 9 == #t~mem6; {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:49,892 INFO L280 TraceCheckUtils]: 85: Hoare triple {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume !#t~short7; {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:49,893 INFO L280 TraceCheckUtils]: 86: Hoare triple {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem5; {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:49,894 INFO L280 TraceCheckUtils]: 87: Hoare triple {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem6; {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:49,896 INFO L280 TraceCheckUtils]: 88: Hoare triple {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~short7; {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:49,897 INFO L280 TraceCheckUtils]: 89: Hoare triple {14173#(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: L56-18 {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:49,898 INFO L280 TraceCheckUtils]: 90: Hoare triple {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume 34 == #t~mem9; {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:49,899 INFO L280 TraceCheckUtils]: 91: Hoare triple {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem9; {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:49,900 INFO L280 TraceCheckUtils]: 92: Hoare triple {14173#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~post10 := ~start~0; {14174#(and (= 0 |parse_expression_list_#t~post10|) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:49,901 INFO L280 TraceCheckUtils]: 93: Hoare triple {14174#(and (= 0 |parse_expression_list_#t~post10|) (<= parse_expression_list_~i~0 0))} ~start~0 := 1 + #t~post10; {14175#(<= (+ parse_expression_list_~i~0 1) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:49,902 INFO L280 TraceCheckUtils]: 94: Hoare triple {14175#(<= (+ parse_expression_list_~i~0 1) parse_expression_list_~start~0)} havoc #t~post10; {14175#(<= (+ parse_expression_list_~i~0 1) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:49,904 INFO L280 TraceCheckUtils]: 95: Hoare triple {14175#(<= (+ parse_expression_list_~i~0 1) parse_expression_list_~start~0)} ~j~0 := ~i~0 - 1; {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:49,905 INFO L280 TraceCheckUtils]: 96: Hoare triple {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #t~short14 := 0 < ~j~0; {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:49,906 INFO L280 TraceCheckUtils]: 97: Hoare triple {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short14; {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:49,907 INFO L280 TraceCheckUtils]: 98: Hoare triple {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short14; {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:49,907 INFO L280 TraceCheckUtils]: 99: Hoare triple {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem12; {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:49,908 INFO L280 TraceCheckUtils]: 100: Hoare triple {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short13; {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:49,909 INFO L280 TraceCheckUtils]: 101: Hoare triple {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short14; {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:49,910 INFO L280 TraceCheckUtils]: 102: Hoare triple {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem11; {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:49,911 INFO L280 TraceCheckUtils]: 103: Hoare triple {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #t~short17 := 0 < ~j~0; {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:49,912 INFO L280 TraceCheckUtils]: 104: Hoare triple {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short17; {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:49,913 INFO L280 TraceCheckUtils]: 105: Hoare triple {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short17; {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:49,914 INFO L280 TraceCheckUtils]: 106: Hoare triple {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem16; {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:49,915 INFO L280 TraceCheckUtils]: 107: Hoare triple {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short17; {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:49,916 INFO L280 TraceCheckUtils]: 108: Hoare triple {14176#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume ~start~0 <= ~j~0; {14164#false} is VALID [2020-07-10 20:22:49,916 INFO L280 TraceCheckUtils]: 109: Hoare triple {14164#false} assume !(1 + (~j~0 - ~start~0) >= 2); {14164#false} is VALID [2020-07-10 20:22:49,917 INFO L263 TraceCheckUtils]: 110: Hoare triple {14164#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)); {14163#true} is VALID [2020-07-10 20:22:49,917 INFO L280 TraceCheckUtils]: 111: Hoare triple {14163#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {14163#true} is VALID [2020-07-10 20:22:49,918 INFO L280 TraceCheckUtils]: 112: Hoare triple {14163#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {14163#true} is VALID [2020-07-10 20:22:49,918 INFO L280 TraceCheckUtils]: 113: Hoare triple {14163#true} ~n := #in~n; {14163#true} is VALID [2020-07-10 20:22:49,918 INFO L280 TraceCheckUtils]: 114: Hoare triple {14163#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {14163#true} is VALID [2020-07-10 20:22:49,919 INFO L280 TraceCheckUtils]: 115: Hoare triple {14163#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {14163#true} is VALID [2020-07-10 20:22:49,919 INFO L280 TraceCheckUtils]: 116: Hoare triple {14163#true} havoc #t~ret0.base, #t~ret0.offset; {14163#true} is VALID [2020-07-10 20:22:49,919 INFO L280 TraceCheckUtils]: 117: Hoare triple {14163#true} assume true; {14163#true} is VALID [2020-07-10 20:22:49,920 INFO L275 TraceCheckUtils]: 118: Hoare quadruple {14163#true} {14164#false} #227#return; {14164#false} is VALID [2020-07-10 20:22:49,920 INFO L280 TraceCheckUtils]: 119: Hoare triple {14164#false} havoc #t~ret19.base, #t~ret19.offset; {14164#false} is VALID [2020-07-10 20:22:49,920 INFO L263 TraceCheckUtils]: 120: Hoare triple {14164#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {14164#false} is VALID [2020-07-10 20:22:49,921 INFO L280 TraceCheckUtils]: 121: Hoare triple {14164#false} ~cond := #in~cond; {14164#false} is VALID [2020-07-10 20:22:49,921 INFO L280 TraceCheckUtils]: 122: Hoare triple {14164#false} assume 0 == ~cond; {14164#false} is VALID [2020-07-10 20:22:49,921 INFO L280 TraceCheckUtils]: 123: Hoare triple {14164#false} assume !false; {14164#false} is VALID [2020-07-10 20:22:49,953 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:49,953 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:49,954 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [63314440] [2020-07-10 20:22:49,954 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:49,954 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2020-07-10 20:22:49,954 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [980011126] [2020-07-10 20:22:49,955 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 124 [2020-07-10 20:22:49,956 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:49,956 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-10 20:22:50,070 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,070 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-10 20:22:50,070 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:50,071 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-10 20:22:50,071 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2020-07-10 20:22:50,071 INFO L87 Difference]: Start difference. First operand 200 states and 217 transitions. Second operand 10 states. [2020-07-10 20:22:52,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:52,632 INFO L93 Difference]: Finished difference Result 499 states and 555 transitions. [2020-07-10 20:22:52,632 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-10 20:22:52,632 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 124 [2020-07-10 20:22:52,632 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:52,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-10 20:22:52,636 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 474 transitions. [2020-07-10 20:22:52,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-10 20:22:52,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 474 transitions. [2020-07-10 20:22:52,641 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 474 transitions. [2020-07-10 20:22:53,159 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 474 edges. 474 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:53,174 INFO L225 Difference]: With dead ends: 499 [2020-07-10 20:22:53,174 INFO L226 Difference]: Without dead ends: 406 [2020-07-10 20:22:53,176 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=60, Invalid=212, Unknown=0, NotChecked=0, Total=272 [2020-07-10 20:22:53,177 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 406 states. [2020-07-10 20:22:53,367 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 406 to 204. [2020-07-10 20:22:53,367 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:53,367 INFO L82 GeneralOperation]: Start isEquivalent. First operand 406 states. Second operand 204 states. [2020-07-10 20:22:53,368 INFO L74 IsIncluded]: Start isIncluded. First operand 406 states. Second operand 204 states. [2020-07-10 20:22:53,368 INFO L87 Difference]: Start difference. First operand 406 states. Second operand 204 states. [2020-07-10 20:22:53,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:53,380 INFO L93 Difference]: Finished difference Result 406 states and 451 transitions. [2020-07-10 20:22:53,380 INFO L276 IsEmpty]: Start isEmpty. Operand 406 states and 451 transitions. [2020-07-10 20:22:53,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:53,382 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:53,382 INFO L74 IsIncluded]: Start isIncluded. First operand 204 states. Second operand 406 states. [2020-07-10 20:22:53,382 INFO L87 Difference]: Start difference. First operand 204 states. Second operand 406 states. [2020-07-10 20:22:53,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:53,397 INFO L93 Difference]: Finished difference Result 406 states and 451 transitions. [2020-07-10 20:22:53,397 INFO L276 IsEmpty]: Start isEmpty. Operand 406 states and 451 transitions. [2020-07-10 20:22:53,398 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:53,398 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:53,399 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:53,399 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:53,399 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 204 states. [2020-07-10 20:22:53,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 204 states to 204 states and 221 transitions. [2020-07-10 20:22:53,403 INFO L78 Accepts]: Start accepts. Automaton has 204 states and 221 transitions. Word has length 124 [2020-07-10 20:22:53,404 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:53,404 INFO L479 AbstractCegarLoop]: Abstraction has 204 states and 221 transitions. [2020-07-10 20:22:53,404 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-10 20:22:53,404 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 204 states and 221 transitions. [2020-07-10 20:22:53,636 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 221 edges. 221 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:53,636 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 221 transitions. [2020-07-10 20:22:53,638 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 127 [2020-07-10 20:22:53,638 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:53,638 INFO L422 BasicCegarLoop]: trace histogram [8, 8, 8, 8, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:53,638 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2020-07-10 20:22:53,638 INFO L427 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:53,639 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:53,639 INFO L82 PathProgramCache]: Analyzing trace with hash -1120204730, now seen corresponding path program 1 times [2020-07-10 20:22:53,639 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:53,639 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [354816026] [2020-07-10 20:22:53,640 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:53,684 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:53,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:53,827 INFO L280 TraceCheckUtils]: 0: Hoare triple {16442#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {16420#true} is VALID [2020-07-10 20:22:53,828 INFO L280 TraceCheckUtils]: 1: Hoare triple {16420#true} #valid := #valid[0 := 0]; {16420#true} is VALID [2020-07-10 20:22:53,828 INFO L280 TraceCheckUtils]: 2: Hoare triple {16420#true} assume 0 < #StackHeapBarrier; {16420#true} is VALID [2020-07-10 20:22:53,828 INFO L280 TraceCheckUtils]: 3: Hoare triple {16420#true} assume true; {16420#true} is VALID [2020-07-10 20:22:53,828 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {16420#true} {16420#true} #231#return; {16420#true} is VALID [2020-07-10 20:22:53,829 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:53,832 INFO L280 TraceCheckUtils]: 0: Hoare triple {16420#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {16420#true} is VALID [2020-07-10 20:22:53,832 INFO L280 TraceCheckUtils]: 1: Hoare triple {16420#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {16420#true} is VALID [2020-07-10 20:22:53,832 INFO L280 TraceCheckUtils]: 2: Hoare triple {16420#true} ~n := #in~n; {16420#true} is VALID [2020-07-10 20:22:53,833 INFO L280 TraceCheckUtils]: 3: Hoare triple {16420#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {16420#true} is VALID [2020-07-10 20:22:53,833 INFO L280 TraceCheckUtils]: 4: Hoare triple {16420#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {16420#true} is VALID [2020-07-10 20:22:53,833 INFO L280 TraceCheckUtils]: 5: Hoare triple {16420#true} havoc #t~ret0.base, #t~ret0.offset; {16420#true} is VALID [2020-07-10 20:22:53,833 INFO L280 TraceCheckUtils]: 6: Hoare triple {16420#true} assume true; {16420#true} is VALID [2020-07-10 20:22:53,833 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {16420#true} {16421#false} #227#return; {16421#false} is VALID [2020-07-10 20:22:53,834 INFO L263 TraceCheckUtils]: 0: Hoare triple {16420#true} call ULTIMATE.init(); {16442#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:22:53,834 INFO L280 TraceCheckUtils]: 1: Hoare triple {16442#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {16420#true} is VALID [2020-07-10 20:22:53,835 INFO L280 TraceCheckUtils]: 2: Hoare triple {16420#true} #valid := #valid[0 := 0]; {16420#true} is VALID [2020-07-10 20:22:53,835 INFO L280 TraceCheckUtils]: 3: Hoare triple {16420#true} assume 0 < #StackHeapBarrier; {16420#true} is VALID [2020-07-10 20:22:53,835 INFO L280 TraceCheckUtils]: 4: Hoare triple {16420#true} assume true; {16420#true} is VALID [2020-07-10 20:22:53,835 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {16420#true} {16420#true} #231#return; {16420#true} is VALID [2020-07-10 20:22:53,836 INFO L263 TraceCheckUtils]: 6: Hoare triple {16420#true} call #t~ret23 := main(); {16420#true} is VALID [2020-07-10 20:22:53,836 INFO L280 TraceCheckUtils]: 7: Hoare triple {16420#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {16420#true} is VALID [2020-07-10 20:22:53,836 INFO L280 TraceCheckUtils]: 8: Hoare triple {16420#true} ~i~1 := 0; {16420#true} is VALID [2020-07-10 20:22:53,836 INFO L280 TraceCheckUtils]: 9: Hoare triple {16420#true} assume !!(~i~1 < 8); {16420#true} is VALID [2020-07-10 20:22:53,837 INFO L280 TraceCheckUtils]: 10: Hoare triple {16420#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {16420#true} is VALID [2020-07-10 20:22:53,837 INFO L280 TraceCheckUtils]: 11: Hoare triple {16420#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {16420#true} is VALID [2020-07-10 20:22:53,837 INFO L280 TraceCheckUtils]: 12: Hoare triple {16420#true} havoc #t~nondet21; {16420#true} is VALID [2020-07-10 20:22:53,837 INFO L280 TraceCheckUtils]: 13: Hoare triple {16420#true} #t~post20 := ~i~1; {16420#true} is VALID [2020-07-10 20:22:53,837 INFO L280 TraceCheckUtils]: 14: Hoare triple {16420#true} ~i~1 := 1 + #t~post20; {16420#true} is VALID [2020-07-10 20:22:53,838 INFO L280 TraceCheckUtils]: 15: Hoare triple {16420#true} havoc #t~post20; {16420#true} is VALID [2020-07-10 20:22:53,838 INFO L280 TraceCheckUtils]: 16: Hoare triple {16420#true} assume !!(~i~1 < 8); {16420#true} is VALID [2020-07-10 20:22:53,838 INFO L280 TraceCheckUtils]: 17: Hoare triple {16420#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {16420#true} is VALID [2020-07-10 20:22:53,838 INFO L280 TraceCheckUtils]: 18: Hoare triple {16420#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {16420#true} is VALID [2020-07-10 20:22:53,838 INFO L280 TraceCheckUtils]: 19: Hoare triple {16420#true} havoc #t~nondet21; {16420#true} is VALID [2020-07-10 20:22:53,839 INFO L280 TraceCheckUtils]: 20: Hoare triple {16420#true} #t~post20 := ~i~1; {16420#true} is VALID [2020-07-10 20:22:53,839 INFO L280 TraceCheckUtils]: 21: Hoare triple {16420#true} ~i~1 := 1 + #t~post20; {16420#true} is VALID [2020-07-10 20:22:53,839 INFO L280 TraceCheckUtils]: 22: Hoare triple {16420#true} havoc #t~post20; {16420#true} is VALID [2020-07-10 20:22:53,839 INFO L280 TraceCheckUtils]: 23: Hoare triple {16420#true} assume !!(~i~1 < 8); {16420#true} is VALID [2020-07-10 20:22:53,840 INFO L280 TraceCheckUtils]: 24: Hoare triple {16420#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {16420#true} is VALID [2020-07-10 20:22:53,840 INFO L280 TraceCheckUtils]: 25: Hoare triple {16420#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {16420#true} is VALID [2020-07-10 20:22:53,840 INFO L280 TraceCheckUtils]: 26: Hoare triple {16420#true} havoc #t~nondet21; {16420#true} is VALID [2020-07-10 20:22:53,840 INFO L280 TraceCheckUtils]: 27: Hoare triple {16420#true} #t~post20 := ~i~1; {16420#true} is VALID [2020-07-10 20:22:53,841 INFO L280 TraceCheckUtils]: 28: Hoare triple {16420#true} ~i~1 := 1 + #t~post20; {16420#true} is VALID [2020-07-10 20:22:53,841 INFO L280 TraceCheckUtils]: 29: Hoare triple {16420#true} havoc #t~post20; {16420#true} is VALID [2020-07-10 20:22:53,841 INFO L280 TraceCheckUtils]: 30: Hoare triple {16420#true} assume !!(~i~1 < 8); {16420#true} is VALID [2020-07-10 20:22:53,841 INFO L280 TraceCheckUtils]: 31: Hoare triple {16420#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {16420#true} is VALID [2020-07-10 20:22:53,841 INFO L280 TraceCheckUtils]: 32: Hoare triple {16420#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {16420#true} is VALID [2020-07-10 20:22:53,842 INFO L280 TraceCheckUtils]: 33: Hoare triple {16420#true} havoc #t~nondet21; {16420#true} is VALID [2020-07-10 20:22:53,842 INFO L280 TraceCheckUtils]: 34: Hoare triple {16420#true} #t~post20 := ~i~1; {16420#true} is VALID [2020-07-10 20:22:53,842 INFO L280 TraceCheckUtils]: 35: Hoare triple {16420#true} ~i~1 := 1 + #t~post20; {16420#true} is VALID [2020-07-10 20:22:53,842 INFO L280 TraceCheckUtils]: 36: Hoare triple {16420#true} havoc #t~post20; {16420#true} is VALID [2020-07-10 20:22:53,842 INFO L280 TraceCheckUtils]: 37: Hoare triple {16420#true} assume !!(~i~1 < 8); {16420#true} is VALID [2020-07-10 20:22:53,843 INFO L280 TraceCheckUtils]: 38: Hoare triple {16420#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {16420#true} is VALID [2020-07-10 20:22:53,843 INFO L280 TraceCheckUtils]: 39: Hoare triple {16420#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {16420#true} is VALID [2020-07-10 20:22:53,843 INFO L280 TraceCheckUtils]: 40: Hoare triple {16420#true} havoc #t~nondet21; {16420#true} is VALID [2020-07-10 20:22:53,843 INFO L280 TraceCheckUtils]: 41: Hoare triple {16420#true} #t~post20 := ~i~1; {16420#true} is VALID [2020-07-10 20:22:53,843 INFO L280 TraceCheckUtils]: 42: Hoare triple {16420#true} ~i~1 := 1 + #t~post20; {16420#true} is VALID [2020-07-10 20:22:53,844 INFO L280 TraceCheckUtils]: 43: Hoare triple {16420#true} havoc #t~post20; {16420#true} is VALID [2020-07-10 20:22:53,844 INFO L280 TraceCheckUtils]: 44: Hoare triple {16420#true} assume !!(~i~1 < 8); {16420#true} is VALID [2020-07-10 20:22:53,844 INFO L280 TraceCheckUtils]: 45: Hoare triple {16420#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {16420#true} is VALID [2020-07-10 20:22:53,844 INFO L280 TraceCheckUtils]: 46: Hoare triple {16420#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {16420#true} is VALID [2020-07-10 20:22:53,844 INFO L280 TraceCheckUtils]: 47: Hoare triple {16420#true} havoc #t~nondet21; {16420#true} is VALID [2020-07-10 20:22:53,845 INFO L280 TraceCheckUtils]: 48: Hoare triple {16420#true} #t~post20 := ~i~1; {16420#true} is VALID [2020-07-10 20:22:53,845 INFO L280 TraceCheckUtils]: 49: Hoare triple {16420#true} ~i~1 := 1 + #t~post20; {16420#true} is VALID [2020-07-10 20:22:53,845 INFO L280 TraceCheckUtils]: 50: Hoare triple {16420#true} havoc #t~post20; {16420#true} is VALID [2020-07-10 20:22:53,845 INFO L280 TraceCheckUtils]: 51: Hoare triple {16420#true} assume !!(~i~1 < 8); {16420#true} is VALID [2020-07-10 20:22:53,846 INFO L280 TraceCheckUtils]: 52: Hoare triple {16420#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {16420#true} is VALID [2020-07-10 20:22:53,846 INFO L280 TraceCheckUtils]: 53: Hoare triple {16420#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {16420#true} is VALID [2020-07-10 20:22:53,846 INFO L280 TraceCheckUtils]: 54: Hoare triple {16420#true} havoc #t~nondet21; {16420#true} is VALID [2020-07-10 20:22:53,846 INFO L280 TraceCheckUtils]: 55: Hoare triple {16420#true} #t~post20 := ~i~1; {16420#true} is VALID [2020-07-10 20:22:53,846 INFO L280 TraceCheckUtils]: 56: Hoare triple {16420#true} ~i~1 := 1 + #t~post20; {16420#true} is VALID [2020-07-10 20:22:53,847 INFO L280 TraceCheckUtils]: 57: Hoare triple {16420#true} havoc #t~post20; {16420#true} is VALID [2020-07-10 20:22:53,847 INFO L280 TraceCheckUtils]: 58: Hoare triple {16420#true} assume !!(~i~1 < 8); {16420#true} is VALID [2020-07-10 20:22:53,847 INFO L280 TraceCheckUtils]: 59: Hoare triple {16420#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {16420#true} is VALID [2020-07-10 20:22:53,847 INFO L280 TraceCheckUtils]: 60: Hoare triple {16420#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {16420#true} is VALID [2020-07-10 20:22:53,847 INFO L280 TraceCheckUtils]: 61: Hoare triple {16420#true} havoc #t~nondet21; {16420#true} is VALID [2020-07-10 20:22:53,848 INFO L280 TraceCheckUtils]: 62: Hoare triple {16420#true} #t~post20 := ~i~1; {16420#true} is VALID [2020-07-10 20:22:53,848 INFO L280 TraceCheckUtils]: 63: Hoare triple {16420#true} ~i~1 := 1 + #t~post20; {16420#true} is VALID [2020-07-10 20:22:53,848 INFO L280 TraceCheckUtils]: 64: Hoare triple {16420#true} havoc #t~post20; {16420#true} is VALID [2020-07-10 20:22:53,848 INFO L280 TraceCheckUtils]: 65: Hoare triple {16420#true} assume !(~i~1 < 8); {16420#true} is VALID [2020-07-10 20:22:53,849 INFO L280 TraceCheckUtils]: 66: Hoare triple {16420#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L79-6 {16420#true} is VALID [2020-07-10 20:22:53,849 INFO L263 TraceCheckUtils]: 67: Hoare triple {16420#true} call #t~ret22 := parse_expression_list(~#A~0.base, ~#A~0.offset); {16420#true} is VALID [2020-07-10 20:22:53,849 INFO L280 TraceCheckUtils]: 68: Hoare triple {16420#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {16420#true} is VALID [2020-07-10 20:22:53,853 INFO L280 TraceCheckUtils]: 69: Hoare triple {16420#true} ~start~0 := 0; {16427#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:53,856 INFO L280 TraceCheckUtils]: 70: Hoare triple {16427#(= 0 parse_expression_list_~start~0)} ~i~0 := -1; {16428#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-10 20:22:53,857 INFO L280 TraceCheckUtils]: 71: Hoare triple {16428#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} ~j~0 := -1; {16428#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-10 20:22:53,858 INFO L280 TraceCheckUtils]: 72: Hoare triple {16428#(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: L50 {16428#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-10 20:22:53,859 INFO L280 TraceCheckUtils]: 73: Hoare triple {16428#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} assume !(~str.base == 0 && ~str.offset == 0); {16428#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-10 20:22:53,859 INFO L280 TraceCheckUtils]: 74: Hoare triple {16428#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} #t~post2 := ~i~0; {16429#(and (<= (+ |parse_expression_list_#t~post2| 1) 0) (= 0 parse_expression_list_~start~0))} is VALID [2020-07-10 20:22:53,860 INFO L280 TraceCheckUtils]: 75: Hoare triple {16429#(and (<= (+ |parse_expression_list_#t~post2| 1) 0) (= 0 parse_expression_list_~start~0))} ~i~0 := 1 + #t~post2; {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:53,861 INFO L280 TraceCheckUtils]: 76: Hoare triple {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~post2; {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:53,862 INFO L280 TraceCheckUtils]: 77: Hoare triple {16430#(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: L54 {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:53,863 INFO L280 TraceCheckUtils]: 78: Hoare triple {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~switch4 := 0 == #t~mem3; {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:53,864 INFO L280 TraceCheckUtils]: 79: Hoare triple {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume #t~switch4; {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:53,865 INFO L280 TraceCheckUtils]: 80: Hoare triple {16430#(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: L56-17 {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:53,865 INFO L280 TraceCheckUtils]: 81: Hoare triple {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~short7 := 32 == #t~mem5; {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:53,866 INFO L280 TraceCheckUtils]: 82: Hoare triple {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume !#t~short7; {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:53,867 INFO L280 TraceCheckUtils]: 83: Hoare triple {16430#(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: L56-4 {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:53,868 INFO L280 TraceCheckUtils]: 84: Hoare triple {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~short7 := 9 == #t~mem6; {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:53,869 INFO L280 TraceCheckUtils]: 85: Hoare triple {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume !#t~short7; {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:53,870 INFO L280 TraceCheckUtils]: 86: Hoare triple {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem5; {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:53,871 INFO L280 TraceCheckUtils]: 87: Hoare triple {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem6; {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:53,872 INFO L280 TraceCheckUtils]: 88: Hoare triple {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~short7; {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:53,872 INFO L280 TraceCheckUtils]: 89: Hoare triple {16430#(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: L56-18 {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:53,873 INFO L280 TraceCheckUtils]: 90: Hoare triple {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume !(34 == #t~mem9); {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:53,874 INFO L280 TraceCheckUtils]: 91: Hoare triple {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem9; {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:53,875 INFO L280 TraceCheckUtils]: 92: Hoare triple {16430#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} ~j~0 := ~i~0 - 1; {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:53,875 INFO L280 TraceCheckUtils]: 93: Hoare triple {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} #t~short14 := 0 < ~j~0; {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:53,876 INFO L280 TraceCheckUtils]: 94: Hoare triple {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} assume !#t~short14; {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:53,877 INFO L280 TraceCheckUtils]: 95: Hoare triple {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} assume !#t~short14; {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:53,877 INFO L280 TraceCheckUtils]: 96: Hoare triple {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~mem12; {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:53,878 INFO L280 TraceCheckUtils]: 97: Hoare triple {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~short13; {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:53,879 INFO L280 TraceCheckUtils]: 98: Hoare triple {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~short14; {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:53,880 INFO L280 TraceCheckUtils]: 99: Hoare triple {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~mem11; {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:53,880 INFO L280 TraceCheckUtils]: 100: Hoare triple {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} #t~short17 := 0 < ~j~0; {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:53,881 INFO L280 TraceCheckUtils]: 101: Hoare triple {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} assume #t~short17; {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:53,882 INFO L280 TraceCheckUtils]: 102: Hoare triple {16431#(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: L60-1 {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:53,883 INFO L280 TraceCheckUtils]: 103: Hoare triple {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} #t~short17 := 34 == #t~mem16; {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:53,883 INFO L280 TraceCheckUtils]: 104: Hoare triple {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} assume #t~short17; {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:53,884 INFO L280 TraceCheckUtils]: 105: Hoare triple {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~mem16; {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:53,885 INFO L280 TraceCheckUtils]: 106: Hoare triple {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} havoc #t~short17; {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} is VALID [2020-07-10 20:22:53,886 INFO L280 TraceCheckUtils]: 107: Hoare triple {16431#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 1) 0))} #t~post18 := ~j~0; {16432#(and (= 0 parse_expression_list_~start~0) (<= (+ |parse_expression_list_#t~post18| 1) 0))} is VALID [2020-07-10 20:22:53,887 INFO L280 TraceCheckUtils]: 108: Hoare triple {16432#(and (= 0 parse_expression_list_~start~0) (<= (+ |parse_expression_list_#t~post18| 1) 0))} ~j~0 := #t~post18 - 1; {16433#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 2) 0))} is VALID [2020-07-10 20:22:53,887 INFO L280 TraceCheckUtils]: 109: Hoare triple {16433#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 2) 0))} havoc #t~post18; {16433#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 2) 0))} is VALID [2020-07-10 20:22:53,888 INFO L280 TraceCheckUtils]: 110: Hoare triple {16433#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~j~0 2) 0))} assume ~start~0 <= ~j~0; {16421#false} is VALID [2020-07-10 20:22:53,888 INFO L280 TraceCheckUtils]: 111: Hoare triple {16421#false} assume !(1 + (~j~0 - ~start~0) >= 2); {16421#false} is VALID [2020-07-10 20:22:53,889 INFO L263 TraceCheckUtils]: 112: Hoare triple {16421#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)); {16420#true} is VALID [2020-07-10 20:22:53,889 INFO L280 TraceCheckUtils]: 113: Hoare triple {16420#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {16420#true} is VALID [2020-07-10 20:22:53,889 INFO L280 TraceCheckUtils]: 114: Hoare triple {16420#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {16420#true} is VALID [2020-07-10 20:22:53,889 INFO L280 TraceCheckUtils]: 115: Hoare triple {16420#true} ~n := #in~n; {16420#true} is VALID [2020-07-10 20:22:53,889 INFO L280 TraceCheckUtils]: 116: Hoare triple {16420#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {16420#true} is VALID [2020-07-10 20:22:53,890 INFO L280 TraceCheckUtils]: 117: Hoare triple {16420#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {16420#true} is VALID [2020-07-10 20:22:53,890 INFO L280 TraceCheckUtils]: 118: Hoare triple {16420#true} havoc #t~ret0.base, #t~ret0.offset; {16420#true} is VALID [2020-07-10 20:22:53,890 INFO L280 TraceCheckUtils]: 119: Hoare triple {16420#true} assume true; {16420#true} is VALID [2020-07-10 20:22:53,890 INFO L275 TraceCheckUtils]: 120: Hoare quadruple {16420#true} {16421#false} #227#return; {16421#false} is VALID [2020-07-10 20:22:53,890 INFO L280 TraceCheckUtils]: 121: Hoare triple {16421#false} havoc #t~ret19.base, #t~ret19.offset; {16421#false} is VALID [2020-07-10 20:22:53,891 INFO L263 TraceCheckUtils]: 122: Hoare triple {16421#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {16421#false} is VALID [2020-07-10 20:22:53,891 INFO L280 TraceCheckUtils]: 123: Hoare triple {16421#false} ~cond := #in~cond; {16421#false} is VALID [2020-07-10 20:22:53,891 INFO L280 TraceCheckUtils]: 124: Hoare triple {16421#false} assume 0 == ~cond; {16421#false} is VALID [2020-07-10 20:22:53,891 INFO L280 TraceCheckUtils]: 125: Hoare triple {16421#false} assume !false; {16421#false} is VALID [2020-07-10 20:22:53,910 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:53,910 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:53,910 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [354816026] [2020-07-10 20:22:53,910 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:53,911 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2020-07-10 20:22:53,911 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1417667368] [2020-07-10 20:22:53,911 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 126 [2020-07-10 20:22:53,912 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:53,912 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-10 20:22:54,008 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:54,009 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-10 20:22:54,009 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:54,009 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-10 20:22:54,009 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2020-07-10 20:22:54,009 INFO L87 Difference]: Start difference. First operand 204 states and 221 transitions. Second operand 10 states. [2020-07-10 20:22:56,090 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:56,090 INFO L93 Difference]: Finished difference Result 450 states and 497 transitions. [2020-07-10 20:22:56,090 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2020-07-10 20:22:56,090 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 126 [2020-07-10 20:22:56,091 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:22:56,091 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-10 20:22:56,094 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 416 transitions. [2020-07-10 20:22:56,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-10 20:22:56,098 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 416 transitions. [2020-07-10 20:22:56,099 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 416 transitions. [2020-07-10 20:22:56,532 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 416 edges. 416 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:56,543 INFO L225 Difference]: With dead ends: 450 [2020-07-10 20:22:56,543 INFO L226 Difference]: Without dead ends: 346 [2020-07-10 20:22:56,545 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:56,546 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 346 states. [2020-07-10 20:22:56,783 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 346 to 214. [2020-07-10 20:22:56,783 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:22:56,784 INFO L82 GeneralOperation]: Start isEquivalent. First operand 346 states. Second operand 214 states. [2020-07-10 20:22:56,784 INFO L74 IsIncluded]: Start isIncluded. First operand 346 states. Second operand 214 states. [2020-07-10 20:22:56,784 INFO L87 Difference]: Start difference. First operand 346 states. Second operand 214 states. [2020-07-10 20:22:56,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:56,794 INFO L93 Difference]: Finished difference Result 346 states and 383 transitions. [2020-07-10 20:22:56,794 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 383 transitions. [2020-07-10 20:22:56,796 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:56,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:56,796 INFO L74 IsIncluded]: Start isIncluded. First operand 214 states. Second operand 346 states. [2020-07-10 20:22:56,796 INFO L87 Difference]: Start difference. First operand 214 states. Second operand 346 states. [2020-07-10 20:22:56,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:22:56,806 INFO L93 Difference]: Finished difference Result 346 states and 383 transitions. [2020-07-10 20:22:56,806 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 383 transitions. [2020-07-10 20:22:56,807 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:22:56,807 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:22:56,807 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:22:56,807 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:22:56,808 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 214 states. [2020-07-10 20:22:56,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 214 states to 214 states and 233 transitions. [2020-07-10 20:22:56,812 INFO L78 Accepts]: Start accepts. Automaton has 214 states and 233 transitions. Word has length 126 [2020-07-10 20:22:56,812 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:22:56,812 INFO L479 AbstractCegarLoop]: Abstraction has 214 states and 233 transitions. [2020-07-10 20:22:56,812 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-10 20:22:56,813 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 214 states and 233 transitions. [2020-07-10 20:22:57,077 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 233 edges. 233 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:57,078 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 233 transitions. [2020-07-10 20:22:57,081 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 130 [2020-07-10 20:22:57,081 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:22:57,081 INFO L422 BasicCegarLoop]: trace histogram [8, 8, 8, 8, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:57,082 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2020-07-10 20:22:57,082 INFO L427 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:22:57,082 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:22:57,082 INFO L82 PathProgramCache]: Analyzing trace with hash 2135603949, now seen corresponding path program 1 times [2020-07-10 20:22:57,083 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:22:57,083 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1459812460] [2020-07-10 20:22:57,083 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:22:57,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:57,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:57,344 INFO L280 TraceCheckUtils]: 0: Hoare triple {18509#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {18485#true} is VALID [2020-07-10 20:22:57,344 INFO L280 TraceCheckUtils]: 1: Hoare triple {18485#true} #valid := #valid[0 := 0]; {18485#true} is VALID [2020-07-10 20:22:57,345 INFO L280 TraceCheckUtils]: 2: Hoare triple {18485#true} assume 0 < #StackHeapBarrier; {18485#true} is VALID [2020-07-10 20:22:57,345 INFO L280 TraceCheckUtils]: 3: Hoare triple {18485#true} assume true; {18485#true} is VALID [2020-07-10 20:22:57,346 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {18485#true} {18485#true} #231#return; {18485#true} is VALID [2020-07-10 20:22:57,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 20:22:57,351 INFO L280 TraceCheckUtils]: 0: Hoare triple {18485#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {18485#true} is VALID [2020-07-10 20:22:57,351 INFO L280 TraceCheckUtils]: 1: Hoare triple {18485#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {18485#true} is VALID [2020-07-10 20:22:57,351 INFO L280 TraceCheckUtils]: 2: Hoare triple {18485#true} ~n := #in~n; {18485#true} is VALID [2020-07-10 20:22:57,352 INFO L280 TraceCheckUtils]: 3: Hoare triple {18485#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {18485#true} is VALID [2020-07-10 20:22:57,352 INFO L280 TraceCheckUtils]: 4: Hoare triple {18485#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {18485#true} is VALID [2020-07-10 20:22:57,352 INFO L280 TraceCheckUtils]: 5: Hoare triple {18485#true} havoc #t~ret0.base, #t~ret0.offset; {18485#true} is VALID [2020-07-10 20:22:57,353 INFO L280 TraceCheckUtils]: 6: Hoare triple {18485#true} assume true; {18485#true} is VALID [2020-07-10 20:22:57,353 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {18485#true} {18486#false} #227#return; {18486#false} is VALID [2020-07-10 20:22:57,354 INFO L263 TraceCheckUtils]: 0: Hoare triple {18485#true} call ULTIMATE.init(); {18509#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 20:22:57,355 INFO L280 TraceCheckUtils]: 1: Hoare triple {18509#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {18485#true} is VALID [2020-07-10 20:22:57,355 INFO L280 TraceCheckUtils]: 2: Hoare triple {18485#true} #valid := #valid[0 := 0]; {18485#true} is VALID [2020-07-10 20:22:57,356 INFO L280 TraceCheckUtils]: 3: Hoare triple {18485#true} assume 0 < #StackHeapBarrier; {18485#true} is VALID [2020-07-10 20:22:57,356 INFO L280 TraceCheckUtils]: 4: Hoare triple {18485#true} assume true; {18485#true} is VALID [2020-07-10 20:22:57,356 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {18485#true} {18485#true} #231#return; {18485#true} is VALID [2020-07-10 20:22:57,357 INFO L263 TraceCheckUtils]: 6: Hoare triple {18485#true} call #t~ret23 := main(); {18485#true} is VALID [2020-07-10 20:22:57,357 INFO L280 TraceCheckUtils]: 7: Hoare triple {18485#true} SUMMARY for call ~#A~0.base, ~#A~0.offset := #Ultimate.allocOnStack(9); srcloc: mainENTRY {18485#true} is VALID [2020-07-10 20:22:57,357 INFO L280 TraceCheckUtils]: 8: Hoare triple {18485#true} ~i~1 := 0; {18485#true} is VALID [2020-07-10 20:22:57,357 INFO L280 TraceCheckUtils]: 9: Hoare triple {18485#true} assume !!(~i~1 < 8); {18485#true} is VALID [2020-07-10 20:22:57,358 INFO L280 TraceCheckUtils]: 10: Hoare triple {18485#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {18485#true} is VALID [2020-07-10 20:22:57,358 INFO L280 TraceCheckUtils]: 11: Hoare triple {18485#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {18485#true} is VALID [2020-07-10 20:22:57,358 INFO L280 TraceCheckUtils]: 12: Hoare triple {18485#true} havoc #t~nondet21; {18485#true} is VALID [2020-07-10 20:22:57,358 INFO L280 TraceCheckUtils]: 13: Hoare triple {18485#true} #t~post20 := ~i~1; {18485#true} is VALID [2020-07-10 20:22:57,358 INFO L280 TraceCheckUtils]: 14: Hoare triple {18485#true} ~i~1 := 1 + #t~post20; {18485#true} is VALID [2020-07-10 20:22:57,359 INFO L280 TraceCheckUtils]: 15: Hoare triple {18485#true} havoc #t~post20; {18485#true} is VALID [2020-07-10 20:22:57,359 INFO L280 TraceCheckUtils]: 16: Hoare triple {18485#true} assume !!(~i~1 < 8); {18485#true} is VALID [2020-07-10 20:22:57,359 INFO L280 TraceCheckUtils]: 17: Hoare triple {18485#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {18485#true} is VALID [2020-07-10 20:22:57,359 INFO L280 TraceCheckUtils]: 18: Hoare triple {18485#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {18485#true} is VALID [2020-07-10 20:22:57,359 INFO L280 TraceCheckUtils]: 19: Hoare triple {18485#true} havoc #t~nondet21; {18485#true} is VALID [2020-07-10 20:22:57,360 INFO L280 TraceCheckUtils]: 20: Hoare triple {18485#true} #t~post20 := ~i~1; {18485#true} is VALID [2020-07-10 20:22:57,360 INFO L280 TraceCheckUtils]: 21: Hoare triple {18485#true} ~i~1 := 1 + #t~post20; {18485#true} is VALID [2020-07-10 20:22:57,360 INFO L280 TraceCheckUtils]: 22: Hoare triple {18485#true} havoc #t~post20; {18485#true} is VALID [2020-07-10 20:22:57,360 INFO L280 TraceCheckUtils]: 23: Hoare triple {18485#true} assume !!(~i~1 < 8); {18485#true} is VALID [2020-07-10 20:22:57,360 INFO L280 TraceCheckUtils]: 24: Hoare triple {18485#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {18485#true} is VALID [2020-07-10 20:22:57,361 INFO L280 TraceCheckUtils]: 25: Hoare triple {18485#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {18485#true} is VALID [2020-07-10 20:22:57,361 INFO L280 TraceCheckUtils]: 26: Hoare triple {18485#true} havoc #t~nondet21; {18485#true} is VALID [2020-07-10 20:22:57,361 INFO L280 TraceCheckUtils]: 27: Hoare triple {18485#true} #t~post20 := ~i~1; {18485#true} is VALID [2020-07-10 20:22:57,361 INFO L280 TraceCheckUtils]: 28: Hoare triple {18485#true} ~i~1 := 1 + #t~post20; {18485#true} is VALID [2020-07-10 20:22:57,361 INFO L280 TraceCheckUtils]: 29: Hoare triple {18485#true} havoc #t~post20; {18485#true} is VALID [2020-07-10 20:22:57,362 INFO L280 TraceCheckUtils]: 30: Hoare triple {18485#true} assume !!(~i~1 < 8); {18485#true} is VALID [2020-07-10 20:22:57,362 INFO L280 TraceCheckUtils]: 31: Hoare triple {18485#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {18485#true} is VALID [2020-07-10 20:22:57,362 INFO L280 TraceCheckUtils]: 32: Hoare triple {18485#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {18485#true} is VALID [2020-07-10 20:22:57,362 INFO L280 TraceCheckUtils]: 33: Hoare triple {18485#true} havoc #t~nondet21; {18485#true} is VALID [2020-07-10 20:22:57,362 INFO L280 TraceCheckUtils]: 34: Hoare triple {18485#true} #t~post20 := ~i~1; {18485#true} is VALID [2020-07-10 20:22:57,363 INFO L280 TraceCheckUtils]: 35: Hoare triple {18485#true} ~i~1 := 1 + #t~post20; {18485#true} is VALID [2020-07-10 20:22:57,363 INFO L280 TraceCheckUtils]: 36: Hoare triple {18485#true} havoc #t~post20; {18485#true} is VALID [2020-07-10 20:22:57,363 INFO L280 TraceCheckUtils]: 37: Hoare triple {18485#true} assume !!(~i~1 < 8); {18485#true} is VALID [2020-07-10 20:22:57,363 INFO L280 TraceCheckUtils]: 38: Hoare triple {18485#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {18485#true} is VALID [2020-07-10 20:22:57,363 INFO L280 TraceCheckUtils]: 39: Hoare triple {18485#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {18485#true} is VALID [2020-07-10 20:22:57,364 INFO L280 TraceCheckUtils]: 40: Hoare triple {18485#true} havoc #t~nondet21; {18485#true} is VALID [2020-07-10 20:22:57,364 INFO L280 TraceCheckUtils]: 41: Hoare triple {18485#true} #t~post20 := ~i~1; {18485#true} is VALID [2020-07-10 20:22:57,364 INFO L280 TraceCheckUtils]: 42: Hoare triple {18485#true} ~i~1 := 1 + #t~post20; {18485#true} is VALID [2020-07-10 20:22:57,364 INFO L280 TraceCheckUtils]: 43: Hoare triple {18485#true} havoc #t~post20; {18485#true} is VALID [2020-07-10 20:22:57,364 INFO L280 TraceCheckUtils]: 44: Hoare triple {18485#true} assume !!(~i~1 < 8); {18485#true} is VALID [2020-07-10 20:22:57,365 INFO L280 TraceCheckUtils]: 45: Hoare triple {18485#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {18485#true} is VALID [2020-07-10 20:22:57,365 INFO L280 TraceCheckUtils]: 46: Hoare triple {18485#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {18485#true} is VALID [2020-07-10 20:22:57,365 INFO L280 TraceCheckUtils]: 47: Hoare triple {18485#true} havoc #t~nondet21; {18485#true} is VALID [2020-07-10 20:22:57,365 INFO L280 TraceCheckUtils]: 48: Hoare triple {18485#true} #t~post20 := ~i~1; {18485#true} is VALID [2020-07-10 20:22:57,365 INFO L280 TraceCheckUtils]: 49: Hoare triple {18485#true} ~i~1 := 1 + #t~post20; {18485#true} is VALID [2020-07-10 20:22:57,366 INFO L280 TraceCheckUtils]: 50: Hoare triple {18485#true} havoc #t~post20; {18485#true} is VALID [2020-07-10 20:22:57,366 INFO L280 TraceCheckUtils]: 51: Hoare triple {18485#true} assume !!(~i~1 < 8); {18485#true} is VALID [2020-07-10 20:22:57,366 INFO L280 TraceCheckUtils]: 52: Hoare triple {18485#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {18485#true} is VALID [2020-07-10 20:22:57,366 INFO L280 TraceCheckUtils]: 53: Hoare triple {18485#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {18485#true} is VALID [2020-07-10 20:22:57,367 INFO L280 TraceCheckUtils]: 54: Hoare triple {18485#true} havoc #t~nondet21; {18485#true} is VALID [2020-07-10 20:22:57,367 INFO L280 TraceCheckUtils]: 55: Hoare triple {18485#true} #t~post20 := ~i~1; {18485#true} is VALID [2020-07-10 20:22:57,367 INFO L280 TraceCheckUtils]: 56: Hoare triple {18485#true} ~i~1 := 1 + #t~post20; {18485#true} is VALID [2020-07-10 20:22:57,367 INFO L280 TraceCheckUtils]: 57: Hoare triple {18485#true} havoc #t~post20; {18485#true} is VALID [2020-07-10 20:22:57,367 INFO L280 TraceCheckUtils]: 58: Hoare triple {18485#true} assume !!(~i~1 < 8); {18485#true} is VALID [2020-07-10 20:22:57,368 INFO L280 TraceCheckUtils]: 59: Hoare triple {18485#true} assume -128 <= #t~nondet21 && #t~nondet21 <= 127; {18485#true} is VALID [2020-07-10 20:22:57,368 INFO L280 TraceCheckUtils]: 60: Hoare triple {18485#true} SUMMARY for call write~int(#t~nondet21, ~#A~0.base, ~#A~0.offset + ~i~1, 1); srcloc: L80-1 {18485#true} is VALID [2020-07-10 20:22:57,368 INFO L280 TraceCheckUtils]: 61: Hoare triple {18485#true} havoc #t~nondet21; {18485#true} is VALID [2020-07-10 20:22:57,368 INFO L280 TraceCheckUtils]: 62: Hoare triple {18485#true} #t~post20 := ~i~1; {18485#true} is VALID [2020-07-10 20:22:57,368 INFO L280 TraceCheckUtils]: 63: Hoare triple {18485#true} ~i~1 := 1 + #t~post20; {18485#true} is VALID [2020-07-10 20:22:57,369 INFO L280 TraceCheckUtils]: 64: Hoare triple {18485#true} havoc #t~post20; {18485#true} is VALID [2020-07-10 20:22:57,369 INFO L280 TraceCheckUtils]: 65: Hoare triple {18485#true} assume !(~i~1 < 8); {18485#true} is VALID [2020-07-10 20:22:57,369 INFO L280 TraceCheckUtils]: 66: Hoare triple {18485#true} SUMMARY for call write~int(0, ~#A~0.base, 8 + ~#A~0.offset, 1); srcloc: L79-6 {18485#true} is VALID [2020-07-10 20:22:57,369 INFO L263 TraceCheckUtils]: 67: Hoare triple {18485#true} call #t~ret22 := parse_expression_list(~#A~0.base, ~#A~0.offset); {18485#true} is VALID [2020-07-10 20:22:57,369 INFO L280 TraceCheckUtils]: 68: Hoare triple {18485#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset; {18485#true} is VALID [2020-07-10 20:22:57,370 INFO L280 TraceCheckUtils]: 69: Hoare triple {18485#true} ~start~0 := 0; {18492#(= 0 parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,371 INFO L280 TraceCheckUtils]: 70: Hoare triple {18492#(= 0 parse_expression_list_~start~0)} ~i~0 := -1; {18493#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-10 20:22:57,371 INFO L280 TraceCheckUtils]: 71: Hoare triple {18493#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} ~j~0 := -1; {18493#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-10 20:22:57,372 INFO L280 TraceCheckUtils]: 72: Hoare triple {18493#(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: L50 {18493#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-10 20:22:57,373 INFO L280 TraceCheckUtils]: 73: Hoare triple {18493#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} assume !(~str.base == 0 && ~str.offset == 0); {18493#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} is VALID [2020-07-10 20:22:57,374 INFO L280 TraceCheckUtils]: 74: Hoare triple {18493#(and (= 0 parse_expression_list_~start~0) (<= (+ parse_expression_list_~i~0 1) 0))} #t~post2 := ~i~0; {18494#(and (<= (+ |parse_expression_list_#t~post2| 1) 0) (= 0 parse_expression_list_~start~0))} is VALID [2020-07-10 20:22:57,375 INFO L280 TraceCheckUtils]: 75: Hoare triple {18494#(and (<= (+ |parse_expression_list_#t~post2| 1) 0) (= 0 parse_expression_list_~start~0))} ~i~0 := 1 + #t~post2; {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:57,375 INFO L280 TraceCheckUtils]: 76: Hoare triple {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~post2; {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:57,376 INFO L280 TraceCheckUtils]: 77: Hoare triple {18495#(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: L54 {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:57,377 INFO L280 TraceCheckUtils]: 78: Hoare triple {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~switch4 := 0 == #t~mem3; {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:57,377 INFO L280 TraceCheckUtils]: 79: Hoare triple {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume #t~switch4; {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:57,378 INFO L280 TraceCheckUtils]: 80: Hoare triple {18495#(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: L56-17 {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:57,379 INFO L280 TraceCheckUtils]: 81: Hoare triple {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~short7 := 32 == #t~mem5; {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:57,380 INFO L280 TraceCheckUtils]: 82: Hoare triple {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume !#t~short7; {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:57,381 INFO L280 TraceCheckUtils]: 83: Hoare triple {18495#(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: L56-4 {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:57,381 INFO L280 TraceCheckUtils]: 84: Hoare triple {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~short7 := 9 == #t~mem6; {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:57,382 INFO L280 TraceCheckUtils]: 85: Hoare triple {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume !#t~short7; {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:57,383 INFO L280 TraceCheckUtils]: 86: Hoare triple {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem5; {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:57,384 INFO L280 TraceCheckUtils]: 87: Hoare triple {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem6; {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:57,385 INFO L280 TraceCheckUtils]: 88: Hoare triple {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~short7; {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:57,386 INFO L280 TraceCheckUtils]: 89: Hoare triple {18495#(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: L56-18 {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:57,387 INFO L280 TraceCheckUtils]: 90: Hoare triple {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} assume 34 == #t~mem9; {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:57,387 INFO L280 TraceCheckUtils]: 91: Hoare triple {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} havoc #t~mem9; {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:57,388 INFO L280 TraceCheckUtils]: 92: Hoare triple {18495#(and (= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 0))} #t~post10 := ~start~0; {18496#(and (= 0 |parse_expression_list_#t~post10|) (<= parse_expression_list_~i~0 0))} is VALID [2020-07-10 20:22:57,389 INFO L280 TraceCheckUtils]: 93: Hoare triple {18496#(and (= 0 |parse_expression_list_#t~post10|) (<= parse_expression_list_~i~0 0))} ~start~0 := 1 + #t~post10; {18497#(<= (+ parse_expression_list_~i~0 1) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,390 INFO L280 TraceCheckUtils]: 94: Hoare triple {18497#(<= (+ parse_expression_list_~i~0 1) parse_expression_list_~start~0)} havoc #t~post10; {18497#(<= (+ parse_expression_list_~i~0 1) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,391 INFO L280 TraceCheckUtils]: 95: Hoare triple {18497#(<= (+ parse_expression_list_~i~0 1) parse_expression_list_~start~0)} ~j~0 := ~i~0 - 1; {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,391 INFO L280 TraceCheckUtils]: 96: Hoare triple {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #t~short14 := 0 < ~j~0; {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,392 INFO L280 TraceCheckUtils]: 97: Hoare triple {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short14; {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,393 INFO L280 TraceCheckUtils]: 98: Hoare triple {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short14; {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,393 INFO L280 TraceCheckUtils]: 99: Hoare triple {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem12; {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,394 INFO L280 TraceCheckUtils]: 100: Hoare triple {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short13; {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,394 INFO L280 TraceCheckUtils]: 101: Hoare triple {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short14; {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,395 INFO L280 TraceCheckUtils]: 102: Hoare triple {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem11; {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,395 INFO L280 TraceCheckUtils]: 103: Hoare triple {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #t~short17 := 0 < ~j~0; {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,396 INFO L280 TraceCheckUtils]: 104: Hoare triple {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume #t~short17; {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,396 INFO L280 TraceCheckUtils]: 105: Hoare triple {18498#(<= (+ 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: L60-1 {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,397 INFO L280 TraceCheckUtils]: 106: Hoare triple {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #t~short17 := 34 == #t~mem16; {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,398 INFO L280 TraceCheckUtils]: 107: Hoare triple {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume #t~short17; {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,398 INFO L280 TraceCheckUtils]: 108: Hoare triple {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~mem16; {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,399 INFO L280 TraceCheckUtils]: 109: Hoare triple {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} havoc #t~short17; {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,400 INFO L280 TraceCheckUtils]: 110: Hoare triple {18498#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #t~post18 := ~j~0; {18499#(<= (+ |parse_expression_list_#t~post18| 2) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,401 INFO L280 TraceCheckUtils]: 111: Hoare triple {18499#(<= (+ |parse_expression_list_#t~post18| 2) parse_expression_list_~start~0)} ~j~0 := #t~post18 - 1; {18500#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,401 INFO L280 TraceCheckUtils]: 112: Hoare triple {18500#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} havoc #t~post18; {18500#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} is VALID [2020-07-10 20:22:57,402 INFO L280 TraceCheckUtils]: 113: Hoare triple {18500#(<= (+ parse_expression_list_~j~0 3) parse_expression_list_~start~0)} assume ~start~0 <= ~j~0; {18486#false} is VALID [2020-07-10 20:22:57,402 INFO L280 TraceCheckUtils]: 114: Hoare triple {18486#false} assume !(1 + (~j~0 - ~start~0) >= 2); {18486#false} is VALID [2020-07-10 20:22:57,403 INFO L263 TraceCheckUtils]: 115: Hoare triple {18486#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)); {18485#true} is VALID [2020-07-10 20:22:57,403 INFO L280 TraceCheckUtils]: 116: Hoare triple {18485#true} ~dest.base, ~dest.offset := #in~dest.base, #in~dest.offset; {18485#true} is VALID [2020-07-10 20:22:57,403 INFO L280 TraceCheckUtils]: 117: Hoare triple {18485#true} ~src.base, ~src.offset := #in~src.base, #in~src.offset; {18485#true} is VALID [2020-07-10 20:22:57,403 INFO L280 TraceCheckUtils]: 118: Hoare triple {18485#true} ~n := #in~n; {18485#true} is VALID [2020-07-10 20:22:57,404 INFO L280 TraceCheckUtils]: 119: Hoare triple {18485#true} SUMMARY for call #t~ret0.base, #t~ret0.offset := strncpy(~dest.base, ~dest.offset, ~src.base, ~src.offset, ~n); srcloc: L31-2 {18485#true} is VALID [2020-07-10 20:22:57,404 INFO L280 TraceCheckUtils]: 120: Hoare triple {18485#true} #res.base, #res.offset := #t~ret0.base, #t~ret0.offset; {18485#true} is VALID [2020-07-10 20:22:57,404 INFO L280 TraceCheckUtils]: 121: Hoare triple {18485#true} havoc #t~ret0.base, #t~ret0.offset; {18485#true} is VALID [2020-07-10 20:22:57,404 INFO L280 TraceCheckUtils]: 122: Hoare triple {18485#true} assume true; {18485#true} is VALID [2020-07-10 20:22:57,404 INFO L275 TraceCheckUtils]: 123: Hoare quadruple {18485#true} {18486#false} #227#return; {18486#false} is VALID [2020-07-10 20:22:57,405 INFO L280 TraceCheckUtils]: 124: Hoare triple {18486#false} havoc #t~ret19.base, #t~ret19.offset; {18486#false} is VALID [2020-07-10 20:22:57,405 INFO L263 TraceCheckUtils]: 125: Hoare triple {18486#false} call __VERIFIER_assert((if 1 + (~j~0 - ~start~0) < 2 then 1 else 0)); {18486#false} is VALID [2020-07-10 20:22:57,405 INFO L280 TraceCheckUtils]: 126: Hoare triple {18486#false} ~cond := #in~cond; {18486#false} is VALID [2020-07-10 20:22:57,405 INFO L280 TraceCheckUtils]: 127: Hoare triple {18486#false} assume 0 == ~cond; {18486#false} is VALID [2020-07-10 20:22:57,405 INFO L280 TraceCheckUtils]: 128: Hoare triple {18486#false} assume !false; {18486#false} is VALID [2020-07-10 20:22:57,426 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:57,426 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 20:22:57,426 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1459812460] [2020-07-10 20:22:57,426 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 20:22:57,427 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2020-07-10 20:22:57,427 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2094269643] [2020-07-10 20:22:57,428 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 129 [2020-07-10 20:22:57,428 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 20:22:57,428 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-10 20:22:57,511 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:22:57,512 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-10 20:22:57,512 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 20:22:57,512 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-10 20:22:57,512 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=105, Unknown=0, NotChecked=0, Total=132 [2020-07-10 20:22:57,513 INFO L87 Difference]: Start difference. First operand 214 states and 233 transitions. Second operand 12 states. [2020-07-10 20:23:00,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:00,037 INFO L93 Difference]: Finished difference Result 488 states and 541 transitions. [2020-07-10 20:23:00,037 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-10 20:23:00,037 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 129 [2020-07-10 20:23:00,038 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 20:23:00,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-10 20:23:00,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 471 transitions. [2020-07-10 20:23:00,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-10 20:23:00,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 471 transitions. [2020-07-10 20:23:00,051 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 471 transitions. [2020-07-10 20:23:00,576 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 471 edges. 471 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:23:00,591 INFO L225 Difference]: With dead ends: 488 [2020-07-10 20:23:00,591 INFO L226 Difference]: Without dead ends: 384 [2020-07-10 20:23:00,596 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:23:00,597 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 384 states. [2020-07-10 20:23:00,796 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 384 to 195. [2020-07-10 20:23:00,796 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 20:23:00,796 INFO L82 GeneralOperation]: Start isEquivalent. First operand 384 states. Second operand 195 states. [2020-07-10 20:23:00,796 INFO L74 IsIncluded]: Start isIncluded. First operand 384 states. Second operand 195 states. [2020-07-10 20:23:00,796 INFO L87 Difference]: Start difference. First operand 384 states. Second operand 195 states. [2020-07-10 20:23:00,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:00,808 INFO L93 Difference]: Finished difference Result 384 states and 427 transitions. [2020-07-10 20:23:00,808 INFO L276 IsEmpty]: Start isEmpty. Operand 384 states and 427 transitions. [2020-07-10 20:23:00,809 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:23:00,809 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:23:00,809 INFO L74 IsIncluded]: Start isIncluded. First operand 195 states. Second operand 384 states. [2020-07-10 20:23:00,809 INFO L87 Difference]: Start difference. First operand 195 states. Second operand 384 states. [2020-07-10 20:23:00,820 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 20:23:00,820 INFO L93 Difference]: Finished difference Result 384 states and 427 transitions. [2020-07-10 20:23:00,820 INFO L276 IsEmpty]: Start isEmpty. Operand 384 states and 427 transitions. [2020-07-10 20:23:00,821 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 20:23:00,822 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 20:23:00,822 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 20:23:00,822 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 20:23:00,822 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 195 states. [2020-07-10 20:23:00,826 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 195 states to 195 states and 211 transitions. [2020-07-10 20:23:00,827 INFO L78 Accepts]: Start accepts. Automaton has 195 states and 211 transitions. Word has length 129 [2020-07-10 20:23:00,827 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 20:23:00,827 INFO L479 AbstractCegarLoop]: Abstraction has 195 states and 211 transitions. [2020-07-10 20:23:00,827 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-10 20:23:00,827 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 195 states and 211 transitions. [2020-07-10 20:23:01,075 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 211 edges. 211 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 20:23:01,075 INFO L276 IsEmpty]: Start isEmpty. Operand 195 states and 211 transitions. [2020-07-10 20:23:01,077 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 132 [2020-07-10 20:23:01,079 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 20:23:01,079 INFO L422 BasicCegarLoop]: trace histogram [8, 8, 8, 8, 8, 8, 8, 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:23:01,080 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14 [2020-07-10 20:23:01,080 INFO L427 AbstractCegarLoop]: === Iteration 16 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 20:23:01,080 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 20:23:01,080 INFO L82 PathProgramCache]: Analyzing trace with hash -374659365, now seen corresponding path program 1 times [2020-07-10 20:23:01,080 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 20:23:01,081 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1151941659] [2020-07-10 20:23:01,081 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 20:23:01,100 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15 [2020-07-10 20:23:01,100 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.NullPointerException at de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.AcceleratedInterpolation.generateMetaTrace(AcceleratedInterpolation.java:442) at de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.AcceleratedInterpolation.acceleratedInterpolationCore(AcceleratedInterpolation.java:277) at de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.AcceleratedInterpolation.(AcceleratedInterpolation.java:184) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModulePreferences.construct(IpTcStrategyModulePreferences.java:144) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.isCorrect(IpTcStrategyModuleBase.java:57) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.checkFeasibility(AutomatonFreeRefinementEngine.java:242) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:166) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:85) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:75) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:508) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:436) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:370) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopResult.iterate(CegarLoopResult.java:142) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterateNew(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:127) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:120) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:317) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2020-07-10 20:23:01,106 INFO L168 Benchmark]: Toolchain (without parser) took 39288.38 ms. Allocated memory was 138.4 MB in the beginning and 493.9 MB in the end (delta: 355.5 MB). Free memory was 102.7 MB in the beginning and 404.8 MB in the end (delta: -302.0 MB). Peak memory consumption was 53.4 MB. Max. memory is 7.1 GB. [2020-07-10 20:23:01,107 INFO L168 Benchmark]: CDTParser took 0.21 ms. Allocated memory is still 138.4 MB. Free memory was 121.8 MB in the beginning and 121.6 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. [2020-07-10 20:23:01,113 INFO L168 Benchmark]: CACSL2BoogieTranslator took 558.61 ms. Allocated memory was 138.4 MB in the beginning and 201.3 MB in the end (delta: 62.9 MB). Free memory was 102.5 MB in the beginning and 176.6 MB in the end (delta: -74.1 MB). Peak memory consumption was 23.6 MB. Max. memory is 7.1 GB. [2020-07-10 20:23:01,114 INFO L168 Benchmark]: Boogie Preprocessor took 87.18 ms. Allocated memory is still 201.3 MB. Free memory was 176.6 MB in the beginning and 174.0 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:01,115 INFO L168 Benchmark]: RCFGBuilder took 752.98 ms. Allocated memory is still 201.3 MB. Free memory was 174.0 MB in the beginning and 120.7 MB in the end (delta: 53.3 MB). Peak memory consumption was 53.3 MB. Max. memory is 7.1 GB. [2020-07-10 20:23:01,116 INFO L168 Benchmark]: TraceAbstraction took 37883.82 ms. Allocated memory was 201.3 MB in the beginning and 493.9 MB in the end (delta: 292.6 MB). Free memory was 120.7 MB in the beginning and 404.8 MB in the end (delta: -284.0 MB). Peak memory consumption was 8.5 MB. Max. memory is 7.1 GB. [2020-07-10 20:23:01,120 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.21 ms. Allocated memory is still 138.4 MB. Free memory was 121.8 MB in the beginning and 121.6 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 558.61 ms. Allocated memory was 138.4 MB in the beginning and 201.3 MB in the end (delta: 62.9 MB). Free memory was 102.5 MB in the beginning and 176.6 MB in the end (delta: -74.1 MB). Peak memory consumption was 23.6 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 87.18 ms. Allocated memory is still 201.3 MB. Free memory was 176.6 MB in the beginning and 174.0 MB in the end (delta: 2.6 MB). Peak memory consumption was 2.6 MB. Max. memory is 7.1 GB. * RCFGBuilder took 752.98 ms. Allocated memory is still 201.3 MB. Free memory was 174.0 MB in the beginning and 120.7 MB in the end (delta: 53.3 MB). Peak memory consumption was 53.3 MB. Max. memory is 7.1 GB. * TraceAbstraction took 37883.82 ms. Allocated memory was 201.3 MB in the beginning and 493.9 MB in the end (delta: 292.6 MB). Free memory was 120.7 MB in the beginning and 404.8 MB in the end (delta: -284.0 MB). Peak memory consumption was 8.5 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: NullPointerException: null de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: NullPointerException: null: de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.AcceleratedInterpolation.generateMetaTrace(AcceleratedInterpolation.java:442) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...