java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/loops/verisec_OpenSER__cases1_stripFullBoth_arr_false-unreach-call_true-termination.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-370d6ab [2018-11-14 17:30:08,015 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-14 17:30:08,018 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-14 17:30:08,036 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-14 17:30:08,037 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-14 17:30:08,038 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-14 17:30:08,040 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-14 17:30:08,042 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-14 17:30:08,044 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-14 17:30:08,045 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-14 17:30:08,046 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-14 17:30:08,046 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-14 17:30:08,047 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-14 17:30:08,048 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-14 17:30:08,050 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-14 17:30:08,051 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-14 17:30:08,052 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-14 17:30:08,057 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-14 17:30:08,059 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-14 17:30:08,066 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-14 17:30:08,067 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-14 17:30:08,068 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-14 17:30:08,071 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-14 17:30:08,071 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-14 17:30:08,072 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-14 17:30:08,076 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-14 17:30:08,077 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-14 17:30:08,078 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-14 17:30:08,081 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-14 17:30:08,082 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-14 17:30:08,082 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-14 17:30:08,083 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-14 17:30:08,083 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-14 17:30:08,083 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-14 17:30:08,086 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-14 17:30:08,087 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-14 17:30:08,088 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-14 17:30:08,115 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-14 17:30:08,116 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-14 17:30:08,117 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-14 17:30:08,117 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-11-14 17:30:08,118 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-14 17:30:08,118 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-14 17:30:08,118 INFO L133 SettingsManager]: * Use SBE=true [2018-11-14 17:30:08,119 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-14 17:30:08,119 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-14 17:30:08,119 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-14 17:30:08,119 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-14 17:30:08,121 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-14 17:30:08,121 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-14 17:30:08,121 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-14 17:30:08,121 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-14 17:30:08,122 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-14 17:30:08,122 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-14 17:30:08,122 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-14 17:30:08,122 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-14 17:30:08,123 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-14 17:30:08,123 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-14 17:30:08,123 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-14 17:30:08,123 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-14 17:30:08,126 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-14 17:30:08,126 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-14 17:30:08,126 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-14 17:30:08,127 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-14 17:30:08,127 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-14 17:30:08,127 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-14 17:30:08,127 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-14 17:30:08,195 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-14 17:30:08,215 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-14 17:30:08,219 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-14 17:30:08,221 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-14 17:30:08,221 INFO L276 PluginConnector]: CDTParser initialized [2018-11-14 17:30:08,222 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loops/verisec_OpenSER__cases1_stripFullBoth_arr_false-unreach-call_true-termination.i [2018-11-14 17:30:08,294 INFO L218 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8cfe78010/e60bf3ff82b446ceb3aa1c1ae2eb11f8/FLAG93f14eb0d [2018-11-14 17:30:08,785 INFO L298 CDTParser]: Found 1 translation units. [2018-11-14 17:30:08,786 INFO L158 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/verisec_OpenSER__cases1_stripFullBoth_arr_false-unreach-call_true-termination.i [2018-11-14 17:30:08,794 INFO L346 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8cfe78010/e60bf3ff82b446ceb3aa1c1ae2eb11f8/FLAG93f14eb0d [2018-11-14 17:30:08,809 INFO L354 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8cfe78010/e60bf3ff82b446ceb3aa1c1ae2eb11f8 [2018-11-14 17:30:08,819 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-14 17:30:08,821 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-11-14 17:30:08,822 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-14 17:30:08,823 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-14 17:30:08,827 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-14 17:30:08,828 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 05:30:08" (1/1) ... [2018-11-14 17:30:08,831 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@34e0d818 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:30:08, skipping insertion in model container [2018-11-14 17:30:08,832 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 05:30:08" (1/1) ... [2018-11-14 17:30:08,843 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-14 17:30:08,869 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-14 17:30:09,086 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 17:30:09,098 INFO L191 MainTranslator]: Completed pre-run [2018-11-14 17:30:09,136 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 17:30:09,162 INFO L195 MainTranslator]: Completed translation [2018-11-14 17:30:09,163 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:30:09 WrapperNode [2018-11-14 17:30:09,163 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-14 17:30:09,164 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-14 17:30:09,164 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-14 17:30:09,164 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-14 17:30:09,180 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:30:09" (1/1) ... [2018-11-14 17:30:09,180 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:30:09" (1/1) ... [2018-11-14 17:30:09,192 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:30:09" (1/1) ... [2018-11-14 17:30:09,192 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:30:09" (1/1) ... [2018-11-14 17:30:09,211 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:30:09" (1/1) ... [2018-11-14 17:30:09,228 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:30:09" (1/1) ... [2018-11-14 17:30:09,234 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:30:09" (1/1) ... [2018-11-14 17:30:09,313 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-14 17:30:09,313 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-14 17:30:09,318 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-14 17:30:09,318 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-14 17:30:09,319 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:30:09" (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 [2018-11-14 17:30:09,383 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-14 17:30:09,383 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-14 17:30:09,383 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-14 17:30:09,383 INFO L138 BoogieDeclarations]: Found implementation of procedure parse_expression_list [2018-11-14 17:30:09,384 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-14 17:30:09,384 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-11-14 17:30:09,384 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-14 17:30:09,384 INFO L130 BoogieDeclarations]: Found specification of procedure strchr [2018-11-14 17:30:09,384 INFO L130 BoogieDeclarations]: Found specification of procedure strrchr [2018-11-14 17:30:09,384 INFO L130 BoogieDeclarations]: Found specification of procedure strstr [2018-11-14 17:30:09,385 INFO L130 BoogieDeclarations]: Found specification of procedure strncpy [2018-11-14 17:30:09,385 INFO L130 BoogieDeclarations]: Found specification of procedure strncpy_ptr [2018-11-14 17:30:09,385 INFO L130 BoogieDeclarations]: Found specification of procedure strcpy [2018-11-14 17:30:09,385 INFO L130 BoogieDeclarations]: Found specification of procedure strlen [2018-11-14 17:30:09,385 INFO L130 BoogieDeclarations]: Found specification of procedure strncmp [2018-11-14 17:30:09,385 INFO L130 BoogieDeclarations]: Found specification of procedure strcmp [2018-11-14 17:30:09,386 INFO L130 BoogieDeclarations]: Found specification of procedure strcat [2018-11-14 17:30:09,386 INFO L130 BoogieDeclarations]: Found specification of procedure memcpy [2018-11-14 17:30:09,386 INFO L130 BoogieDeclarations]: Found specification of procedure isascii [2018-11-14 17:30:09,386 INFO L130 BoogieDeclarations]: Found specification of procedure isspace [2018-11-14 17:30:09,386 INFO L130 BoogieDeclarations]: Found specification of procedure getc [2018-11-14 17:30:09,387 INFO L130 BoogieDeclarations]: Found specification of procedure strrand [2018-11-14 17:30:09,387 INFO L130 BoogieDeclarations]: Found specification of procedure istrrand [2018-11-14 17:30:09,387 INFO L130 BoogieDeclarations]: Found specification of procedure istrchr [2018-11-14 17:30:09,387 INFO L130 BoogieDeclarations]: Found specification of procedure istrrchr [2018-11-14 17:30:09,387 INFO L130 BoogieDeclarations]: Found specification of procedure istrncmp [2018-11-14 17:30:09,387 INFO L130 BoogieDeclarations]: Found specification of procedure istrstr [2018-11-14 17:30:09,388 INFO L130 BoogieDeclarations]: Found specification of procedure r_strncpy [2018-11-14 17:30:09,388 INFO L130 BoogieDeclarations]: Found specification of procedure r_strcpy [2018-11-14 17:30:09,388 INFO L130 BoogieDeclarations]: Found specification of procedure r_strcat [2018-11-14 17:30:09,388 INFO L130 BoogieDeclarations]: Found specification of procedure r_strncat [2018-11-14 17:30:09,388 INFO L130 BoogieDeclarations]: Found specification of procedure r_memcpy [2018-11-14 17:30:09,388 INFO L130 BoogieDeclarations]: Found specification of procedure parse_expression_list [2018-11-14 17:30:09,388 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-14 17:30:09,388 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-14 17:30:09,389 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-14 17:30:09,389 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-14 17:30:09,389 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-14 17:30:09,389 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-14 17:30:09,389 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-14 17:30:09,390 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-11-14 17:30:10,447 INFO L278 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-14 17:30:10,448 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 05:30:10 BoogieIcfgContainer [2018-11-14 17:30:10,448 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-14 17:30:10,449 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-14 17:30:10,449 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-14 17:30:10,453 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-14 17:30:10,453 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.11 05:30:08" (1/3) ... [2018-11-14 17:30:10,454 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@78a718c7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 05:30:10, skipping insertion in model container [2018-11-14 17:30:10,454 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 05:30:09" (2/3) ... [2018-11-14 17:30:10,455 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@78a718c7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 05:30:10, skipping insertion in model container [2018-11-14 17:30:10,455 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 05:30:10" (3/3) ... [2018-11-14 17:30:10,457 INFO L112 eAbstractionObserver]: Analyzing ICFG verisec_OpenSER__cases1_stripFullBoth_arr_false-unreach-call_true-termination.i [2018-11-14 17:30:10,466 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-14 17:30:10,473 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-14 17:30:10,488 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-14 17:30:10,522 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-14 17:30:10,523 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-14 17:30:10,523 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-14 17:30:10,523 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-14 17:30:10,524 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-14 17:30:10,524 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-14 17:30:10,524 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-14 17:30:10,524 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-14 17:30:10,524 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-14 17:30:10,544 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states. [2018-11-14 17:30:10,551 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-14 17:30:10,552 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:30:10,553 INFO L375 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] [2018-11-14 17:30:10,556 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:30:10,563 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:30:10,564 INFO L82 PathProgramCache]: Analyzing trace with hash 565940665, now seen corresponding path program 1 times [2018-11-14 17:30:10,566 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:30:10,567 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:30:10,614 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:10,614 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:30:10,614 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:10,675 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:30:10,759 INFO L256 TraceCheckUtils]: 0: Hoare triple {51#true} call ULTIMATE.init(); {51#true} is VALID [2018-11-14 17:30:10,763 INFO L273 TraceCheckUtils]: 1: Hoare triple {51#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {51#true} is VALID [2018-11-14 17:30:10,763 INFO L273 TraceCheckUtils]: 2: Hoare triple {51#true} assume true; {51#true} is VALID [2018-11-14 17:30:10,764 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {51#true} {51#true} #129#return; {51#true} is VALID [2018-11-14 17:30:10,765 INFO L256 TraceCheckUtils]: 4: Hoare triple {51#true} call #t~ret20 := main(); {51#true} is VALID [2018-11-14 17:30:10,765 INFO L273 TraceCheckUtils]: 5: Hoare triple {51#true} call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(9);call write~int(0, ~#A~0.base, ~#A~0.offset + 8, 1); {51#true} is VALID [2018-11-14 17:30:10,765 INFO L256 TraceCheckUtils]: 6: Hoare triple {51#true} call #t~ret19 := parse_expression_list(~#A~0.base, ~#A~0.offset); {51#true} is VALID [2018-11-14 17:30:10,766 INFO L273 TraceCheckUtils]: 7: Hoare triple {51#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset;~start~0 := 0;~i~0 := -1;~j~0 := -1;call ~#str2~0.base, ~#str2~0.offset := #Ultimate.alloc(2); {51#true} is VALID [2018-11-14 17:30:10,766 INFO L273 TraceCheckUtils]: 8: Hoare triple {51#true} assume !(~str.base == 0 && ~str.offset == 0); {51#true} is VALID [2018-11-14 17:30:10,767 INFO L273 TraceCheckUtils]: 9: Hoare triple {51#true} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {51#true} is VALID [2018-11-14 17:30:10,767 INFO L273 TraceCheckUtils]: 10: Hoare triple {51#true} assume #t~switch3; {51#true} is VALID [2018-11-14 17:30:10,780 INFO L273 TraceCheckUtils]: 11: Hoare triple {51#true} assume !true; {52#false} is VALID [2018-11-14 17:30:10,781 INFO L273 TraceCheckUtils]: 12: Hoare triple {52#false} call #t~mem8 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1); {52#false} is VALID [2018-11-14 17:30:10,781 INFO L273 TraceCheckUtils]: 13: Hoare triple {52#false} assume #t~mem8 == 34;havoc #t~mem8;#t~post9 := ~start~0;~start~0 := #t~post9 + 1;havoc #t~post9; {52#false} is VALID [2018-11-14 17:30:10,781 INFO L273 TraceCheckUtils]: 14: Hoare triple {52#false} ~j~0 := ~i~0 - 1; {52#false} is VALID [2018-11-14 17:30:10,782 INFO L273 TraceCheckUtils]: 15: Hoare triple {52#false} assume !true; {52#false} is VALID [2018-11-14 17:30:10,782 INFO L273 TraceCheckUtils]: 16: Hoare triple {52#false} #t~short16 := 0 < ~j~0; {52#false} is VALID [2018-11-14 17:30:10,782 INFO L273 TraceCheckUtils]: 17: Hoare triple {52#false} assume #t~short16;call #t~mem15 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short16 := #t~mem15 == 34; {52#false} is VALID [2018-11-14 17:30:10,783 INFO L273 TraceCheckUtils]: 18: Hoare triple {52#false} assume #t~short16;havoc #t~short16;havoc #t~mem15;#t~post17 := ~j~0;~j~0 := #t~post17 - 1;havoc #t~post17; {52#false} is VALID [2018-11-14 17:30:10,783 INFO L273 TraceCheckUtils]: 19: Hoare triple {52#false} assume ~start~0 <= ~j~0;call #t~ret18.base, #t~ret18.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0 * 1, ~j~0 - ~start~0 + 1);havoc #t~ret18.base, #t~ret18.offset; {52#false} is VALID [2018-11-14 17:30:10,783 INFO L256 TraceCheckUtils]: 20: Hoare triple {52#false} call __VERIFIER_assert((if ~j~0 - ~start~0 + 1 < 2 then 1 else 0)); {52#false} is VALID [2018-11-14 17:30:10,784 INFO L273 TraceCheckUtils]: 21: Hoare triple {52#false} ~cond := #in~cond; {52#false} is VALID [2018-11-14 17:30:10,784 INFO L273 TraceCheckUtils]: 22: Hoare triple {52#false} assume ~cond == 0; {52#false} is VALID [2018-11-14 17:30:10,784 INFO L273 TraceCheckUtils]: 23: Hoare triple {52#false} assume !false; {52#false} is VALID [2018-11-14 17:30:10,789 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:30:10,792 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:30:10,792 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-14 17:30:10,798 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 24 [2018-11-14 17:30:10,801 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:30:10,805 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-14 17:30:10,942 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:10,942 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-14 17:30:10,951 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-14 17:30:10,952 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-14 17:30:10,955 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 2 states. [2018-11-14 17:30:11,517 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:11,517 INFO L93 Difference]: Finished difference Result 87 states and 117 transitions. [2018-11-14 17:30:11,517 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-14 17:30:11,518 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 24 [2018-11-14 17:30:11,518 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:30:11,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 17:30:11,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 117 transitions. [2018-11-14 17:30:11,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 17:30:11,543 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 117 transitions. [2018-11-14 17:30:11,543 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 117 transitions. [2018-11-14 17:30:12,137 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:12,149 INFO L225 Difference]: With dead ends: 87 [2018-11-14 17:30:12,149 INFO L226 Difference]: Without dead ends: 40 [2018-11-14 17:30:12,154 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-14 17:30:12,170 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-11-14 17:30:12,211 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 40. [2018-11-14 17:30:12,211 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:30:12,212 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 40 states. [2018-11-14 17:30:12,212 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 40 states. [2018-11-14 17:30:12,212 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 40 states. [2018-11-14 17:30:12,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:12,217 INFO L93 Difference]: Finished difference Result 40 states and 49 transitions. [2018-11-14 17:30:12,218 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 49 transitions. [2018-11-14 17:30:12,219 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:12,219 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:12,219 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 40 states. [2018-11-14 17:30:12,219 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 40 states. [2018-11-14 17:30:12,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:12,224 INFO L93 Difference]: Finished difference Result 40 states and 49 transitions. [2018-11-14 17:30:12,224 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 49 transitions. [2018-11-14 17:30:12,225 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:12,225 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:12,226 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:30:12,226 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:30:12,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2018-11-14 17:30:12,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 49 transitions. [2018-11-14 17:30:12,231 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 49 transitions. Word has length 24 [2018-11-14 17:30:12,232 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:30:12,232 INFO L480 AbstractCegarLoop]: Abstraction has 40 states and 49 transitions. [2018-11-14 17:30:12,232 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-14 17:30:12,232 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 49 transitions. [2018-11-14 17:30:12,233 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-14 17:30:12,234 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:30:12,234 INFO L375 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] [2018-11-14 17:30:12,234 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:30:12,235 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:30:12,235 INFO L82 PathProgramCache]: Analyzing trace with hash -1249082240, now seen corresponding path program 1 times [2018-11-14 17:30:12,235 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:30:12,235 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:30:12,236 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:12,237 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:30:12,237 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:12,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:30:12,320 INFO L256 TraceCheckUtils]: 0: Hoare triple {289#true} call ULTIMATE.init(); {289#true} is VALID [2018-11-14 17:30:12,320 INFO L273 TraceCheckUtils]: 1: Hoare triple {289#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {289#true} is VALID [2018-11-14 17:30:12,321 INFO L273 TraceCheckUtils]: 2: Hoare triple {289#true} assume true; {289#true} is VALID [2018-11-14 17:30:12,321 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {289#true} {289#true} #129#return; {289#true} is VALID [2018-11-14 17:30:12,322 INFO L256 TraceCheckUtils]: 4: Hoare triple {289#true} call #t~ret20 := main(); {289#true} is VALID [2018-11-14 17:30:12,322 INFO L273 TraceCheckUtils]: 5: Hoare triple {289#true} call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(9);call write~int(0, ~#A~0.base, ~#A~0.offset + 8, 1); {289#true} is VALID [2018-11-14 17:30:12,323 INFO L256 TraceCheckUtils]: 6: Hoare triple {289#true} call #t~ret19 := parse_expression_list(~#A~0.base, ~#A~0.offset); {289#true} is VALID [2018-11-14 17:30:12,323 INFO L273 TraceCheckUtils]: 7: Hoare triple {289#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset;~start~0 := 0;~i~0 := -1;~j~0 := -1;call ~#str2~0.base, ~#str2~0.offset := #Ultimate.alloc(2); {289#true} is VALID [2018-11-14 17:30:12,323 INFO L273 TraceCheckUtils]: 8: Hoare triple {289#true} assume !(~str.base == 0 && ~str.offset == 0); {289#true} is VALID [2018-11-14 17:30:12,324 INFO L273 TraceCheckUtils]: 9: Hoare triple {289#true} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {289#true} is VALID [2018-11-14 17:30:12,324 INFO L273 TraceCheckUtils]: 10: Hoare triple {289#true} assume #t~switch3; {289#true} is VALID [2018-11-14 17:30:12,324 INFO L273 TraceCheckUtils]: 11: Hoare triple {289#true} assume true; {289#true} is VALID [2018-11-14 17:30:12,324 INFO L273 TraceCheckUtils]: 12: Hoare triple {289#true} call #t~mem4 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem4 == 32; {289#true} is VALID [2018-11-14 17:30:12,325 INFO L273 TraceCheckUtils]: 13: Hoare triple {289#true} assume #t~short6; {291#|parse_expression_list_#t~short6|} is VALID [2018-11-14 17:30:12,327 INFO L273 TraceCheckUtils]: 14: Hoare triple {291#|parse_expression_list_#t~short6|} assume !#t~short6;havoc #t~mem5;havoc #t~short6;havoc #t~mem4; {290#false} is VALID [2018-11-14 17:30:12,327 INFO L273 TraceCheckUtils]: 15: Hoare triple {290#false} call #t~mem8 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1); {290#false} is VALID [2018-11-14 17:30:12,327 INFO L273 TraceCheckUtils]: 16: Hoare triple {290#false} assume #t~mem8 == 34;havoc #t~mem8;#t~post9 := ~start~0;~start~0 := #t~post9 + 1;havoc #t~post9; {290#false} is VALID [2018-11-14 17:30:12,327 INFO L273 TraceCheckUtils]: 17: Hoare triple {290#false} ~j~0 := ~i~0 - 1; {290#false} is VALID [2018-11-14 17:30:12,328 INFO L273 TraceCheckUtils]: 18: Hoare triple {290#false} assume true; {290#false} is VALID [2018-11-14 17:30:12,328 INFO L273 TraceCheckUtils]: 19: Hoare triple {290#false} #t~short13 := 0 < ~j~0; {290#false} is VALID [2018-11-14 17:30:12,329 INFO L273 TraceCheckUtils]: 20: Hoare triple {290#false} assume !#t~short13; {290#false} is VALID [2018-11-14 17:30:12,329 INFO L273 TraceCheckUtils]: 21: Hoare triple {290#false} assume !#t~short13;havoc #t~short12;havoc #t~short13;havoc #t~mem11;havoc #t~mem10; {290#false} is VALID [2018-11-14 17:30:12,330 INFO L273 TraceCheckUtils]: 22: Hoare triple {290#false} #t~short16 := 0 < ~j~0; {290#false} is VALID [2018-11-14 17:30:12,330 INFO L273 TraceCheckUtils]: 23: Hoare triple {290#false} assume #t~short16;call #t~mem15 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short16 := #t~mem15 == 34; {290#false} is VALID [2018-11-14 17:30:12,330 INFO L273 TraceCheckUtils]: 24: Hoare triple {290#false} assume #t~short16;havoc #t~short16;havoc #t~mem15;#t~post17 := ~j~0;~j~0 := #t~post17 - 1;havoc #t~post17; {290#false} is VALID [2018-11-14 17:30:12,330 INFO L273 TraceCheckUtils]: 25: Hoare triple {290#false} assume ~start~0 <= ~j~0;call #t~ret18.base, #t~ret18.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0 * 1, ~j~0 - ~start~0 + 1);havoc #t~ret18.base, #t~ret18.offset; {290#false} is VALID [2018-11-14 17:30:12,331 INFO L256 TraceCheckUtils]: 26: Hoare triple {290#false} call __VERIFIER_assert((if ~j~0 - ~start~0 + 1 < 2 then 1 else 0)); {290#false} is VALID [2018-11-14 17:30:12,331 INFO L273 TraceCheckUtils]: 27: Hoare triple {290#false} ~cond := #in~cond; {290#false} is VALID [2018-11-14 17:30:12,331 INFO L273 TraceCheckUtils]: 28: Hoare triple {290#false} assume ~cond == 0; {290#false} is VALID [2018-11-14 17:30:12,332 INFO L273 TraceCheckUtils]: 29: Hoare triple {290#false} assume !false; {290#false} is VALID [2018-11-14 17:30:12,334 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:30:12,334 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:30:12,334 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-14 17:30:12,336 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 30 [2018-11-14 17:30:12,336 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:30:12,337 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-14 17:30:12,395 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:12,396 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-14 17:30:12,396 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-14 17:30:12,396 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 17:30:12,397 INFO L87 Difference]: Start difference. First operand 40 states and 49 transitions. Second operand 3 states. [2018-11-14 17:30:12,639 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:12,639 INFO L93 Difference]: Finished difference Result 72 states and 91 transitions. [2018-11-14 17:30:12,639 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 17:30:12,640 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 30 [2018-11-14 17:30:12,640 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:30:12,640 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 17:30:12,644 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 91 transitions. [2018-11-14 17:30:12,644 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 17:30:12,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 91 transitions. [2018-11-14 17:30:12,648 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 91 transitions. [2018-11-14 17:30:12,852 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:12,856 INFO L225 Difference]: With dead ends: 72 [2018-11-14 17:30:12,856 INFO L226 Difference]: Without dead ends: 41 [2018-11-14 17:30:12,857 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 17:30:12,858 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2018-11-14 17:30:12,889 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 41. [2018-11-14 17:30:12,890 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:30:12,890 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 41 states. [2018-11-14 17:30:12,890 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 41 states. [2018-11-14 17:30:12,890 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 41 states. [2018-11-14 17:30:12,893 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:12,894 INFO L93 Difference]: Finished difference Result 41 states and 50 transitions. [2018-11-14 17:30:12,894 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 50 transitions. [2018-11-14 17:30:12,895 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:12,895 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:12,895 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 41 states. [2018-11-14 17:30:12,895 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 41 states. [2018-11-14 17:30:12,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:12,898 INFO L93 Difference]: Finished difference Result 41 states and 50 transitions. [2018-11-14 17:30:12,899 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 50 transitions. [2018-11-14 17:30:12,899 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:12,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:12,900 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:30:12,900 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:30:12,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-14 17:30:12,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 50 transitions. [2018-11-14 17:30:12,904 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 50 transitions. Word has length 30 [2018-11-14 17:30:12,904 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:30:12,904 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 50 transitions. [2018-11-14 17:30:12,904 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-14 17:30:12,904 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 50 transitions. [2018-11-14 17:30:12,906 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-14 17:30:12,906 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:30:12,906 INFO L375 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] [2018-11-14 17:30:12,906 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:30:12,907 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:30:12,907 INFO L82 PathProgramCache]: Analyzing trace with hash 1457537154, now seen corresponding path program 1 times [2018-11-14 17:30:12,907 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:30:12,907 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:30:12,908 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:12,908 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:30:12,909 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:12,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:30:13,025 INFO L256 TraceCheckUtils]: 0: Hoare triple {516#true} call ULTIMATE.init(); {516#true} is VALID [2018-11-14 17:30:13,026 INFO L273 TraceCheckUtils]: 1: Hoare triple {516#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {516#true} is VALID [2018-11-14 17:30:13,026 INFO L273 TraceCheckUtils]: 2: Hoare triple {516#true} assume true; {516#true} is VALID [2018-11-14 17:30:13,026 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {516#true} {516#true} #129#return; {516#true} is VALID [2018-11-14 17:30:13,027 INFO L256 TraceCheckUtils]: 4: Hoare triple {516#true} call #t~ret20 := main(); {516#true} is VALID [2018-11-14 17:30:13,027 INFO L273 TraceCheckUtils]: 5: Hoare triple {516#true} call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(9);call write~int(0, ~#A~0.base, ~#A~0.offset + 8, 1); {516#true} is VALID [2018-11-14 17:30:13,027 INFO L256 TraceCheckUtils]: 6: Hoare triple {516#true} call #t~ret19 := parse_expression_list(~#A~0.base, ~#A~0.offset); {516#true} is VALID [2018-11-14 17:30:13,027 INFO L273 TraceCheckUtils]: 7: Hoare triple {516#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset;~start~0 := 0;~i~0 := -1;~j~0 := -1;call ~#str2~0.base, ~#str2~0.offset := #Ultimate.alloc(2); {516#true} is VALID [2018-11-14 17:30:13,028 INFO L273 TraceCheckUtils]: 8: Hoare triple {516#true} assume !(~str.base == 0 && ~str.offset == 0); {516#true} is VALID [2018-11-14 17:30:13,028 INFO L273 TraceCheckUtils]: 9: Hoare triple {516#true} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {516#true} is VALID [2018-11-14 17:30:13,028 INFO L273 TraceCheckUtils]: 10: Hoare triple {516#true} assume #t~switch3; {516#true} is VALID [2018-11-14 17:30:13,029 INFO L273 TraceCheckUtils]: 11: Hoare triple {516#true} assume true; {516#true} is VALID [2018-11-14 17:30:13,029 INFO L273 TraceCheckUtils]: 12: Hoare triple {516#true} call #t~mem4 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem4 == 32; {516#true} is VALID [2018-11-14 17:30:13,029 INFO L273 TraceCheckUtils]: 13: Hoare triple {516#true} assume !#t~short6;call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem5 == 9; {516#true} is VALID [2018-11-14 17:30:13,030 INFO L273 TraceCheckUtils]: 14: Hoare triple {516#true} assume !#t~short6;havoc #t~mem5;havoc #t~short6;havoc #t~mem4; {516#true} is VALID [2018-11-14 17:30:13,030 INFO L273 TraceCheckUtils]: 15: Hoare triple {516#true} call #t~mem8 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1); {516#true} is VALID [2018-11-14 17:30:13,031 INFO L273 TraceCheckUtils]: 16: Hoare triple {516#true} assume #t~mem8 == 34;havoc #t~mem8;#t~post9 := ~start~0;~start~0 := #t~post9 + 1;havoc #t~post9; {516#true} is VALID [2018-11-14 17:30:13,031 INFO L273 TraceCheckUtils]: 17: Hoare triple {516#true} ~j~0 := ~i~0 - 1; {516#true} is VALID [2018-11-14 17:30:13,031 INFO L273 TraceCheckUtils]: 18: Hoare triple {516#true} assume true; {516#true} is VALID [2018-11-14 17:30:13,039 INFO L273 TraceCheckUtils]: 19: Hoare triple {516#true} #t~short13 := 0 < ~j~0; {518#(or |parse_expression_list_#t~short13| (<= parse_expression_list_~j~0 0))} is VALID [2018-11-14 17:30:13,041 INFO L273 TraceCheckUtils]: 20: Hoare triple {518#(or |parse_expression_list_#t~short13| (<= parse_expression_list_~j~0 0))} assume !#t~short13; {519#(<= parse_expression_list_~j~0 0)} is VALID [2018-11-14 17:30:13,041 INFO L273 TraceCheckUtils]: 21: Hoare triple {519#(<= parse_expression_list_~j~0 0)} assume !#t~short13;havoc #t~short12;havoc #t~short13;havoc #t~mem11;havoc #t~mem10; {519#(<= parse_expression_list_~j~0 0)} is VALID [2018-11-14 17:30:13,043 INFO L273 TraceCheckUtils]: 22: Hoare triple {519#(<= parse_expression_list_~j~0 0)} #t~short16 := 0 < ~j~0; {520#(not |parse_expression_list_#t~short16|)} is VALID [2018-11-14 17:30:13,045 INFO L273 TraceCheckUtils]: 23: Hoare triple {520#(not |parse_expression_list_#t~short16|)} assume #t~short16;call #t~mem15 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short16 := #t~mem15 == 34; {517#false} is VALID [2018-11-14 17:30:13,045 INFO L273 TraceCheckUtils]: 24: Hoare triple {517#false} assume #t~short16;havoc #t~short16;havoc #t~mem15;#t~post17 := ~j~0;~j~0 := #t~post17 - 1;havoc #t~post17; {517#false} is VALID [2018-11-14 17:30:13,046 INFO L273 TraceCheckUtils]: 25: Hoare triple {517#false} assume ~start~0 <= ~j~0;call #t~ret18.base, #t~ret18.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0 * 1, ~j~0 - ~start~0 + 1);havoc #t~ret18.base, #t~ret18.offset; {517#false} is VALID [2018-11-14 17:30:13,046 INFO L256 TraceCheckUtils]: 26: Hoare triple {517#false} call __VERIFIER_assert((if ~j~0 - ~start~0 + 1 < 2 then 1 else 0)); {517#false} is VALID [2018-11-14 17:30:13,046 INFO L273 TraceCheckUtils]: 27: Hoare triple {517#false} ~cond := #in~cond; {517#false} is VALID [2018-11-14 17:30:13,047 INFO L273 TraceCheckUtils]: 28: Hoare triple {517#false} assume ~cond == 0; {517#false} is VALID [2018-11-14 17:30:13,047 INFO L273 TraceCheckUtils]: 29: Hoare triple {517#false} assume !false; {517#false} is VALID [2018-11-14 17:30:13,049 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:30:13,049 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:30:13,049 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-14 17:30:13,050 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 30 [2018-11-14 17:30:13,050 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:30:13,051 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-14 17:30:13,137 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:13,137 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-14 17:30:13,138 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-14 17:30:13,138 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2018-11-14 17:30:13,139 INFO L87 Difference]: Start difference. First operand 41 states and 50 transitions. Second operand 5 states. [2018-11-14 17:30:13,540 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:13,540 INFO L93 Difference]: Finished difference Result 100 states and 129 transitions. [2018-11-14 17:30:13,541 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-14 17:30:13,541 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 30 [2018-11-14 17:30:13,541 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:30:13,541 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 17:30:13,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 126 transitions. [2018-11-14 17:30:13,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 17:30:13,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 126 transitions. [2018-11-14 17:30:13,550 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 126 transitions. [2018-11-14 17:30:13,748 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:13,752 INFO L225 Difference]: With dead ends: 100 [2018-11-14 17:30:13,752 INFO L226 Difference]: Without dead ends: 68 [2018-11-14 17:30:13,753 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2018-11-14 17:30:13,753 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2018-11-14 17:30:13,785 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 50. [2018-11-14 17:30:13,786 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:30:13,786 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand 50 states. [2018-11-14 17:30:13,786 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 50 states. [2018-11-14 17:30:13,786 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 50 states. [2018-11-14 17:30:13,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:13,790 INFO L93 Difference]: Finished difference Result 68 states and 85 transitions. [2018-11-14 17:30:13,790 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 85 transitions. [2018-11-14 17:30:13,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:13,791 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:13,792 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 68 states. [2018-11-14 17:30:13,792 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 68 states. [2018-11-14 17:30:13,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:13,796 INFO L93 Difference]: Finished difference Result 68 states and 85 transitions. [2018-11-14 17:30:13,797 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 85 transitions. [2018-11-14 17:30:13,798 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:13,798 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:13,798 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:30:13,798 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:30:13,798 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2018-11-14 17:30:13,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 62 transitions. [2018-11-14 17:30:13,801 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 62 transitions. Word has length 30 [2018-11-14 17:30:13,801 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:30:13,801 INFO L480 AbstractCegarLoop]: Abstraction has 50 states and 62 transitions. [2018-11-14 17:30:13,802 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-14 17:30:13,802 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 62 transitions. [2018-11-14 17:30:13,803 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-14 17:30:13,803 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:30:13,803 INFO L375 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] [2018-11-14 17:30:13,803 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:30:13,804 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:30:13,804 INFO L82 PathProgramCache]: Analyzing trace with hash -1005164478, now seen corresponding path program 1 times [2018-11-14 17:30:13,804 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:30:13,804 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:30:13,805 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:13,805 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:30:13,805 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:13,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:30:14,041 INFO L256 TraceCheckUtils]: 0: Hoare triple {843#true} call ULTIMATE.init(); {843#true} is VALID [2018-11-14 17:30:14,042 INFO L273 TraceCheckUtils]: 1: Hoare triple {843#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {843#true} is VALID [2018-11-14 17:30:14,042 INFO L273 TraceCheckUtils]: 2: Hoare triple {843#true} assume true; {843#true} is VALID [2018-11-14 17:30:14,042 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {843#true} {843#true} #129#return; {843#true} is VALID [2018-11-14 17:30:14,043 INFO L256 TraceCheckUtils]: 4: Hoare triple {843#true} call #t~ret20 := main(); {843#true} is VALID [2018-11-14 17:30:14,043 INFO L273 TraceCheckUtils]: 5: Hoare triple {843#true} call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(9);call write~int(0, ~#A~0.base, ~#A~0.offset + 8, 1); {843#true} is VALID [2018-11-14 17:30:14,043 INFO L256 TraceCheckUtils]: 6: Hoare triple {843#true} call #t~ret19 := parse_expression_list(~#A~0.base, ~#A~0.offset); {843#true} is VALID [2018-11-14 17:30:14,044 INFO L273 TraceCheckUtils]: 7: Hoare triple {843#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset;~start~0 := 0;~i~0 := -1;~j~0 := -1;call ~#str2~0.base, ~#str2~0.offset := #Ultimate.alloc(2); {845#(and (<= (+ parse_expression_list_~i~0 1) 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:14,045 INFO L273 TraceCheckUtils]: 8: Hoare triple {845#(and (<= (+ parse_expression_list_~i~0 1) 0) (= parse_expression_list_~start~0 0))} assume !(~str.base == 0 && ~str.offset == 0); {845#(and (<= (+ parse_expression_list_~i~0 1) 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:14,046 INFO L273 TraceCheckUtils]: 9: Hoare triple {845#(and (<= (+ parse_expression_list_~i~0 1) 0) (= parse_expression_list_~start~0 0))} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {846#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:14,046 INFO L273 TraceCheckUtils]: 10: Hoare triple {846#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} assume #t~switch3; {846#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:14,047 INFO L273 TraceCheckUtils]: 11: Hoare triple {846#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} assume true; {846#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:14,048 INFO L273 TraceCheckUtils]: 12: Hoare triple {846#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} call #t~mem4 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem4 == 32; {846#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:14,049 INFO L273 TraceCheckUtils]: 13: Hoare triple {846#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} assume !#t~short6;call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem5 == 9; {846#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:14,050 INFO L273 TraceCheckUtils]: 14: Hoare triple {846#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} assume !#t~short6;havoc #t~mem5;havoc #t~short6;havoc #t~mem4; {846#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:14,051 INFO L273 TraceCheckUtils]: 15: Hoare triple {846#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} call #t~mem8 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1); {846#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:14,052 INFO L273 TraceCheckUtils]: 16: Hoare triple {846#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} assume #t~mem8 == 34;havoc #t~mem8;#t~post9 := ~start~0;~start~0 := #t~post9 + 1;havoc #t~post9; {847#(<= (+ parse_expression_list_~i~0 1) parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:14,053 INFO L273 TraceCheckUtils]: 17: Hoare triple {847#(<= (+ parse_expression_list_~i~0 1) parse_expression_list_~start~0)} ~j~0 := ~i~0 - 1; {848#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:14,054 INFO L273 TraceCheckUtils]: 18: Hoare triple {848#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume true; {848#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:14,055 INFO L273 TraceCheckUtils]: 19: Hoare triple {848#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #t~short13 := 0 < ~j~0; {848#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:14,056 INFO L273 TraceCheckUtils]: 20: Hoare triple {848#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short13; {848#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:14,057 INFO L273 TraceCheckUtils]: 21: Hoare triple {848#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short13;havoc #t~short12;havoc #t~short13;havoc #t~mem11;havoc #t~mem10; {848#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:14,064 INFO L273 TraceCheckUtils]: 22: Hoare triple {848#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} #t~short16 := 0 < ~j~0; {848#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:14,065 INFO L273 TraceCheckUtils]: 23: Hoare triple {848#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short16; {848#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:14,067 INFO L273 TraceCheckUtils]: 24: Hoare triple {848#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume !#t~short16;havoc #t~short16;havoc #t~mem15; {848#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:14,067 INFO L273 TraceCheckUtils]: 25: Hoare triple {848#(<= (+ parse_expression_list_~j~0 2) parse_expression_list_~start~0)} assume ~start~0 <= ~j~0;call #t~ret18.base, #t~ret18.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0 * 1, ~j~0 - ~start~0 + 1);havoc #t~ret18.base, #t~ret18.offset; {844#false} is VALID [2018-11-14 17:30:14,068 INFO L256 TraceCheckUtils]: 26: Hoare triple {844#false} call __VERIFIER_assert((if ~j~0 - ~start~0 + 1 < 2 then 1 else 0)); {844#false} is VALID [2018-11-14 17:30:14,068 INFO L273 TraceCheckUtils]: 27: Hoare triple {844#false} ~cond := #in~cond; {844#false} is VALID [2018-11-14 17:30:14,068 INFO L273 TraceCheckUtils]: 28: Hoare triple {844#false} assume ~cond == 0; {844#false} is VALID [2018-11-14 17:30:14,069 INFO L273 TraceCheckUtils]: 29: Hoare triple {844#false} assume !false; {844#false} is VALID [2018-11-14 17:30:14,071 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:30:14,072 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:30:14,072 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-14 17:30:14,072 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 30 [2018-11-14 17:30:14,073 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:30:14,073 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-14 17:30:14,138 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:14,138 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-14 17:30:14,138 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-14 17:30:14,139 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2018-11-14 17:30:14,139 INFO L87 Difference]: Start difference. First operand 50 states and 62 transitions. Second operand 6 states. [2018-11-14 17:30:14,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:14,859 INFO L93 Difference]: Finished difference Result 158 states and 206 transitions. [2018-11-14 17:30:14,860 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-14 17:30:14,860 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 30 [2018-11-14 17:30:14,860 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:30:14,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 17:30:14,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 154 transitions. [2018-11-14 17:30:14,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 17:30:14,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 154 transitions. [2018-11-14 17:30:14,869 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 154 transitions. [2018-11-14 17:30:15,078 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:15,083 INFO L225 Difference]: With dead ends: 158 [2018-11-14 17:30:15,083 INFO L226 Difference]: Without dead ends: 89 [2018-11-14 17:30:15,084 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2018-11-14 17:30:15,084 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2018-11-14 17:30:15,157 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 58. [2018-11-14 17:30:15,157 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:30:15,157 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand 58 states. [2018-11-14 17:30:15,158 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 58 states. [2018-11-14 17:30:15,158 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 58 states. [2018-11-14 17:30:15,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:15,162 INFO L93 Difference]: Finished difference Result 89 states and 111 transitions. [2018-11-14 17:30:15,162 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 111 transitions. [2018-11-14 17:30:15,163 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:15,163 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:15,164 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 89 states. [2018-11-14 17:30:15,164 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 89 states. [2018-11-14 17:30:15,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:15,169 INFO L93 Difference]: Finished difference Result 89 states and 111 transitions. [2018-11-14 17:30:15,169 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 111 transitions. [2018-11-14 17:30:15,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:15,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:15,171 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:30:15,171 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:30:15,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 58 states. [2018-11-14 17:30:15,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 71 transitions. [2018-11-14 17:30:15,174 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 71 transitions. Word has length 30 [2018-11-14 17:30:15,174 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:30:15,174 INFO L480 AbstractCegarLoop]: Abstraction has 58 states and 71 transitions. [2018-11-14 17:30:15,175 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-14 17:30:15,175 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 71 transitions. [2018-11-14 17:30:15,176 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-14 17:30:15,176 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:30:15,176 INFO L375 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] [2018-11-14 17:30:15,176 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:30:15,177 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:30:15,177 INFO L82 PathProgramCache]: Analyzing trace with hash -2016281728, now seen corresponding path program 1 times [2018-11-14 17:30:15,177 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:30:15,177 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:30:15,178 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:15,179 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:30:15,179 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:15,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:30:15,349 INFO L256 TraceCheckUtils]: 0: Hoare triple {1289#true} call ULTIMATE.init(); {1289#true} is VALID [2018-11-14 17:30:15,350 INFO L273 TraceCheckUtils]: 1: Hoare triple {1289#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1289#true} is VALID [2018-11-14 17:30:15,350 INFO L273 TraceCheckUtils]: 2: Hoare triple {1289#true} assume true; {1289#true} is VALID [2018-11-14 17:30:15,351 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1289#true} {1289#true} #129#return; {1289#true} is VALID [2018-11-14 17:30:15,351 INFO L256 TraceCheckUtils]: 4: Hoare triple {1289#true} call #t~ret20 := main(); {1289#true} is VALID [2018-11-14 17:30:15,352 INFO L273 TraceCheckUtils]: 5: Hoare triple {1289#true} call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(9);call write~int(0, ~#A~0.base, ~#A~0.offset + 8, 1); {1289#true} is VALID [2018-11-14 17:30:15,352 INFO L256 TraceCheckUtils]: 6: Hoare triple {1289#true} call #t~ret19 := parse_expression_list(~#A~0.base, ~#A~0.offset); {1289#true} is VALID [2018-11-14 17:30:15,368 INFO L273 TraceCheckUtils]: 7: Hoare triple {1289#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset;~start~0 := 0;~i~0 := -1;~j~0 := -1;call ~#str2~0.base, ~#str2~0.offset := #Ultimate.alloc(2); {1291#(and (<= (+ parse_expression_list_~i~0 1) 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:15,370 INFO L273 TraceCheckUtils]: 8: Hoare triple {1291#(and (<= (+ parse_expression_list_~i~0 1) 0) (= parse_expression_list_~start~0 0))} assume !(~str.base == 0 && ~str.offset == 0); {1291#(and (<= (+ parse_expression_list_~i~0 1) 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:15,371 INFO L273 TraceCheckUtils]: 9: Hoare triple {1291#(and (<= (+ parse_expression_list_~i~0 1) 0) (= parse_expression_list_~start~0 0))} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {1292#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:15,373 INFO L273 TraceCheckUtils]: 10: Hoare triple {1292#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} assume #t~switch3; {1292#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:15,374 INFO L273 TraceCheckUtils]: 11: Hoare triple {1292#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} assume true; {1292#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:15,376 INFO L273 TraceCheckUtils]: 12: Hoare triple {1292#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} call #t~mem4 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem4 == 32; {1292#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:15,377 INFO L273 TraceCheckUtils]: 13: Hoare triple {1292#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} assume !#t~short6;call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem5 == 9; {1292#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:15,380 INFO L273 TraceCheckUtils]: 14: Hoare triple {1292#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} assume !#t~short6;havoc #t~mem5;havoc #t~short6;havoc #t~mem4; {1292#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:15,381 INFO L273 TraceCheckUtils]: 15: Hoare triple {1292#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} call #t~mem8 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1); {1292#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:15,382 INFO L273 TraceCheckUtils]: 16: Hoare triple {1292#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} assume !(#t~mem8 == 34);havoc #t~mem8; {1292#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:15,383 INFO L273 TraceCheckUtils]: 17: Hoare triple {1292#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} ~j~0 := ~i~0 - 1; {1293#(and (<= (+ parse_expression_list_~j~0 1) 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:15,383 INFO L273 TraceCheckUtils]: 18: Hoare triple {1293#(and (<= (+ parse_expression_list_~j~0 1) 0) (= parse_expression_list_~start~0 0))} assume true; {1293#(and (<= (+ parse_expression_list_~j~0 1) 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:15,385 INFO L273 TraceCheckUtils]: 19: Hoare triple {1293#(and (<= (+ parse_expression_list_~j~0 1) 0) (= parse_expression_list_~start~0 0))} #t~short13 := 0 < ~j~0; {1293#(and (<= (+ parse_expression_list_~j~0 1) 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:15,386 INFO L273 TraceCheckUtils]: 20: Hoare triple {1293#(and (<= (+ parse_expression_list_~j~0 1) 0) (= parse_expression_list_~start~0 0))} assume !#t~short13; {1293#(and (<= (+ parse_expression_list_~j~0 1) 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:15,386 INFO L273 TraceCheckUtils]: 21: Hoare triple {1293#(and (<= (+ parse_expression_list_~j~0 1) 0) (= parse_expression_list_~start~0 0))} assume !#t~short13;havoc #t~short12;havoc #t~short13;havoc #t~mem11;havoc #t~mem10; {1293#(and (<= (+ parse_expression_list_~j~0 1) 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:15,387 INFO L273 TraceCheckUtils]: 22: Hoare triple {1293#(and (<= (+ parse_expression_list_~j~0 1) 0) (= parse_expression_list_~start~0 0))} #t~short16 := 0 < ~j~0; {1293#(and (<= (+ parse_expression_list_~j~0 1) 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:15,387 INFO L273 TraceCheckUtils]: 23: Hoare triple {1293#(and (<= (+ parse_expression_list_~j~0 1) 0) (= parse_expression_list_~start~0 0))} assume !#t~short16; {1293#(and (<= (+ parse_expression_list_~j~0 1) 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:15,393 INFO L273 TraceCheckUtils]: 24: Hoare triple {1293#(and (<= (+ parse_expression_list_~j~0 1) 0) (= parse_expression_list_~start~0 0))} assume !#t~short16;havoc #t~short16;havoc #t~mem15; {1293#(and (<= (+ parse_expression_list_~j~0 1) 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:15,395 INFO L273 TraceCheckUtils]: 25: Hoare triple {1293#(and (<= (+ parse_expression_list_~j~0 1) 0) (= parse_expression_list_~start~0 0))} assume ~start~0 <= ~j~0;call #t~ret18.base, #t~ret18.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0 * 1, ~j~0 - ~start~0 + 1);havoc #t~ret18.base, #t~ret18.offset; {1290#false} is VALID [2018-11-14 17:30:15,395 INFO L256 TraceCheckUtils]: 26: Hoare triple {1290#false} call __VERIFIER_assert((if ~j~0 - ~start~0 + 1 < 2 then 1 else 0)); {1290#false} is VALID [2018-11-14 17:30:15,396 INFO L273 TraceCheckUtils]: 27: Hoare triple {1290#false} ~cond := #in~cond; {1290#false} is VALID [2018-11-14 17:30:15,396 INFO L273 TraceCheckUtils]: 28: Hoare triple {1290#false} assume ~cond == 0; {1290#false} is VALID [2018-11-14 17:30:15,396 INFO L273 TraceCheckUtils]: 29: Hoare triple {1290#false} assume !false; {1290#false} is VALID [2018-11-14 17:30:15,399 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:30:15,400 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:30:15,400 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-14 17:30:15,401 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 30 [2018-11-14 17:30:15,401 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:30:15,401 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-14 17:30:15,440 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:15,440 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-14 17:30:15,441 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-14 17:30:15,441 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2018-11-14 17:30:15,441 INFO L87 Difference]: Start difference. First operand 58 states and 71 transitions. Second operand 5 states. [2018-11-14 17:30:16,157 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:16,158 INFO L93 Difference]: Finished difference Result 136 states and 173 transitions. [2018-11-14 17:30:16,158 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-14 17:30:16,158 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 30 [2018-11-14 17:30:16,158 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:30:16,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 17:30:16,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 134 transitions. [2018-11-14 17:30:16,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 17:30:16,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 134 transitions. [2018-11-14 17:30:16,165 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 134 transitions. [2018-11-14 17:30:16,413 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 134 edges. 134 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:16,416 INFO L225 Difference]: With dead ends: 136 [2018-11-14 17:30:16,416 INFO L226 Difference]: Without dead ends: 69 [2018-11-14 17:30:16,417 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=18, Invalid=24, Unknown=0, NotChecked=0, Total=42 [2018-11-14 17:30:16,417 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2018-11-14 17:30:16,437 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 52. [2018-11-14 17:30:16,438 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:30:16,438 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand 52 states. [2018-11-14 17:30:16,438 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 52 states. [2018-11-14 17:30:16,438 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 52 states. [2018-11-14 17:30:16,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:16,441 INFO L93 Difference]: Finished difference Result 69 states and 85 transitions. [2018-11-14 17:30:16,442 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 85 transitions. [2018-11-14 17:30:16,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:16,443 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:16,443 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 69 states. [2018-11-14 17:30:16,443 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 69 states. [2018-11-14 17:30:16,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:16,447 INFO L93 Difference]: Finished difference Result 69 states and 85 transitions. [2018-11-14 17:30:16,447 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 85 transitions. [2018-11-14 17:30:16,447 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:16,447 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:16,448 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:30:16,448 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:30:16,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2018-11-14 17:30:16,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 64 transitions. [2018-11-14 17:30:16,453 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 64 transitions. Word has length 30 [2018-11-14 17:30:16,453 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:30:16,453 INFO L480 AbstractCegarLoop]: Abstraction has 52 states and 64 transitions. [2018-11-14 17:30:16,453 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-14 17:30:16,454 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 64 transitions. [2018-11-14 17:30:16,454 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2018-11-14 17:30:16,455 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:30:16,455 INFO L375 BasicCegarLoop]: trace histogram [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] [2018-11-14 17:30:16,455 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:30:16,455 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:30:16,456 INFO L82 PathProgramCache]: Analyzing trace with hash -2038327567, now seen corresponding path program 1 times [2018-11-14 17:30:16,456 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:30:16,456 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:30:16,457 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:16,457 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:30:16,457 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:16,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:30:16,683 INFO L256 TraceCheckUtils]: 0: Hoare triple {1664#true} call ULTIMATE.init(); {1664#true} is VALID [2018-11-14 17:30:16,683 INFO L273 TraceCheckUtils]: 1: Hoare triple {1664#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1664#true} is VALID [2018-11-14 17:30:16,684 INFO L273 TraceCheckUtils]: 2: Hoare triple {1664#true} assume true; {1664#true} is VALID [2018-11-14 17:30:16,684 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1664#true} {1664#true} #129#return; {1664#true} is VALID [2018-11-14 17:30:16,684 INFO L256 TraceCheckUtils]: 4: Hoare triple {1664#true} call #t~ret20 := main(); {1664#true} is VALID [2018-11-14 17:30:16,684 INFO L273 TraceCheckUtils]: 5: Hoare triple {1664#true} call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(9);call write~int(0, ~#A~0.base, ~#A~0.offset + 8, 1); {1664#true} is VALID [2018-11-14 17:30:16,685 INFO L256 TraceCheckUtils]: 6: Hoare triple {1664#true} call #t~ret19 := parse_expression_list(~#A~0.base, ~#A~0.offset); {1664#true} is VALID [2018-11-14 17:30:16,701 INFO L273 TraceCheckUtils]: 7: Hoare triple {1664#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset;~start~0 := 0;~i~0 := -1;~j~0 := -1;call ~#str2~0.base, ~#str2~0.offset := #Ultimate.alloc(2); {1666#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:16,702 INFO L273 TraceCheckUtils]: 8: Hoare triple {1666#(= parse_expression_list_~start~0 0)} assume !(~str.base == 0 && ~str.offset == 0); {1666#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:16,703 INFO L273 TraceCheckUtils]: 9: Hoare triple {1666#(= parse_expression_list_~start~0 0)} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {1666#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:16,703 INFO L273 TraceCheckUtils]: 10: Hoare triple {1666#(= parse_expression_list_~start~0 0)} assume !#t~switch3; {1666#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:16,705 INFO L273 TraceCheckUtils]: 11: Hoare triple {1666#(= parse_expression_list_~start~0 0)} havoc #t~switch3;havoc #t~mem2; {1666#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:16,705 INFO L273 TraceCheckUtils]: 12: Hoare triple {1666#(= parse_expression_list_~start~0 0)} call #t~mem0 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1); {1666#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:16,707 INFO L273 TraceCheckUtils]: 13: Hoare triple {1666#(= parse_expression_list_~start~0 0)} assume !!(#t~mem0 != 0);havoc #t~mem0; {1666#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:16,708 INFO L273 TraceCheckUtils]: 14: Hoare triple {1666#(= parse_expression_list_~start~0 0)} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {1666#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:16,710 INFO L273 TraceCheckUtils]: 15: Hoare triple {1666#(= parse_expression_list_~start~0 0)} assume #t~switch3; {1666#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:16,710 INFO L273 TraceCheckUtils]: 16: Hoare triple {1666#(= parse_expression_list_~start~0 0)} assume true; {1666#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:16,712 INFO L273 TraceCheckUtils]: 17: Hoare triple {1666#(= parse_expression_list_~start~0 0)} call #t~mem4 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem4 == 32; {1666#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:16,712 INFO L273 TraceCheckUtils]: 18: Hoare triple {1666#(= parse_expression_list_~start~0 0)} assume !#t~short6;call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem5 == 9; {1666#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:16,714 INFO L273 TraceCheckUtils]: 19: Hoare triple {1666#(= parse_expression_list_~start~0 0)} assume !#t~short6;havoc #t~mem5;havoc #t~short6;havoc #t~mem4; {1666#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:16,714 INFO L273 TraceCheckUtils]: 20: Hoare triple {1666#(= parse_expression_list_~start~0 0)} call #t~mem8 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1); {1666#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:16,716 INFO L273 TraceCheckUtils]: 21: Hoare triple {1666#(= parse_expression_list_~start~0 0)} assume #t~mem8 == 34;havoc #t~mem8;#t~post9 := ~start~0;~start~0 := #t~post9 + 1;havoc #t~post9; {1667#(<= 1 parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:16,716 INFO L273 TraceCheckUtils]: 22: Hoare triple {1667#(<= 1 parse_expression_list_~start~0)} ~j~0 := ~i~0 - 1; {1667#(<= 1 parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:16,718 INFO L273 TraceCheckUtils]: 23: Hoare triple {1667#(<= 1 parse_expression_list_~start~0)} assume true; {1667#(<= 1 parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:16,718 INFO L273 TraceCheckUtils]: 24: Hoare triple {1667#(<= 1 parse_expression_list_~start~0)} #t~short13 := 0 < ~j~0; {1668#(and (or (< 0 parse_expression_list_~j~0) (<= 1 parse_expression_list_~start~0)) (or |parse_expression_list_#t~short13| (<= parse_expression_list_~j~0 0)))} is VALID [2018-11-14 17:30:16,720 INFO L273 TraceCheckUtils]: 25: Hoare triple {1668#(and (or (< 0 parse_expression_list_~j~0) (<= 1 parse_expression_list_~start~0)) (or |parse_expression_list_#t~short13| (<= parse_expression_list_~j~0 0)))} assume !#t~short13; {1669#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} is VALID [2018-11-14 17:30:16,721 INFO L273 TraceCheckUtils]: 26: Hoare triple {1669#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} assume !#t~short13;havoc #t~short12;havoc #t~short13;havoc #t~mem11;havoc #t~mem10; {1669#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} is VALID [2018-11-14 17:30:16,722 INFO L273 TraceCheckUtils]: 27: Hoare triple {1669#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} #t~short16 := 0 < ~j~0; {1670#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:16,723 INFO L273 TraceCheckUtils]: 28: Hoare triple {1670#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} assume !#t~short16; {1670#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:16,724 INFO L273 TraceCheckUtils]: 29: Hoare triple {1670#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} assume !#t~short16;havoc #t~short16;havoc #t~mem15; {1670#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:16,725 INFO L273 TraceCheckUtils]: 30: Hoare triple {1670#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} assume ~start~0 <= ~j~0;call #t~ret18.base, #t~ret18.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0 * 1, ~j~0 - ~start~0 + 1);havoc #t~ret18.base, #t~ret18.offset; {1665#false} is VALID [2018-11-14 17:30:16,725 INFO L256 TraceCheckUtils]: 31: Hoare triple {1665#false} call __VERIFIER_assert((if ~j~0 - ~start~0 + 1 < 2 then 1 else 0)); {1665#false} is VALID [2018-11-14 17:30:16,725 INFO L273 TraceCheckUtils]: 32: Hoare triple {1665#false} ~cond := #in~cond; {1665#false} is VALID [2018-11-14 17:30:16,726 INFO L273 TraceCheckUtils]: 33: Hoare triple {1665#false} assume ~cond == 0; {1665#false} is VALID [2018-11-14 17:30:16,726 INFO L273 TraceCheckUtils]: 34: Hoare triple {1665#false} assume !false; {1665#false} is VALID [2018-11-14 17:30:16,729 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-14 17:30:16,729 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:30:16,730 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-14 17:30:16,730 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 35 [2018-11-14 17:30:16,730 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:30:16,730 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-14 17:30:16,805 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:16,806 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-14 17:30:16,806 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-14 17:30:16,806 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2018-11-14 17:30:16,806 INFO L87 Difference]: Start difference. First operand 52 states and 64 transitions. Second operand 7 states. [2018-11-14 17:30:17,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:17,895 INFO L93 Difference]: Finished difference Result 160 states and 209 transitions. [2018-11-14 17:30:17,896 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-14 17:30:17,896 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 35 [2018-11-14 17:30:17,896 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:30:17,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 17:30:17,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 166 transitions. [2018-11-14 17:30:17,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 17:30:17,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 166 transitions. [2018-11-14 17:30:17,911 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 166 transitions. [2018-11-14 17:30:18,136 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 166 edges. 166 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:18,140 INFO L225 Difference]: With dead ends: 160 [2018-11-14 17:30:18,140 INFO L226 Difference]: Without dead ends: 109 [2018-11-14 17:30:18,143 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2018-11-14 17:30:18,143 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2018-11-14 17:30:18,185 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 77. [2018-11-14 17:30:18,185 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:30:18,186 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand 77 states. [2018-11-14 17:30:18,186 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand 77 states. [2018-11-14 17:30:18,186 INFO L87 Difference]: Start difference. First operand 109 states. Second operand 77 states. [2018-11-14 17:30:18,191 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:18,191 INFO L93 Difference]: Finished difference Result 109 states and 142 transitions. [2018-11-14 17:30:18,191 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 142 transitions. [2018-11-14 17:30:18,192 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:18,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:18,192 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 109 states. [2018-11-14 17:30:18,192 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 109 states. [2018-11-14 17:30:18,197 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:18,197 INFO L93 Difference]: Finished difference Result 109 states and 142 transitions. [2018-11-14 17:30:18,197 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 142 transitions. [2018-11-14 17:30:18,198 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:18,198 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:18,198 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:30:18,198 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:30:18,199 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-11-14 17:30:18,201 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 98 transitions. [2018-11-14 17:30:18,201 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 98 transitions. Word has length 35 [2018-11-14 17:30:18,202 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:30:18,202 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 98 transitions. [2018-11-14 17:30:18,202 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-14 17:30:18,202 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 98 transitions. [2018-11-14 17:30:18,203 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2018-11-14 17:30:18,203 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:30:18,203 INFO L375 BasicCegarLoop]: trace histogram [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] [2018-11-14 17:30:18,204 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:30:18,204 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:30:18,204 INFO L82 PathProgramCache]: Analyzing trace with hash 1245522479, now seen corresponding path program 1 times [2018-11-14 17:30:18,204 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:30:18,204 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:30:18,205 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:18,206 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:30:18,206 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:18,219 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:30:18,353 INFO L256 TraceCheckUtils]: 0: Hoare triple {2177#true} call ULTIMATE.init(); {2177#true} is VALID [2018-11-14 17:30:18,353 INFO L273 TraceCheckUtils]: 1: Hoare triple {2177#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2177#true} is VALID [2018-11-14 17:30:18,354 INFO L273 TraceCheckUtils]: 2: Hoare triple {2177#true} assume true; {2177#true} is VALID [2018-11-14 17:30:18,354 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2177#true} {2177#true} #129#return; {2177#true} is VALID [2018-11-14 17:30:18,354 INFO L256 TraceCheckUtils]: 4: Hoare triple {2177#true} call #t~ret20 := main(); {2177#true} is VALID [2018-11-14 17:30:18,355 INFO L273 TraceCheckUtils]: 5: Hoare triple {2177#true} call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(9);call write~int(0, ~#A~0.base, ~#A~0.offset + 8, 1); {2177#true} is VALID [2018-11-14 17:30:18,355 INFO L256 TraceCheckUtils]: 6: Hoare triple {2177#true} call #t~ret19 := parse_expression_list(~#A~0.base, ~#A~0.offset); {2177#true} is VALID [2018-11-14 17:30:18,356 INFO L273 TraceCheckUtils]: 7: Hoare triple {2177#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset;~start~0 := 0;~i~0 := -1;~j~0 := -1;call ~#str2~0.base, ~#str2~0.offset := #Ultimate.alloc(2); {2179#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:18,357 INFO L273 TraceCheckUtils]: 8: Hoare triple {2179#(= parse_expression_list_~start~0 0)} assume !(~str.base == 0 && ~str.offset == 0); {2179#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:18,358 INFO L273 TraceCheckUtils]: 9: Hoare triple {2179#(= parse_expression_list_~start~0 0)} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {2179#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:18,358 INFO L273 TraceCheckUtils]: 10: Hoare triple {2179#(= parse_expression_list_~start~0 0)} assume !#t~switch3; {2179#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:18,358 INFO L273 TraceCheckUtils]: 11: Hoare triple {2179#(= parse_expression_list_~start~0 0)} havoc #t~switch3;havoc #t~mem2; {2179#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:18,359 INFO L273 TraceCheckUtils]: 12: Hoare triple {2179#(= parse_expression_list_~start~0 0)} call #t~mem0 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1); {2179#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:18,361 INFO L273 TraceCheckUtils]: 13: Hoare triple {2179#(= parse_expression_list_~start~0 0)} assume !!(#t~mem0 != 0);havoc #t~mem0; {2179#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:18,361 INFO L273 TraceCheckUtils]: 14: Hoare triple {2179#(= parse_expression_list_~start~0 0)} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {2179#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:18,362 INFO L273 TraceCheckUtils]: 15: Hoare triple {2179#(= parse_expression_list_~start~0 0)} assume #t~switch3; {2179#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:18,362 INFO L273 TraceCheckUtils]: 16: Hoare triple {2179#(= parse_expression_list_~start~0 0)} assume true; {2179#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:18,362 INFO L273 TraceCheckUtils]: 17: Hoare triple {2179#(= parse_expression_list_~start~0 0)} call #t~mem4 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem4 == 32; {2179#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:18,363 INFO L273 TraceCheckUtils]: 18: Hoare triple {2179#(= parse_expression_list_~start~0 0)} assume !#t~short6;call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem5 == 9; {2179#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:18,365 INFO L273 TraceCheckUtils]: 19: Hoare triple {2179#(= parse_expression_list_~start~0 0)} assume !#t~short6;havoc #t~mem5;havoc #t~short6;havoc #t~mem4; {2179#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:18,365 INFO L273 TraceCheckUtils]: 20: Hoare triple {2179#(= parse_expression_list_~start~0 0)} call #t~mem8 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1); {2179#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:18,366 INFO L273 TraceCheckUtils]: 21: Hoare triple {2179#(= parse_expression_list_~start~0 0)} assume !(#t~mem8 == 34);havoc #t~mem8; {2179#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:18,366 INFO L273 TraceCheckUtils]: 22: Hoare triple {2179#(= parse_expression_list_~start~0 0)} ~j~0 := ~i~0 - 1; {2179#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:18,367 INFO L273 TraceCheckUtils]: 23: Hoare triple {2179#(= parse_expression_list_~start~0 0)} assume true; {2179#(= parse_expression_list_~start~0 0)} is VALID [2018-11-14 17:30:18,367 INFO L273 TraceCheckUtils]: 24: Hoare triple {2179#(= parse_expression_list_~start~0 0)} #t~short13 := 0 < ~j~0; {2180#(and (or |parse_expression_list_#t~short13| (<= parse_expression_list_~j~0 0)) (or (< 0 parse_expression_list_~j~0) (= parse_expression_list_~start~0 0)))} is VALID [2018-11-14 17:30:18,374 INFO L273 TraceCheckUtils]: 25: Hoare triple {2180#(and (or |parse_expression_list_#t~short13| (<= parse_expression_list_~j~0 0)) (or (< 0 parse_expression_list_~j~0) (= parse_expression_list_~start~0 0)))} assume !#t~short13; {2181#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~j~0 0))} is VALID [2018-11-14 17:30:18,375 INFO L273 TraceCheckUtils]: 26: Hoare triple {2181#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~j~0 0))} assume !#t~short13;havoc #t~short12;havoc #t~short13;havoc #t~mem11;havoc #t~mem10; {2181#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~j~0 0))} is VALID [2018-11-14 17:30:18,410 INFO L273 TraceCheckUtils]: 27: Hoare triple {2181#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~j~0 0))} #t~short16 := 0 < ~j~0; {2181#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~j~0 0))} is VALID [2018-11-14 17:30:18,418 INFO L273 TraceCheckUtils]: 28: Hoare triple {2181#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~j~0 0))} assume !#t~short16; {2181#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~j~0 0))} is VALID [2018-11-14 17:30:18,419 INFO L273 TraceCheckUtils]: 29: Hoare triple {2181#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~j~0 0))} assume !#t~short16;havoc #t~short16;havoc #t~mem15; {2181#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~j~0 0))} is VALID [2018-11-14 17:30:18,423 INFO L273 TraceCheckUtils]: 30: Hoare triple {2181#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~j~0 0))} assume ~start~0 <= ~j~0;call #t~ret18.base, #t~ret18.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0 * 1, ~j~0 - ~start~0 + 1);havoc #t~ret18.base, #t~ret18.offset; {2181#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~j~0 0))} is VALID [2018-11-14 17:30:18,425 INFO L256 TraceCheckUtils]: 31: Hoare triple {2181#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~j~0 0))} call __VERIFIER_assert((if ~j~0 - ~start~0 + 1 < 2 then 1 else 0)); {2182#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 17:30:18,425 INFO L273 TraceCheckUtils]: 32: Hoare triple {2182#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {2183#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-14 17:30:18,427 INFO L273 TraceCheckUtils]: 33: Hoare triple {2183#(= __VERIFIER_assert_~cond 1)} assume ~cond == 0; {2178#false} is VALID [2018-11-14 17:30:18,427 INFO L273 TraceCheckUtils]: 34: Hoare triple {2178#false} assume !false; {2178#false} is VALID [2018-11-14 17:30:18,428 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-14 17:30:18,429 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:30:18,429 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-14 17:30:18,429 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 35 [2018-11-14 17:30:18,430 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:30:18,430 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-14 17:30:18,488 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:18,488 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-14 17:30:18,489 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-14 17:30:18,489 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2018-11-14 17:30:18,489 INFO L87 Difference]: Start difference. First operand 77 states and 98 transitions. Second operand 7 states. [2018-11-14 17:30:19,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:19,297 INFO L93 Difference]: Finished difference Result 112 states and 142 transitions. [2018-11-14 17:30:19,297 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-14 17:30:19,297 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 35 [2018-11-14 17:30:19,298 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:30:19,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 17:30:19,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 106 transitions. [2018-11-14 17:30:19,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 17:30:19,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 106 transitions. [2018-11-14 17:30:19,303 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 106 transitions. [2018-11-14 17:30:19,459 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:19,461 INFO L225 Difference]: With dead ends: 112 [2018-11-14 17:30:19,462 INFO L226 Difference]: Without dead ends: 110 [2018-11-14 17:30:19,462 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2018-11-14 17:30:19,462 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2018-11-14 17:30:19,495 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 99. [2018-11-14 17:30:19,495 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:30:19,495 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand 99 states. [2018-11-14 17:30:19,495 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand 99 states. [2018-11-14 17:30:19,495 INFO L87 Difference]: Start difference. First operand 110 states. Second operand 99 states. [2018-11-14 17:30:19,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:19,500 INFO L93 Difference]: Finished difference Result 110 states and 140 transitions. [2018-11-14 17:30:19,500 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 140 transitions. [2018-11-14 17:30:19,500 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:19,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:19,500 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand 110 states. [2018-11-14 17:30:19,500 INFO L87 Difference]: Start difference. First operand 99 states. Second operand 110 states. [2018-11-14 17:30:19,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:19,504 INFO L93 Difference]: Finished difference Result 110 states and 140 transitions. [2018-11-14 17:30:19,504 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 140 transitions. [2018-11-14 17:30:19,505 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:19,505 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:19,505 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:30:19,505 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:30:19,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 99 states. [2018-11-14 17:30:19,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 126 transitions. [2018-11-14 17:30:19,509 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 126 transitions. Word has length 35 [2018-11-14 17:30:19,509 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:30:19,509 INFO L480 AbstractCegarLoop]: Abstraction has 99 states and 126 transitions. [2018-11-14 17:30:19,509 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-14 17:30:19,509 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 126 transitions. [2018-11-14 17:30:19,510 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2018-11-14 17:30:19,510 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:30:19,510 INFO L375 BasicCegarLoop]: trace histogram [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] [2018-11-14 17:30:19,511 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:30:19,511 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:30:19,511 INFO L82 PathProgramCache]: Analyzing trace with hash -1032246282, now seen corresponding path program 1 times [2018-11-14 17:30:19,511 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:30:19,511 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:30:19,512 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:19,512 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:30:19,512 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:19,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:30:19,573 INFO L256 TraceCheckUtils]: 0: Hoare triple {2664#true} call ULTIMATE.init(); {2664#true} is VALID [2018-11-14 17:30:19,574 INFO L273 TraceCheckUtils]: 1: Hoare triple {2664#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2664#true} is VALID [2018-11-14 17:30:19,574 INFO L273 TraceCheckUtils]: 2: Hoare triple {2664#true} assume true; {2664#true} is VALID [2018-11-14 17:30:19,574 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2664#true} {2664#true} #129#return; {2664#true} is VALID [2018-11-14 17:30:19,574 INFO L256 TraceCheckUtils]: 4: Hoare triple {2664#true} call #t~ret20 := main(); {2664#true} is VALID [2018-11-14 17:30:19,575 INFO L273 TraceCheckUtils]: 5: Hoare triple {2664#true} call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(9);call write~int(0, ~#A~0.base, ~#A~0.offset + 8, 1); {2664#true} is VALID [2018-11-14 17:30:19,575 INFO L256 TraceCheckUtils]: 6: Hoare triple {2664#true} call #t~ret19 := parse_expression_list(~#A~0.base, ~#A~0.offset); {2664#true} is VALID [2018-11-14 17:30:19,575 INFO L273 TraceCheckUtils]: 7: Hoare triple {2664#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset;~start~0 := 0;~i~0 := -1;~j~0 := -1;call ~#str2~0.base, ~#str2~0.offset := #Ultimate.alloc(2); {2664#true} is VALID [2018-11-14 17:30:19,575 INFO L273 TraceCheckUtils]: 8: Hoare triple {2664#true} assume !(~str.base == 0 && ~str.offset == 0); {2664#true} is VALID [2018-11-14 17:30:19,576 INFO L273 TraceCheckUtils]: 9: Hoare triple {2664#true} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {2664#true} is VALID [2018-11-14 17:30:19,576 INFO L273 TraceCheckUtils]: 10: Hoare triple {2664#true} assume !#t~switch3; {2664#true} is VALID [2018-11-14 17:30:19,576 INFO L273 TraceCheckUtils]: 11: Hoare triple {2664#true} havoc #t~switch3;havoc #t~mem2; {2664#true} is VALID [2018-11-14 17:30:19,577 INFO L273 TraceCheckUtils]: 12: Hoare triple {2664#true} call #t~mem0 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1); {2664#true} is VALID [2018-11-14 17:30:19,577 INFO L273 TraceCheckUtils]: 13: Hoare triple {2664#true} assume !!(#t~mem0 != 0);havoc #t~mem0; {2664#true} is VALID [2018-11-14 17:30:19,577 INFO L273 TraceCheckUtils]: 14: Hoare triple {2664#true} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {2664#true} is VALID [2018-11-14 17:30:19,577 INFO L273 TraceCheckUtils]: 15: Hoare triple {2664#true} assume #t~switch3; {2664#true} is VALID [2018-11-14 17:30:19,577 INFO L273 TraceCheckUtils]: 16: Hoare triple {2664#true} assume true; {2664#true} is VALID [2018-11-14 17:30:19,578 INFO L273 TraceCheckUtils]: 17: Hoare triple {2664#true} call #t~mem4 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem4 == 32; {2664#true} is VALID [2018-11-14 17:30:19,578 INFO L273 TraceCheckUtils]: 18: Hoare triple {2664#true} assume !#t~short6;call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem5 == 9; {2664#true} is VALID [2018-11-14 17:30:19,578 INFO L273 TraceCheckUtils]: 19: Hoare triple {2664#true} assume !#t~short6;havoc #t~mem5;havoc #t~short6;havoc #t~mem4; {2664#true} is VALID [2018-11-14 17:30:19,578 INFO L273 TraceCheckUtils]: 20: Hoare triple {2664#true} call #t~mem8 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1); {2664#true} is VALID [2018-11-14 17:30:19,578 INFO L273 TraceCheckUtils]: 21: Hoare triple {2664#true} assume #t~mem8 == 34;havoc #t~mem8;#t~post9 := ~start~0;~start~0 := #t~post9 + 1;havoc #t~post9; {2664#true} is VALID [2018-11-14 17:30:19,579 INFO L273 TraceCheckUtils]: 22: Hoare triple {2664#true} ~j~0 := ~i~0 - 1; {2664#true} is VALID [2018-11-14 17:30:19,579 INFO L273 TraceCheckUtils]: 23: Hoare triple {2664#true} assume true; {2664#true} is VALID [2018-11-14 17:30:19,579 INFO L273 TraceCheckUtils]: 24: Hoare triple {2664#true} #t~short13 := 0 < ~j~0; {2664#true} is VALID [2018-11-14 17:30:19,579 INFO L273 TraceCheckUtils]: 25: Hoare triple {2664#true} assume #t~short13;call #t~mem10 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short12 := #t~mem10 == 32; {2664#true} is VALID [2018-11-14 17:30:19,584 INFO L273 TraceCheckUtils]: 26: Hoare triple {2664#true} assume #t~short12; {2666#|parse_expression_list_#t~short12|} is VALID [2018-11-14 17:30:19,584 INFO L273 TraceCheckUtils]: 27: Hoare triple {2666#|parse_expression_list_#t~short12|} #t~short13 := #t~short12; {2667#|parse_expression_list_#t~short13|} is VALID [2018-11-14 17:30:19,586 INFO L273 TraceCheckUtils]: 28: Hoare triple {2667#|parse_expression_list_#t~short13|} assume !#t~short13;havoc #t~short12;havoc #t~short13;havoc #t~mem11;havoc #t~mem10; {2665#false} is VALID [2018-11-14 17:30:19,586 INFO L273 TraceCheckUtils]: 29: Hoare triple {2665#false} #t~short16 := 0 < ~j~0; {2665#false} is VALID [2018-11-14 17:30:19,586 INFO L273 TraceCheckUtils]: 30: Hoare triple {2665#false} assume #t~short16;call #t~mem15 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short16 := #t~mem15 == 34; {2665#false} is VALID [2018-11-14 17:30:19,586 INFO L273 TraceCheckUtils]: 31: Hoare triple {2665#false} assume #t~short16;havoc #t~short16;havoc #t~mem15;#t~post17 := ~j~0;~j~0 := #t~post17 - 1;havoc #t~post17; {2665#false} is VALID [2018-11-14 17:30:19,586 INFO L273 TraceCheckUtils]: 32: Hoare triple {2665#false} assume ~start~0 <= ~j~0;call #t~ret18.base, #t~ret18.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0 * 1, ~j~0 - ~start~0 + 1);havoc #t~ret18.base, #t~ret18.offset; {2665#false} is VALID [2018-11-14 17:30:19,587 INFO L256 TraceCheckUtils]: 33: Hoare triple {2665#false} call __VERIFIER_assert((if ~j~0 - ~start~0 + 1 < 2 then 1 else 0)); {2665#false} is VALID [2018-11-14 17:30:19,587 INFO L273 TraceCheckUtils]: 34: Hoare triple {2665#false} ~cond := #in~cond; {2665#false} is VALID [2018-11-14 17:30:19,587 INFO L273 TraceCheckUtils]: 35: Hoare triple {2665#false} assume ~cond == 0; {2665#false} is VALID [2018-11-14 17:30:19,587 INFO L273 TraceCheckUtils]: 36: Hoare triple {2665#false} assume !false; {2665#false} is VALID [2018-11-14 17:30:19,588 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-14 17:30:19,588 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 17:30:19,588 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-14 17:30:19,589 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 37 [2018-11-14 17:30:19,589 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:30:19,589 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-14 17:30:19,761 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:19,761 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-14 17:30:19,761 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-14 17:30:19,761 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-14 17:30:19,761 INFO L87 Difference]: Start difference. First operand 99 states and 126 transitions. Second operand 4 states. [2018-11-14 17:30:19,951 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:19,952 INFO L93 Difference]: Finished difference Result 159 states and 203 transitions. [2018-11-14 17:30:19,952 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-14 17:30:19,952 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 37 [2018-11-14 17:30:19,953 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:30:19,953 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 17:30:19,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 92 transitions. [2018-11-14 17:30:19,955 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 17:30:19,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 92 transitions. [2018-11-14 17:30:19,958 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 92 transitions. [2018-11-14 17:30:20,103 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:20,107 INFO L225 Difference]: With dead ends: 159 [2018-11-14 17:30:20,107 INFO L226 Difference]: Without dead ends: 109 [2018-11-14 17:30:20,108 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-14 17:30:20,108 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2018-11-14 17:30:20,138 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 109. [2018-11-14 17:30:20,138 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:30:20,139 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand 109 states. [2018-11-14 17:30:20,139 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand 109 states. [2018-11-14 17:30:20,139 INFO L87 Difference]: Start difference. First operand 109 states. Second operand 109 states. [2018-11-14 17:30:20,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:20,145 INFO L93 Difference]: Finished difference Result 109 states and 136 transitions. [2018-11-14 17:30:20,145 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 136 transitions. [2018-11-14 17:30:20,146 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:20,146 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:20,146 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand 109 states. [2018-11-14 17:30:20,147 INFO L87 Difference]: Start difference. First operand 109 states. Second operand 109 states. [2018-11-14 17:30:20,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:20,151 INFO L93 Difference]: Finished difference Result 109 states and 136 transitions. [2018-11-14 17:30:20,151 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 136 transitions. [2018-11-14 17:30:20,151 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:20,152 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:20,152 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:30:20,152 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:30:20,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 109 states. [2018-11-14 17:30:20,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 136 transitions. [2018-11-14 17:30:20,156 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 136 transitions. Word has length 37 [2018-11-14 17:30:20,156 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:30:20,157 INFO L480 AbstractCegarLoop]: Abstraction has 109 states and 136 transitions. [2018-11-14 17:30:20,157 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-14 17:30:20,157 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 136 transitions. [2018-11-14 17:30:20,158 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2018-11-14 17:30:20,158 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:30:20,158 INFO L375 BasicCegarLoop]: trace histogram [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] [2018-11-14 17:30:20,158 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:30:20,158 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:30:20,159 INFO L82 PathProgramCache]: Analyzing trace with hash -331181704, now seen corresponding path program 1 times [2018-11-14 17:30:20,159 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:30:20,159 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:30:20,160 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:20,160 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:30:20,160 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:20,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:30:20,928 INFO L256 TraceCheckUtils]: 0: Hoare triple {3208#true} call ULTIMATE.init(); {3208#true} is VALID [2018-11-14 17:30:20,928 INFO L273 TraceCheckUtils]: 1: Hoare triple {3208#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3208#true} is VALID [2018-11-14 17:30:20,929 INFO L273 TraceCheckUtils]: 2: Hoare triple {3208#true} assume true; {3208#true} is VALID [2018-11-14 17:30:20,929 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3208#true} {3208#true} #129#return; {3208#true} is VALID [2018-11-14 17:30:20,929 INFO L256 TraceCheckUtils]: 4: Hoare triple {3208#true} call #t~ret20 := main(); {3208#true} is VALID [2018-11-14 17:30:20,929 INFO L273 TraceCheckUtils]: 5: Hoare triple {3208#true} call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(9);call write~int(0, ~#A~0.base, ~#A~0.offset + 8, 1); {3208#true} is VALID [2018-11-14 17:30:20,930 INFO L256 TraceCheckUtils]: 6: Hoare triple {3208#true} call #t~ret19 := parse_expression_list(~#A~0.base, ~#A~0.offset); {3208#true} is VALID [2018-11-14 17:30:20,932 INFO L273 TraceCheckUtils]: 7: Hoare triple {3208#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset;~start~0 := 0;~i~0 := -1;~j~0 := -1;call ~#str2~0.base, ~#str2~0.offset := #Ultimate.alloc(2); {3210#(<= (+ parse_expression_list_~i~0 1) 0)} is VALID [2018-11-14 17:30:20,932 INFO L273 TraceCheckUtils]: 8: Hoare triple {3210#(<= (+ parse_expression_list_~i~0 1) 0)} assume !(~str.base == 0 && ~str.offset == 0); {3210#(<= (+ parse_expression_list_~i~0 1) 0)} is VALID [2018-11-14 17:30:20,933 INFO L273 TraceCheckUtils]: 9: Hoare triple {3210#(<= (+ parse_expression_list_~i~0 1) 0)} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {3211#(<= parse_expression_list_~i~0 0)} is VALID [2018-11-14 17:30:20,933 INFO L273 TraceCheckUtils]: 10: Hoare triple {3211#(<= parse_expression_list_~i~0 0)} assume !#t~switch3; {3211#(<= parse_expression_list_~i~0 0)} is VALID [2018-11-14 17:30:20,933 INFO L273 TraceCheckUtils]: 11: Hoare triple {3211#(<= parse_expression_list_~i~0 0)} havoc #t~switch3;havoc #t~mem2; {3211#(<= parse_expression_list_~i~0 0)} is VALID [2018-11-14 17:30:20,934 INFO L273 TraceCheckUtils]: 12: Hoare triple {3211#(<= parse_expression_list_~i~0 0)} call #t~mem0 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1); {3211#(<= parse_expression_list_~i~0 0)} is VALID [2018-11-14 17:30:20,934 INFO L273 TraceCheckUtils]: 13: Hoare triple {3211#(<= parse_expression_list_~i~0 0)} assume !!(#t~mem0 != 0);havoc #t~mem0; {3211#(<= parse_expression_list_~i~0 0)} is VALID [2018-11-14 17:30:20,935 INFO L273 TraceCheckUtils]: 14: Hoare triple {3211#(<= parse_expression_list_~i~0 0)} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {3212#(<= parse_expression_list_~i~0 1)} is VALID [2018-11-14 17:30:20,935 INFO L273 TraceCheckUtils]: 15: Hoare triple {3212#(<= parse_expression_list_~i~0 1)} assume #t~switch3; {3212#(<= parse_expression_list_~i~0 1)} is VALID [2018-11-14 17:30:20,936 INFO L273 TraceCheckUtils]: 16: Hoare triple {3212#(<= parse_expression_list_~i~0 1)} assume true; {3212#(<= parse_expression_list_~i~0 1)} is VALID [2018-11-14 17:30:20,936 INFO L273 TraceCheckUtils]: 17: Hoare triple {3212#(<= parse_expression_list_~i~0 1)} call #t~mem4 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem4 == 32; {3212#(<= parse_expression_list_~i~0 1)} is VALID [2018-11-14 17:30:20,936 INFO L273 TraceCheckUtils]: 18: Hoare triple {3212#(<= parse_expression_list_~i~0 1)} assume !#t~short6;call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem5 == 9; {3212#(<= parse_expression_list_~i~0 1)} is VALID [2018-11-14 17:30:20,937 INFO L273 TraceCheckUtils]: 19: Hoare triple {3212#(<= parse_expression_list_~i~0 1)} assume !#t~short6;havoc #t~mem5;havoc #t~short6;havoc #t~mem4; {3212#(<= parse_expression_list_~i~0 1)} is VALID [2018-11-14 17:30:20,937 INFO L273 TraceCheckUtils]: 20: Hoare triple {3212#(<= parse_expression_list_~i~0 1)} call #t~mem8 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1); {3212#(<= parse_expression_list_~i~0 1)} is VALID [2018-11-14 17:30:20,937 INFO L273 TraceCheckUtils]: 21: Hoare triple {3212#(<= parse_expression_list_~i~0 1)} assume #t~mem8 == 34;havoc #t~mem8;#t~post9 := ~start~0;~start~0 := #t~post9 + 1;havoc #t~post9; {3212#(<= parse_expression_list_~i~0 1)} is VALID [2018-11-14 17:30:20,938 INFO L273 TraceCheckUtils]: 22: Hoare triple {3212#(<= parse_expression_list_~i~0 1)} ~j~0 := ~i~0 - 1; {3213#(<= parse_expression_list_~j~0 0)} is VALID [2018-11-14 17:30:20,939 INFO L273 TraceCheckUtils]: 23: Hoare triple {3213#(<= parse_expression_list_~j~0 0)} assume true; {3213#(<= parse_expression_list_~j~0 0)} is VALID [2018-11-14 17:30:20,940 INFO L273 TraceCheckUtils]: 24: Hoare triple {3213#(<= parse_expression_list_~j~0 0)} #t~short13 := 0 < ~j~0; {3214#(and (not |parse_expression_list_#t~short13|) (<= parse_expression_list_~j~0 0))} is VALID [2018-11-14 17:30:20,940 INFO L273 TraceCheckUtils]: 25: Hoare triple {3214#(and (not |parse_expression_list_#t~short13|) (<= parse_expression_list_~j~0 0))} assume #t~short13;call #t~mem10 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short12 := #t~mem10 == 32; {3209#false} is VALID [2018-11-14 17:30:20,941 INFO L273 TraceCheckUtils]: 26: Hoare triple {3209#false} assume !#t~short12;call #t~mem11 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short12 := #t~mem11 == 9; {3209#false} is VALID [2018-11-14 17:30:20,941 INFO L273 TraceCheckUtils]: 27: Hoare triple {3209#false} #t~short13 := #t~short12; {3209#false} is VALID [2018-11-14 17:30:20,941 INFO L273 TraceCheckUtils]: 28: Hoare triple {3209#false} assume !#t~short13;havoc #t~short12;havoc #t~short13;havoc #t~mem11;havoc #t~mem10; {3209#false} is VALID [2018-11-14 17:30:20,941 INFO L273 TraceCheckUtils]: 29: Hoare triple {3209#false} #t~short16 := 0 < ~j~0; {3209#false} is VALID [2018-11-14 17:30:20,942 INFO L273 TraceCheckUtils]: 30: Hoare triple {3209#false} assume #t~short16;call #t~mem15 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short16 := #t~mem15 == 34; {3209#false} is VALID [2018-11-14 17:30:20,942 INFO L273 TraceCheckUtils]: 31: Hoare triple {3209#false} assume #t~short16;havoc #t~short16;havoc #t~mem15;#t~post17 := ~j~0;~j~0 := #t~post17 - 1;havoc #t~post17; {3209#false} is VALID [2018-11-14 17:30:20,942 INFO L273 TraceCheckUtils]: 32: Hoare triple {3209#false} assume ~start~0 <= ~j~0;call #t~ret18.base, #t~ret18.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0 * 1, ~j~0 - ~start~0 + 1);havoc #t~ret18.base, #t~ret18.offset; {3209#false} is VALID [2018-11-14 17:30:20,942 INFO L256 TraceCheckUtils]: 33: Hoare triple {3209#false} call __VERIFIER_assert((if ~j~0 - ~start~0 + 1 < 2 then 1 else 0)); {3209#false} is VALID [2018-11-14 17:30:20,943 INFO L273 TraceCheckUtils]: 34: Hoare triple {3209#false} ~cond := #in~cond; {3209#false} is VALID [2018-11-14 17:30:20,943 INFO L273 TraceCheckUtils]: 35: Hoare triple {3209#false} assume ~cond == 0; {3209#false} is VALID [2018-11-14 17:30:20,943 INFO L273 TraceCheckUtils]: 36: Hoare triple {3209#false} assume !false; {3209#false} is VALID [2018-11-14 17:30:20,945 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:30:20,945 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:30:20,945 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 17:30:20,959 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:30:21,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:30:21,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:30:21,051 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:30:21,590 INFO L256 TraceCheckUtils]: 0: Hoare triple {3208#true} call ULTIMATE.init(); {3208#true} is VALID [2018-11-14 17:30:21,591 INFO L273 TraceCheckUtils]: 1: Hoare triple {3208#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3208#true} is VALID [2018-11-14 17:30:21,591 INFO L273 TraceCheckUtils]: 2: Hoare triple {3208#true} assume true; {3208#true} is VALID [2018-11-14 17:30:21,591 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3208#true} {3208#true} #129#return; {3208#true} is VALID [2018-11-14 17:30:21,591 INFO L256 TraceCheckUtils]: 4: Hoare triple {3208#true} call #t~ret20 := main(); {3208#true} is VALID [2018-11-14 17:30:21,592 INFO L273 TraceCheckUtils]: 5: Hoare triple {3208#true} call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(9);call write~int(0, ~#A~0.base, ~#A~0.offset + 8, 1); {3208#true} is VALID [2018-11-14 17:30:21,592 INFO L256 TraceCheckUtils]: 6: Hoare triple {3208#true} call #t~ret19 := parse_expression_list(~#A~0.base, ~#A~0.offset); {3208#true} is VALID [2018-11-14 17:30:21,596 INFO L273 TraceCheckUtils]: 7: Hoare triple {3208#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset;~start~0 := 0;~i~0 := -1;~j~0 := -1;call ~#str2~0.base, ~#str2~0.offset := #Ultimate.alloc(2); {3210#(<= (+ parse_expression_list_~i~0 1) 0)} is VALID [2018-11-14 17:30:21,596 INFO L273 TraceCheckUtils]: 8: Hoare triple {3210#(<= (+ parse_expression_list_~i~0 1) 0)} assume !(~str.base == 0 && ~str.offset == 0); {3210#(<= (+ parse_expression_list_~i~0 1) 0)} is VALID [2018-11-14 17:30:21,597 INFO L273 TraceCheckUtils]: 9: Hoare triple {3210#(<= (+ parse_expression_list_~i~0 1) 0)} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {3211#(<= parse_expression_list_~i~0 0)} is VALID [2018-11-14 17:30:21,597 INFO L273 TraceCheckUtils]: 10: Hoare triple {3211#(<= parse_expression_list_~i~0 0)} assume !#t~switch3; {3211#(<= parse_expression_list_~i~0 0)} is VALID [2018-11-14 17:30:21,598 INFO L273 TraceCheckUtils]: 11: Hoare triple {3211#(<= parse_expression_list_~i~0 0)} havoc #t~switch3;havoc #t~mem2; {3211#(<= parse_expression_list_~i~0 0)} is VALID [2018-11-14 17:30:21,598 INFO L273 TraceCheckUtils]: 12: Hoare triple {3211#(<= parse_expression_list_~i~0 0)} call #t~mem0 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1); {3211#(<= parse_expression_list_~i~0 0)} is VALID [2018-11-14 17:30:21,599 INFO L273 TraceCheckUtils]: 13: Hoare triple {3211#(<= parse_expression_list_~i~0 0)} assume !!(#t~mem0 != 0);havoc #t~mem0; {3211#(<= parse_expression_list_~i~0 0)} is VALID [2018-11-14 17:30:21,599 INFO L273 TraceCheckUtils]: 14: Hoare triple {3211#(<= parse_expression_list_~i~0 0)} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {3212#(<= parse_expression_list_~i~0 1)} is VALID [2018-11-14 17:30:21,600 INFO L273 TraceCheckUtils]: 15: Hoare triple {3212#(<= parse_expression_list_~i~0 1)} assume #t~switch3; {3212#(<= parse_expression_list_~i~0 1)} is VALID [2018-11-14 17:30:21,600 INFO L273 TraceCheckUtils]: 16: Hoare triple {3212#(<= parse_expression_list_~i~0 1)} assume true; {3212#(<= parse_expression_list_~i~0 1)} is VALID [2018-11-14 17:30:21,602 INFO L273 TraceCheckUtils]: 17: Hoare triple {3212#(<= parse_expression_list_~i~0 1)} call #t~mem4 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem4 == 32; {3212#(<= parse_expression_list_~i~0 1)} is VALID [2018-11-14 17:30:21,603 INFO L273 TraceCheckUtils]: 18: Hoare triple {3212#(<= parse_expression_list_~i~0 1)} assume !#t~short6;call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem5 == 9; {3212#(<= parse_expression_list_~i~0 1)} is VALID [2018-11-14 17:30:21,603 INFO L273 TraceCheckUtils]: 19: Hoare triple {3212#(<= parse_expression_list_~i~0 1)} assume !#t~short6;havoc #t~mem5;havoc #t~short6;havoc #t~mem4; {3212#(<= parse_expression_list_~i~0 1)} is VALID [2018-11-14 17:30:21,604 INFO L273 TraceCheckUtils]: 20: Hoare triple {3212#(<= parse_expression_list_~i~0 1)} call #t~mem8 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1); {3212#(<= parse_expression_list_~i~0 1)} is VALID [2018-11-14 17:30:21,609 INFO L273 TraceCheckUtils]: 21: Hoare triple {3212#(<= parse_expression_list_~i~0 1)} assume #t~mem8 == 34;havoc #t~mem8;#t~post9 := ~start~0;~start~0 := #t~post9 + 1;havoc #t~post9; {3212#(<= parse_expression_list_~i~0 1)} is VALID [2018-11-14 17:30:21,609 INFO L273 TraceCheckUtils]: 22: Hoare triple {3212#(<= parse_expression_list_~i~0 1)} ~j~0 := ~i~0 - 1; {3213#(<= parse_expression_list_~j~0 0)} is VALID [2018-11-14 17:30:21,610 INFO L273 TraceCheckUtils]: 23: Hoare triple {3213#(<= parse_expression_list_~j~0 0)} assume true; {3213#(<= parse_expression_list_~j~0 0)} is VALID [2018-11-14 17:30:21,610 INFO L273 TraceCheckUtils]: 24: Hoare triple {3213#(<= parse_expression_list_~j~0 0)} #t~short13 := 0 < ~j~0; {3290#(not |parse_expression_list_#t~short13|)} is VALID [2018-11-14 17:30:21,611 INFO L273 TraceCheckUtils]: 25: Hoare triple {3290#(not |parse_expression_list_#t~short13|)} assume #t~short13;call #t~mem10 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short12 := #t~mem10 == 32; {3209#false} is VALID [2018-11-14 17:30:21,611 INFO L273 TraceCheckUtils]: 26: Hoare triple {3209#false} assume !#t~short12;call #t~mem11 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short12 := #t~mem11 == 9; {3209#false} is VALID [2018-11-14 17:30:21,611 INFO L273 TraceCheckUtils]: 27: Hoare triple {3209#false} #t~short13 := #t~short12; {3209#false} is VALID [2018-11-14 17:30:21,611 INFO L273 TraceCheckUtils]: 28: Hoare triple {3209#false} assume !#t~short13;havoc #t~short12;havoc #t~short13;havoc #t~mem11;havoc #t~mem10; {3209#false} is VALID [2018-11-14 17:30:21,612 INFO L273 TraceCheckUtils]: 29: Hoare triple {3209#false} #t~short16 := 0 < ~j~0; {3209#false} is VALID [2018-11-14 17:30:21,612 INFO L273 TraceCheckUtils]: 30: Hoare triple {3209#false} assume #t~short16;call #t~mem15 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short16 := #t~mem15 == 34; {3209#false} is VALID [2018-11-14 17:30:21,612 INFO L273 TraceCheckUtils]: 31: Hoare triple {3209#false} assume #t~short16;havoc #t~short16;havoc #t~mem15;#t~post17 := ~j~0;~j~0 := #t~post17 - 1;havoc #t~post17; {3209#false} is VALID [2018-11-14 17:30:21,612 INFO L273 TraceCheckUtils]: 32: Hoare triple {3209#false} assume ~start~0 <= ~j~0;call #t~ret18.base, #t~ret18.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0 * 1, ~j~0 - ~start~0 + 1);havoc #t~ret18.base, #t~ret18.offset; {3209#false} is VALID [2018-11-14 17:30:21,613 INFO L256 TraceCheckUtils]: 33: Hoare triple {3209#false} call __VERIFIER_assert((if ~j~0 - ~start~0 + 1 < 2 then 1 else 0)); {3209#false} is VALID [2018-11-14 17:30:21,613 INFO L273 TraceCheckUtils]: 34: Hoare triple {3209#false} ~cond := #in~cond; {3209#false} is VALID [2018-11-14 17:30:21,613 INFO L273 TraceCheckUtils]: 35: Hoare triple {3209#false} assume ~cond == 0; {3209#false} is VALID [2018-11-14 17:30:21,613 INFO L273 TraceCheckUtils]: 36: Hoare triple {3209#false} assume !false; {3209#false} is VALID [2018-11-14 17:30:21,615 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:30:21,645 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:30:21,646 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 8 [2018-11-14 17:30:21,646 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 37 [2018-11-14 17:30:21,647 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:30:21,647 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-14 17:30:21,779 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:21,779 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-14 17:30:21,780 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-14 17:30:21,780 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=38, Unknown=0, NotChecked=0, Total=56 [2018-11-14 17:30:21,780 INFO L87 Difference]: Start difference. First operand 109 states and 136 transitions. Second operand 8 states. [2018-11-14 17:30:22,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:22,468 INFO L93 Difference]: Finished difference Result 228 states and 285 transitions. [2018-11-14 17:30:22,468 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-14 17:30:22,468 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 37 [2018-11-14 17:30:22,468 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:30:22,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-14 17:30:22,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 143 transitions. [2018-11-14 17:30:22,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-14 17:30:22,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 143 transitions. [2018-11-14 17:30:22,474 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 143 transitions. [2018-11-14 17:30:22,693 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 143 edges. 143 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:22,696 INFO L225 Difference]: With dead ends: 228 [2018-11-14 17:30:22,696 INFO L226 Difference]: Without dead ends: 139 [2018-11-14 17:30:22,697 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 48 GetRequests, 38 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=43, Invalid=89, Unknown=0, NotChecked=0, Total=132 [2018-11-14 17:30:22,697 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 139 states. [2018-11-14 17:30:22,795 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 139 to 110. [2018-11-14 17:30:22,795 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:30:22,795 INFO L82 GeneralOperation]: Start isEquivalent. First operand 139 states. Second operand 110 states. [2018-11-14 17:30:22,795 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand 110 states. [2018-11-14 17:30:22,796 INFO L87 Difference]: Start difference. First operand 139 states. Second operand 110 states. [2018-11-14 17:30:22,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:22,801 INFO L93 Difference]: Finished difference Result 139 states and 166 transitions. [2018-11-14 17:30:22,801 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 166 transitions. [2018-11-14 17:30:22,802 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:22,802 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:22,802 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand 139 states. [2018-11-14 17:30:22,802 INFO L87 Difference]: Start difference. First operand 110 states. Second operand 139 states. [2018-11-14 17:30:22,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:22,807 INFO L93 Difference]: Finished difference Result 139 states and 166 transitions. [2018-11-14 17:30:22,807 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 166 transitions. [2018-11-14 17:30:22,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:22,808 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:22,808 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:30:22,809 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:30:22,809 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 110 states. [2018-11-14 17:30:22,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 132 transitions. [2018-11-14 17:30:22,813 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 132 transitions. Word has length 37 [2018-11-14 17:30:22,813 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:30:22,813 INFO L480 AbstractCegarLoop]: Abstraction has 110 states and 132 transitions. [2018-11-14 17:30:22,813 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-14 17:30:22,813 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 132 transitions. [2018-11-14 17:30:22,817 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-14 17:30:22,817 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:30:22,817 INFO L375 BasicCegarLoop]: trace histogram [3, 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] [2018-11-14 17:30:22,818 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:30:22,818 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:30:22,818 INFO L82 PathProgramCache]: Analyzing trace with hash 611667945, now seen corresponding path program 2 times [2018-11-14 17:30:22,818 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:30:22,818 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:30:22,819 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:22,819 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:30:22,819 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:22,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:30:23,121 INFO L256 TraceCheckUtils]: 0: Hoare triple {4012#true} call ULTIMATE.init(); {4012#true} is VALID [2018-11-14 17:30:23,122 INFO L273 TraceCheckUtils]: 1: Hoare triple {4012#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4012#true} is VALID [2018-11-14 17:30:23,122 INFO L273 TraceCheckUtils]: 2: Hoare triple {4012#true} assume true; {4012#true} is VALID [2018-11-14 17:30:23,122 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4012#true} {4012#true} #129#return; {4012#true} is VALID [2018-11-14 17:30:23,122 INFO L256 TraceCheckUtils]: 4: Hoare triple {4012#true} call #t~ret20 := main(); {4012#true} is VALID [2018-11-14 17:30:23,122 INFO L273 TraceCheckUtils]: 5: Hoare triple {4012#true} call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(9);call write~int(0, ~#A~0.base, ~#A~0.offset + 8, 1); {4012#true} is VALID [2018-11-14 17:30:23,122 INFO L256 TraceCheckUtils]: 6: Hoare triple {4012#true} call #t~ret19 := parse_expression_list(~#A~0.base, ~#A~0.offset); {4012#true} is VALID [2018-11-14 17:30:23,123 INFO L273 TraceCheckUtils]: 7: Hoare triple {4012#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset;~start~0 := 0;~i~0 := -1;~j~0 := -1;call ~#str2~0.base, ~#str2~0.offset := #Ultimate.alloc(2); {4014#(and (<= (+ parse_expression_list_~i~0 1) 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:23,124 INFO L273 TraceCheckUtils]: 8: Hoare triple {4014#(and (<= (+ parse_expression_list_~i~0 1) 0) (= parse_expression_list_~start~0 0))} assume !(~str.base == 0 && ~str.offset == 0); {4014#(and (<= (+ parse_expression_list_~i~0 1) 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:23,124 INFO L273 TraceCheckUtils]: 9: Hoare triple {4014#(and (<= (+ parse_expression_list_~i~0 1) 0) (= parse_expression_list_~start~0 0))} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {4015#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:23,125 INFO L273 TraceCheckUtils]: 10: Hoare triple {4015#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} assume !#t~switch3; {4015#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:23,125 INFO L273 TraceCheckUtils]: 11: Hoare triple {4015#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} havoc #t~switch3;havoc #t~mem2; {4015#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:23,126 INFO L273 TraceCheckUtils]: 12: Hoare triple {4015#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} call #t~mem0 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1); {4015#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:23,126 INFO L273 TraceCheckUtils]: 13: Hoare triple {4015#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} assume !!(#t~mem0 != 0);havoc #t~mem0; {4015#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:23,127 INFO L273 TraceCheckUtils]: 14: Hoare triple {4015#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {4016#(and (<= parse_expression_list_~i~0 1) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:23,128 INFO L273 TraceCheckUtils]: 15: Hoare triple {4016#(and (<= parse_expression_list_~i~0 1) (= parse_expression_list_~start~0 0))} assume !#t~switch3; {4016#(and (<= parse_expression_list_~i~0 1) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:23,129 INFO L273 TraceCheckUtils]: 16: Hoare triple {4016#(and (<= parse_expression_list_~i~0 1) (= parse_expression_list_~start~0 0))} havoc #t~switch3;havoc #t~mem2; {4016#(and (<= parse_expression_list_~i~0 1) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:23,129 INFO L273 TraceCheckUtils]: 17: Hoare triple {4016#(and (<= parse_expression_list_~i~0 1) (= parse_expression_list_~start~0 0))} call #t~mem0 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1); {4016#(and (<= parse_expression_list_~i~0 1) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:23,130 INFO L273 TraceCheckUtils]: 18: Hoare triple {4016#(and (<= parse_expression_list_~i~0 1) (= parse_expression_list_~start~0 0))} assume !!(#t~mem0 != 0);havoc #t~mem0; {4016#(and (<= parse_expression_list_~i~0 1) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:23,131 INFO L273 TraceCheckUtils]: 19: Hoare triple {4016#(and (<= parse_expression_list_~i~0 1) (= parse_expression_list_~start~0 0))} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {4017#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:23,132 INFO L273 TraceCheckUtils]: 20: Hoare triple {4017#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} assume #t~switch3; {4017#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:23,133 INFO L273 TraceCheckUtils]: 21: Hoare triple {4017#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} assume true; {4017#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:23,134 INFO L273 TraceCheckUtils]: 22: Hoare triple {4017#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} call #t~mem4 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem4 == 32; {4017#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:23,134 INFO L273 TraceCheckUtils]: 23: Hoare triple {4017#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} assume !#t~short6;call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem5 == 9; {4017#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:23,135 INFO L273 TraceCheckUtils]: 24: Hoare triple {4017#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} assume !#t~short6;havoc #t~mem5;havoc #t~short6;havoc #t~mem4; {4017#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:23,147 INFO L273 TraceCheckUtils]: 25: Hoare triple {4017#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} call #t~mem8 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1); {4017#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:23,148 INFO L273 TraceCheckUtils]: 26: Hoare triple {4017#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} assume #t~mem8 == 34;havoc #t~mem8;#t~post9 := ~start~0;~start~0 := #t~post9 + 1;havoc #t~post9; {4018#(<= parse_expression_list_~i~0 (+ parse_expression_list_~start~0 1))} is VALID [2018-11-14 17:30:23,149 INFO L273 TraceCheckUtils]: 27: Hoare triple {4018#(<= parse_expression_list_~i~0 (+ parse_expression_list_~start~0 1))} ~j~0 := ~i~0 - 1; {4019#(<= parse_expression_list_~j~0 parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:23,149 INFO L273 TraceCheckUtils]: 28: Hoare triple {4019#(<= parse_expression_list_~j~0 parse_expression_list_~start~0)} assume true; {4019#(<= parse_expression_list_~j~0 parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:23,149 INFO L273 TraceCheckUtils]: 29: Hoare triple {4019#(<= parse_expression_list_~j~0 parse_expression_list_~start~0)} #t~short13 := 0 < ~j~0; {4019#(<= parse_expression_list_~j~0 parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:23,155 INFO L273 TraceCheckUtils]: 30: Hoare triple {4019#(<= parse_expression_list_~j~0 parse_expression_list_~start~0)} assume #t~short13;call #t~mem10 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short12 := #t~mem10 == 32; {4019#(<= parse_expression_list_~j~0 parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:23,158 INFO L273 TraceCheckUtils]: 31: Hoare triple {4019#(<= parse_expression_list_~j~0 parse_expression_list_~start~0)} assume !#t~short12;call #t~mem11 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short12 := #t~mem11 == 9; {4019#(<= parse_expression_list_~j~0 parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:23,158 INFO L273 TraceCheckUtils]: 32: Hoare triple {4019#(<= parse_expression_list_~j~0 parse_expression_list_~start~0)} #t~short13 := #t~short12; {4019#(<= parse_expression_list_~j~0 parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:23,158 INFO L273 TraceCheckUtils]: 33: Hoare triple {4019#(<= parse_expression_list_~j~0 parse_expression_list_~start~0)} assume !#t~short13;havoc #t~short12;havoc #t~short13;havoc #t~mem11;havoc #t~mem10; {4019#(<= parse_expression_list_~j~0 parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:23,159 INFO L273 TraceCheckUtils]: 34: Hoare triple {4019#(<= parse_expression_list_~j~0 parse_expression_list_~start~0)} #t~short16 := 0 < ~j~0; {4019#(<= parse_expression_list_~j~0 parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:23,159 INFO L273 TraceCheckUtils]: 35: Hoare triple {4019#(<= parse_expression_list_~j~0 parse_expression_list_~start~0)} assume #t~short16;call #t~mem15 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short16 := #t~mem15 == 34; {4019#(<= parse_expression_list_~j~0 parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:23,160 INFO L273 TraceCheckUtils]: 36: Hoare triple {4019#(<= parse_expression_list_~j~0 parse_expression_list_~start~0)} assume #t~short16;havoc #t~short16;havoc #t~mem15;#t~post17 := ~j~0;~j~0 := #t~post17 - 1;havoc #t~post17; {4020#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:23,160 INFO L273 TraceCheckUtils]: 37: Hoare triple {4020#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} assume ~start~0 <= ~j~0;call #t~ret18.base, #t~ret18.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0 * 1, ~j~0 - ~start~0 + 1);havoc #t~ret18.base, #t~ret18.offset; {4020#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} is VALID [2018-11-14 17:30:23,161 INFO L256 TraceCheckUtils]: 38: Hoare triple {4020#(<= (+ parse_expression_list_~j~0 1) parse_expression_list_~start~0)} call __VERIFIER_assert((if ~j~0 - ~start~0 + 1 < 2 then 1 else 0)); {4021#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 17:30:23,161 INFO L273 TraceCheckUtils]: 39: Hoare triple {4021#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {4022#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-14 17:30:23,162 INFO L273 TraceCheckUtils]: 40: Hoare triple {4022#(= __VERIFIER_assert_~cond 1)} assume ~cond == 0; {4013#false} is VALID [2018-11-14 17:30:23,162 INFO L273 TraceCheckUtils]: 41: Hoare triple {4013#false} assume !false; {4013#false} is VALID [2018-11-14 17:30:23,165 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:30:23,166 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:30:23,166 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 17:30:23,179 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 17:30:23,226 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 17:30:23,227 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 17:30:23,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:30:23,256 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:30:24,007 INFO L256 TraceCheckUtils]: 0: Hoare triple {4012#true} call ULTIMATE.init(); {4012#true} is VALID [2018-11-14 17:30:24,007 INFO L273 TraceCheckUtils]: 1: Hoare triple {4012#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4012#true} is VALID [2018-11-14 17:30:24,007 INFO L273 TraceCheckUtils]: 2: Hoare triple {4012#true} assume true; {4012#true} is VALID [2018-11-14 17:30:24,008 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4012#true} {4012#true} #129#return; {4012#true} is VALID [2018-11-14 17:30:24,008 INFO L256 TraceCheckUtils]: 4: Hoare triple {4012#true} call #t~ret20 := main(); {4012#true} is VALID [2018-11-14 17:30:24,008 INFO L273 TraceCheckUtils]: 5: Hoare triple {4012#true} call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(9);call write~int(0, ~#A~0.base, ~#A~0.offset + 8, 1); {4012#true} is VALID [2018-11-14 17:30:24,008 INFO L256 TraceCheckUtils]: 6: Hoare triple {4012#true} call #t~ret19 := parse_expression_list(~#A~0.base, ~#A~0.offset); {4012#true} is VALID [2018-11-14 17:30:24,009 INFO L273 TraceCheckUtils]: 7: Hoare triple {4012#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset;~start~0 := 0;~i~0 := -1;~j~0 := -1;call ~#str2~0.base, ~#str2~0.offset := #Ultimate.alloc(2); {4047#(and (<= (+ parse_expression_list_~i~0 1) 0) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:24,010 INFO L273 TraceCheckUtils]: 8: Hoare triple {4047#(and (<= (+ parse_expression_list_~i~0 1) 0) (<= 0 parse_expression_list_~start~0))} assume !(~str.base == 0 && ~str.offset == 0); {4047#(and (<= (+ parse_expression_list_~i~0 1) 0) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:24,010 INFO L273 TraceCheckUtils]: 9: Hoare triple {4047#(and (<= (+ parse_expression_list_~i~0 1) 0) (<= 0 parse_expression_list_~start~0))} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {4054#(and (<= parse_expression_list_~i~0 0) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:24,012 INFO L273 TraceCheckUtils]: 10: Hoare triple {4054#(and (<= parse_expression_list_~i~0 0) (<= 0 parse_expression_list_~start~0))} assume !#t~switch3; {4054#(and (<= parse_expression_list_~i~0 0) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:24,012 INFO L273 TraceCheckUtils]: 11: Hoare triple {4054#(and (<= parse_expression_list_~i~0 0) (<= 0 parse_expression_list_~start~0))} havoc #t~switch3;havoc #t~mem2; {4054#(and (<= parse_expression_list_~i~0 0) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:24,013 INFO L273 TraceCheckUtils]: 12: Hoare triple {4054#(and (<= parse_expression_list_~i~0 0) (<= 0 parse_expression_list_~start~0))} call #t~mem0 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1); {4054#(and (<= parse_expression_list_~i~0 0) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:24,013 INFO L273 TraceCheckUtils]: 13: Hoare triple {4054#(and (<= parse_expression_list_~i~0 0) (<= 0 parse_expression_list_~start~0))} assume !!(#t~mem0 != 0);havoc #t~mem0; {4054#(and (<= parse_expression_list_~i~0 0) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:24,014 INFO L273 TraceCheckUtils]: 14: Hoare triple {4054#(and (<= parse_expression_list_~i~0 0) (<= 0 parse_expression_list_~start~0))} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {4070#(and (<= parse_expression_list_~i~0 1) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:24,016 INFO L273 TraceCheckUtils]: 15: Hoare triple {4070#(and (<= parse_expression_list_~i~0 1) (<= 0 parse_expression_list_~start~0))} assume !#t~switch3; {4070#(and (<= parse_expression_list_~i~0 1) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:24,020 INFO L273 TraceCheckUtils]: 16: Hoare triple {4070#(and (<= parse_expression_list_~i~0 1) (<= 0 parse_expression_list_~start~0))} havoc #t~switch3;havoc #t~mem2; {4070#(and (<= parse_expression_list_~i~0 1) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:24,022 INFO L273 TraceCheckUtils]: 17: Hoare triple {4070#(and (<= parse_expression_list_~i~0 1) (<= 0 parse_expression_list_~start~0))} call #t~mem0 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1); {4070#(and (<= parse_expression_list_~i~0 1) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:24,023 INFO L273 TraceCheckUtils]: 18: Hoare triple {4070#(and (<= parse_expression_list_~i~0 1) (<= 0 parse_expression_list_~start~0))} assume !!(#t~mem0 != 0);havoc #t~mem0; {4070#(and (<= parse_expression_list_~i~0 1) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:24,024 INFO L273 TraceCheckUtils]: 19: Hoare triple {4070#(and (<= parse_expression_list_~i~0 1) (<= 0 parse_expression_list_~start~0))} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {4086#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:24,024 INFO L273 TraceCheckUtils]: 20: Hoare triple {4086#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} assume #t~switch3; {4086#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:24,025 INFO L273 TraceCheckUtils]: 21: Hoare triple {4086#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} assume true; {4086#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:24,025 INFO L273 TraceCheckUtils]: 22: Hoare triple {4086#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} call #t~mem4 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem4 == 32; {4086#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:24,026 INFO L273 TraceCheckUtils]: 23: Hoare triple {4086#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} assume !#t~short6;call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem5 == 9; {4086#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:24,026 INFO L273 TraceCheckUtils]: 24: Hoare triple {4086#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} assume !#t~short6;havoc #t~mem5;havoc #t~short6;havoc #t~mem4; {4086#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:24,027 INFO L273 TraceCheckUtils]: 25: Hoare triple {4086#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} call #t~mem8 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1); {4086#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:24,028 INFO L273 TraceCheckUtils]: 26: Hoare triple {4086#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} assume #t~mem8 == 34;havoc #t~mem8;#t~post9 := ~start~0;~start~0 := #t~post9 + 1;havoc #t~post9; {4108#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:24,029 INFO L273 TraceCheckUtils]: 27: Hoare triple {4108#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} ~j~0 := ~i~0 - 1; {4112#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 1))} is VALID [2018-11-14 17:30:24,029 INFO L273 TraceCheckUtils]: 28: Hoare triple {4112#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 1))} assume true; {4112#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 1))} is VALID [2018-11-14 17:30:24,030 INFO L273 TraceCheckUtils]: 29: Hoare triple {4112#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 1))} #t~short13 := 0 < ~j~0; {4112#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 1))} is VALID [2018-11-14 17:30:24,031 INFO L273 TraceCheckUtils]: 30: Hoare triple {4112#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 1))} assume #t~short13;call #t~mem10 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short12 := #t~mem10 == 32; {4112#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 1))} is VALID [2018-11-14 17:30:24,032 INFO L273 TraceCheckUtils]: 31: Hoare triple {4112#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 1))} assume !#t~short12;call #t~mem11 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short12 := #t~mem11 == 9; {4112#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 1))} is VALID [2018-11-14 17:30:24,032 INFO L273 TraceCheckUtils]: 32: Hoare triple {4112#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 1))} #t~short13 := #t~short12; {4112#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 1))} is VALID [2018-11-14 17:30:24,033 INFO L273 TraceCheckUtils]: 33: Hoare triple {4112#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 1))} assume !#t~short13;havoc #t~short12;havoc #t~short13;havoc #t~mem11;havoc #t~mem10; {4112#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 1))} is VALID [2018-11-14 17:30:24,034 INFO L273 TraceCheckUtils]: 34: Hoare triple {4112#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 1))} #t~short16 := 0 < ~j~0; {4112#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 1))} is VALID [2018-11-14 17:30:24,047 INFO L273 TraceCheckUtils]: 35: Hoare triple {4112#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 1))} assume #t~short16;call #t~mem15 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short16 := #t~mem15 == 34; {4112#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 1))} is VALID [2018-11-14 17:30:24,048 INFO L273 TraceCheckUtils]: 36: Hoare triple {4112#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 1))} assume #t~short16;havoc #t~short16;havoc #t~mem15;#t~post17 := ~j~0;~j~0 := #t~post17 - 1;havoc #t~post17; {4140#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} is VALID [2018-11-14 17:30:24,049 INFO L273 TraceCheckUtils]: 37: Hoare triple {4140#(and (<= 1 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} assume ~start~0 <= ~j~0;call #t~ret18.base, #t~ret18.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0 * 1, ~j~0 - ~start~0 + 1);havoc #t~ret18.base, #t~ret18.offset; {4013#false} is VALID [2018-11-14 17:30:24,049 INFO L256 TraceCheckUtils]: 38: Hoare triple {4013#false} call __VERIFIER_assert((if ~j~0 - ~start~0 + 1 < 2 then 1 else 0)); {4013#false} is VALID [2018-11-14 17:30:24,049 INFO L273 TraceCheckUtils]: 39: Hoare triple {4013#false} ~cond := #in~cond; {4013#false} is VALID [2018-11-14 17:30:24,049 INFO L273 TraceCheckUtils]: 40: Hoare triple {4013#false} assume ~cond == 0; {4013#false} is VALID [2018-11-14 17:30:24,050 INFO L273 TraceCheckUtils]: 41: Hoare triple {4013#false} assume !false; {4013#false} is VALID [2018-11-14 17:30:24,052 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:30:24,073 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:30:24,073 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 18 [2018-11-14 17:30:24,073 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 42 [2018-11-14 17:30:24,074 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:30:24,074 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-14 17:30:24,145 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:24,146 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-14 17:30:24,146 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-14 17:30:24,146 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=238, Unknown=0, NotChecked=0, Total=306 [2018-11-14 17:30:24,147 INFO L87 Difference]: Start difference. First operand 110 states and 132 transitions. Second operand 18 states. [2018-11-14 17:30:26,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:26,153 INFO L93 Difference]: Finished difference Result 244 states and 298 transitions. [2018-11-14 17:30:26,154 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-14 17:30:26,154 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 42 [2018-11-14 17:30:26,154 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:30:26,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-14 17:30:26,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 221 transitions. [2018-11-14 17:30:26,158 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-14 17:30:26,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 221 transitions. [2018-11-14 17:30:26,161 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 221 transitions. [2018-11-14 17:30:26,826 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 221 edges. 221 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:26,831 INFO L225 Difference]: With dead ends: 244 [2018-11-14 17:30:26,831 INFO L226 Difference]: Without dead ends: 191 [2018-11-14 17:30:26,832 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 36 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 108 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=145, Invalid=505, Unknown=0, NotChecked=0, Total=650 [2018-11-14 17:30:26,833 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 191 states. [2018-11-14 17:30:26,930 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 191 to 137. [2018-11-14 17:30:26,930 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:30:26,930 INFO L82 GeneralOperation]: Start isEquivalent. First operand 191 states. Second operand 137 states. [2018-11-14 17:30:26,930 INFO L74 IsIncluded]: Start isIncluded. First operand 191 states. Second operand 137 states. [2018-11-14 17:30:26,931 INFO L87 Difference]: Start difference. First operand 191 states. Second operand 137 states. [2018-11-14 17:30:26,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:26,936 INFO L93 Difference]: Finished difference Result 191 states and 228 transitions. [2018-11-14 17:30:26,936 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 228 transitions. [2018-11-14 17:30:26,936 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:26,937 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:26,937 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 191 states. [2018-11-14 17:30:26,937 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 191 states. [2018-11-14 17:30:26,942 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:26,942 INFO L93 Difference]: Finished difference Result 191 states and 228 transitions. [2018-11-14 17:30:26,942 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 228 transitions. [2018-11-14 17:30:26,943 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:26,944 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:26,944 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:30:26,944 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:30:26,944 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2018-11-14 17:30:26,948 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 167 transitions. [2018-11-14 17:30:26,948 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 167 transitions. Word has length 42 [2018-11-14 17:30:26,948 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:30:26,948 INFO L480 AbstractCegarLoop]: Abstraction has 137 states and 167 transitions. [2018-11-14 17:30:26,949 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-14 17:30:26,949 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 167 transitions. [2018-11-14 17:30:26,950 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-14 17:30:26,950 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:30:26,950 INFO L375 BasicCegarLoop]: trace histogram [3, 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] [2018-11-14 17:30:26,950 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:30:26,951 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:30:26,951 INFO L82 PathProgramCache]: Analyzing trace with hash -409400409, now seen corresponding path program 1 times [2018-11-14 17:30:26,951 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:30:26,951 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:30:26,952 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:26,952 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 17:30:26,952 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:26,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:30:27,503 INFO L256 TraceCheckUtils]: 0: Hoare triple {5001#true} call ULTIMATE.init(); {5001#true} is VALID [2018-11-14 17:30:27,503 INFO L273 TraceCheckUtils]: 1: Hoare triple {5001#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5001#true} is VALID [2018-11-14 17:30:27,503 INFO L273 TraceCheckUtils]: 2: Hoare triple {5001#true} assume true; {5001#true} is VALID [2018-11-14 17:30:27,504 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5001#true} {5001#true} #129#return; {5001#true} is VALID [2018-11-14 17:30:27,504 INFO L256 TraceCheckUtils]: 4: Hoare triple {5001#true} call #t~ret20 := main(); {5001#true} is VALID [2018-11-14 17:30:27,504 INFO L273 TraceCheckUtils]: 5: Hoare triple {5001#true} call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(9);call write~int(0, ~#A~0.base, ~#A~0.offset + 8, 1); {5001#true} is VALID [2018-11-14 17:30:27,504 INFO L256 TraceCheckUtils]: 6: Hoare triple {5001#true} call #t~ret19 := parse_expression_list(~#A~0.base, ~#A~0.offset); {5001#true} is VALID [2018-11-14 17:30:27,505 INFO L273 TraceCheckUtils]: 7: Hoare triple {5001#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset;~start~0 := 0;~i~0 := -1;~j~0 := -1;call ~#str2~0.base, ~#str2~0.offset := #Ultimate.alloc(2); {5003#(and (<= (+ parse_expression_list_~i~0 1) 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,505 INFO L273 TraceCheckUtils]: 8: Hoare triple {5003#(and (<= (+ parse_expression_list_~i~0 1) 0) (= parse_expression_list_~start~0 0))} assume !(~str.base == 0 && ~str.offset == 0); {5003#(and (<= (+ parse_expression_list_~i~0 1) 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,506 INFO L273 TraceCheckUtils]: 9: Hoare triple {5003#(and (<= (+ parse_expression_list_~i~0 1) 0) (= parse_expression_list_~start~0 0))} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {5004#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,507 INFO L273 TraceCheckUtils]: 10: Hoare triple {5004#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} assume !#t~switch3; {5004#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,507 INFO L273 TraceCheckUtils]: 11: Hoare triple {5004#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} havoc #t~switch3;havoc #t~mem2; {5004#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,508 INFO L273 TraceCheckUtils]: 12: Hoare triple {5004#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} call #t~mem0 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1); {5004#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,509 INFO L273 TraceCheckUtils]: 13: Hoare triple {5004#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} assume !!(#t~mem0 != 0);havoc #t~mem0; {5004#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,510 INFO L273 TraceCheckUtils]: 14: Hoare triple {5004#(and (<= parse_expression_list_~i~0 0) (= parse_expression_list_~start~0 0))} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {5005#(and (<= parse_expression_list_~i~0 1) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,511 INFO L273 TraceCheckUtils]: 15: Hoare triple {5005#(and (<= parse_expression_list_~i~0 1) (= parse_expression_list_~start~0 0))} assume !#t~switch3; {5005#(and (<= parse_expression_list_~i~0 1) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,511 INFO L273 TraceCheckUtils]: 16: Hoare triple {5005#(and (<= parse_expression_list_~i~0 1) (= parse_expression_list_~start~0 0))} havoc #t~switch3;havoc #t~mem2; {5005#(and (<= parse_expression_list_~i~0 1) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,512 INFO L273 TraceCheckUtils]: 17: Hoare triple {5005#(and (<= parse_expression_list_~i~0 1) (= parse_expression_list_~start~0 0))} call #t~mem0 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1); {5005#(and (<= parse_expression_list_~i~0 1) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,513 INFO L273 TraceCheckUtils]: 18: Hoare triple {5005#(and (<= parse_expression_list_~i~0 1) (= parse_expression_list_~start~0 0))} assume !!(#t~mem0 != 0);havoc #t~mem0; {5005#(and (<= parse_expression_list_~i~0 1) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,514 INFO L273 TraceCheckUtils]: 19: Hoare triple {5005#(and (<= parse_expression_list_~i~0 1) (= parse_expression_list_~start~0 0))} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {5006#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:27,515 INFO L273 TraceCheckUtils]: 20: Hoare triple {5006#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} assume #t~switch3; {5006#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:27,516 INFO L273 TraceCheckUtils]: 21: Hoare triple {5006#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} assume true; {5006#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:27,537 INFO L273 TraceCheckUtils]: 22: Hoare triple {5006#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} call #t~mem4 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem4 == 32; {5006#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:27,538 INFO L273 TraceCheckUtils]: 23: Hoare triple {5006#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} assume !#t~short6;call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem5 == 9; {5006#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:27,543 INFO L273 TraceCheckUtils]: 24: Hoare triple {5006#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} assume !#t~short6;havoc #t~mem5;havoc #t~short6;havoc #t~mem4; {5006#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:27,545 INFO L273 TraceCheckUtils]: 25: Hoare triple {5006#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} call #t~mem8 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1); {5006#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:27,546 INFO L273 TraceCheckUtils]: 26: Hoare triple {5006#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} assume !(#t~mem8 == 34);havoc #t~mem8; {5006#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:27,547 INFO L273 TraceCheckUtils]: 27: Hoare triple {5006#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~i~0 2))} ~j~0 := ~i~0 - 1; {5007#(and (<= parse_expression_list_~j~0 1) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,549 INFO L273 TraceCheckUtils]: 28: Hoare triple {5007#(and (<= parse_expression_list_~j~0 1) (= parse_expression_list_~start~0 0))} assume true; {5007#(and (<= parse_expression_list_~j~0 1) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,549 INFO L273 TraceCheckUtils]: 29: Hoare triple {5007#(and (<= parse_expression_list_~j~0 1) (= parse_expression_list_~start~0 0))} #t~short13 := 0 < ~j~0; {5007#(and (<= parse_expression_list_~j~0 1) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,551 INFO L273 TraceCheckUtils]: 30: Hoare triple {5007#(and (<= parse_expression_list_~j~0 1) (= parse_expression_list_~start~0 0))} assume #t~short13;call #t~mem10 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short12 := #t~mem10 == 32; {5007#(and (<= parse_expression_list_~j~0 1) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,551 INFO L273 TraceCheckUtils]: 31: Hoare triple {5007#(and (<= parse_expression_list_~j~0 1) (= parse_expression_list_~start~0 0))} assume !#t~short12;call #t~mem11 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short12 := #t~mem11 == 9; {5007#(and (<= parse_expression_list_~j~0 1) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,553 INFO L273 TraceCheckUtils]: 32: Hoare triple {5007#(and (<= parse_expression_list_~j~0 1) (= parse_expression_list_~start~0 0))} #t~short13 := #t~short12; {5007#(and (<= parse_expression_list_~j~0 1) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,555 INFO L273 TraceCheckUtils]: 33: Hoare triple {5007#(and (<= parse_expression_list_~j~0 1) (= parse_expression_list_~start~0 0))} assume !#t~short13;havoc #t~short12;havoc #t~short13;havoc #t~mem11;havoc #t~mem10; {5007#(and (<= parse_expression_list_~j~0 1) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,555 INFO L273 TraceCheckUtils]: 34: Hoare triple {5007#(and (<= parse_expression_list_~j~0 1) (= parse_expression_list_~start~0 0))} #t~short16 := 0 < ~j~0; {5007#(and (<= parse_expression_list_~j~0 1) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,558 INFO L273 TraceCheckUtils]: 35: Hoare triple {5007#(and (<= parse_expression_list_~j~0 1) (= parse_expression_list_~start~0 0))} assume #t~short16;call #t~mem15 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short16 := #t~mem15 == 34; {5007#(and (<= parse_expression_list_~j~0 1) (= parse_expression_list_~start~0 0))} is VALID [2018-11-14 17:30:27,577 INFO L273 TraceCheckUtils]: 36: Hoare triple {5007#(and (<= parse_expression_list_~j~0 1) (= parse_expression_list_~start~0 0))} assume #t~short16;havoc #t~short16;havoc #t~mem15;#t~post17 := ~j~0;~j~0 := #t~post17 - 1;havoc #t~post17; {5008#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~j~0 0))} is VALID [2018-11-14 17:30:27,586 INFO L273 TraceCheckUtils]: 37: Hoare triple {5008#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~j~0 0))} assume ~start~0 <= ~j~0;call #t~ret18.base, #t~ret18.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0 * 1, ~j~0 - ~start~0 + 1);havoc #t~ret18.base, #t~ret18.offset; {5008#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~j~0 0))} is VALID [2018-11-14 17:30:27,595 INFO L256 TraceCheckUtils]: 38: Hoare triple {5008#(and (= parse_expression_list_~start~0 0) (<= parse_expression_list_~j~0 0))} call __VERIFIER_assert((if ~j~0 - ~start~0 + 1 < 2 then 1 else 0)); {5009#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 17:30:27,595 INFO L273 TraceCheckUtils]: 39: Hoare triple {5009#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {5010#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-14 17:30:27,615 INFO L273 TraceCheckUtils]: 40: Hoare triple {5010#(= __VERIFIER_assert_~cond 1)} assume ~cond == 0; {5002#false} is VALID [2018-11-14 17:30:27,615 INFO L273 TraceCheckUtils]: 41: Hoare triple {5002#false} assume !false; {5002#false} is VALID [2018-11-14 17:30:27,618 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:30:27,618 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 17:30:27,618 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 17:30:27,627 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:30:27,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:30:27,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 17:30:27,681 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 17:30:28,173 INFO L256 TraceCheckUtils]: 0: Hoare triple {5001#true} call ULTIMATE.init(); {5001#true} is VALID [2018-11-14 17:30:28,174 INFO L273 TraceCheckUtils]: 1: Hoare triple {5001#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5001#true} is VALID [2018-11-14 17:30:28,174 INFO L273 TraceCheckUtils]: 2: Hoare triple {5001#true} assume true; {5001#true} is VALID [2018-11-14 17:30:28,174 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5001#true} {5001#true} #129#return; {5001#true} is VALID [2018-11-14 17:30:28,175 INFO L256 TraceCheckUtils]: 4: Hoare triple {5001#true} call #t~ret20 := main(); {5001#true} is VALID [2018-11-14 17:30:28,175 INFO L273 TraceCheckUtils]: 5: Hoare triple {5001#true} call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(9);call write~int(0, ~#A~0.base, ~#A~0.offset + 8, 1); {5001#true} is VALID [2018-11-14 17:30:28,175 INFO L256 TraceCheckUtils]: 6: Hoare triple {5001#true} call #t~ret19 := parse_expression_list(~#A~0.base, ~#A~0.offset); {5001#true} is VALID [2018-11-14 17:30:28,176 INFO L273 TraceCheckUtils]: 7: Hoare triple {5001#true} ~str.base, ~str.offset := #in~str.base, #in~str.offset;~start~0 := 0;~i~0 := -1;~j~0 := -1;call ~#str2~0.base, ~#str2~0.offset := #Ultimate.alloc(2); {5035#(and (<= (+ parse_expression_list_~i~0 1) 0) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,177 INFO L273 TraceCheckUtils]: 8: Hoare triple {5035#(and (<= (+ parse_expression_list_~i~0 1) 0) (<= 0 parse_expression_list_~start~0))} assume !(~str.base == 0 && ~str.offset == 0); {5035#(and (<= (+ parse_expression_list_~i~0 1) 0) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,177 INFO L273 TraceCheckUtils]: 9: Hoare triple {5035#(and (<= (+ parse_expression_list_~i~0 1) 0) (<= 0 parse_expression_list_~start~0))} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {5042#(and (<= parse_expression_list_~i~0 0) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,178 INFO L273 TraceCheckUtils]: 10: Hoare triple {5042#(and (<= parse_expression_list_~i~0 0) (<= 0 parse_expression_list_~start~0))} assume !#t~switch3; {5042#(and (<= parse_expression_list_~i~0 0) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,178 INFO L273 TraceCheckUtils]: 11: Hoare triple {5042#(and (<= parse_expression_list_~i~0 0) (<= 0 parse_expression_list_~start~0))} havoc #t~switch3;havoc #t~mem2; {5042#(and (<= parse_expression_list_~i~0 0) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,179 INFO L273 TraceCheckUtils]: 12: Hoare triple {5042#(and (<= parse_expression_list_~i~0 0) (<= 0 parse_expression_list_~start~0))} call #t~mem0 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1); {5042#(and (<= parse_expression_list_~i~0 0) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,179 INFO L273 TraceCheckUtils]: 13: Hoare triple {5042#(and (<= parse_expression_list_~i~0 0) (<= 0 parse_expression_list_~start~0))} assume !!(#t~mem0 != 0);havoc #t~mem0; {5042#(and (<= parse_expression_list_~i~0 0) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,180 INFO L273 TraceCheckUtils]: 14: Hoare triple {5042#(and (<= parse_expression_list_~i~0 0) (<= 0 parse_expression_list_~start~0))} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {5058#(and (<= parse_expression_list_~i~0 1) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,181 INFO L273 TraceCheckUtils]: 15: Hoare triple {5058#(and (<= parse_expression_list_~i~0 1) (<= 0 parse_expression_list_~start~0))} assume !#t~switch3; {5058#(and (<= parse_expression_list_~i~0 1) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,182 INFO L273 TraceCheckUtils]: 16: Hoare triple {5058#(and (<= parse_expression_list_~i~0 1) (<= 0 parse_expression_list_~start~0))} havoc #t~switch3;havoc #t~mem2; {5058#(and (<= parse_expression_list_~i~0 1) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,183 INFO L273 TraceCheckUtils]: 17: Hoare triple {5058#(and (<= parse_expression_list_~i~0 1) (<= 0 parse_expression_list_~start~0))} call #t~mem0 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1); {5058#(and (<= parse_expression_list_~i~0 1) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,183 INFO L273 TraceCheckUtils]: 18: Hoare triple {5058#(and (<= parse_expression_list_~i~0 1) (<= 0 parse_expression_list_~start~0))} assume !!(#t~mem0 != 0);havoc #t~mem0; {5058#(and (<= parse_expression_list_~i~0 1) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,184 INFO L273 TraceCheckUtils]: 19: Hoare triple {5058#(and (<= parse_expression_list_~i~0 1) (<= 0 parse_expression_list_~start~0))} assume true;#t~post1 := ~i~0;~i~0 := #t~post1 + 1;havoc #t~post1;call #t~mem2 := read~int(~str.base, ~str.offset + ~i~0 * 1, 1);#t~switch3 := #t~mem2 == 0; {5074#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:28,185 INFO L273 TraceCheckUtils]: 20: Hoare triple {5074#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} assume #t~switch3; {5074#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:28,186 INFO L273 TraceCheckUtils]: 21: Hoare triple {5074#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} assume true; {5074#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:28,187 INFO L273 TraceCheckUtils]: 22: Hoare triple {5074#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} call #t~mem4 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem4 == 32; {5074#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:28,187 INFO L273 TraceCheckUtils]: 23: Hoare triple {5074#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} assume !#t~short6;call #t~mem5 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1);#t~short6 := #t~mem5 == 9; {5074#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:28,188 INFO L273 TraceCheckUtils]: 24: Hoare triple {5074#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} assume !#t~short6;havoc #t~mem5;havoc #t~short6;havoc #t~mem4; {5074#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:28,189 INFO L273 TraceCheckUtils]: 25: Hoare triple {5074#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} call #t~mem8 := read~int(~str.base, ~str.offset + ~start~0 * 1, 1); {5074#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:28,190 INFO L273 TraceCheckUtils]: 26: Hoare triple {5074#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} assume !(#t~mem8 == 34);havoc #t~mem8; {5074#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} is VALID [2018-11-14 17:30:28,190 INFO L273 TraceCheckUtils]: 27: Hoare triple {5074#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~i~0 2))} ~j~0 := ~i~0 - 1; {5099#(and (<= parse_expression_list_~j~0 1) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,191 INFO L273 TraceCheckUtils]: 28: Hoare triple {5099#(and (<= parse_expression_list_~j~0 1) (<= 0 parse_expression_list_~start~0))} assume true; {5099#(and (<= parse_expression_list_~j~0 1) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,192 INFO L273 TraceCheckUtils]: 29: Hoare triple {5099#(and (<= parse_expression_list_~j~0 1) (<= 0 parse_expression_list_~start~0))} #t~short13 := 0 < ~j~0; {5099#(and (<= parse_expression_list_~j~0 1) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,193 INFO L273 TraceCheckUtils]: 30: Hoare triple {5099#(and (<= parse_expression_list_~j~0 1) (<= 0 parse_expression_list_~start~0))} assume #t~short13;call #t~mem10 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short12 := #t~mem10 == 32; {5099#(and (<= parse_expression_list_~j~0 1) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,194 INFO L273 TraceCheckUtils]: 31: Hoare triple {5099#(and (<= parse_expression_list_~j~0 1) (<= 0 parse_expression_list_~start~0))} assume !#t~short12;call #t~mem11 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short12 := #t~mem11 == 9; {5099#(and (<= parse_expression_list_~j~0 1) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,194 INFO L273 TraceCheckUtils]: 32: Hoare triple {5099#(and (<= parse_expression_list_~j~0 1) (<= 0 parse_expression_list_~start~0))} #t~short13 := #t~short12; {5099#(and (<= parse_expression_list_~j~0 1) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,195 INFO L273 TraceCheckUtils]: 33: Hoare triple {5099#(and (<= parse_expression_list_~j~0 1) (<= 0 parse_expression_list_~start~0))} assume !#t~short13;havoc #t~short12;havoc #t~short13;havoc #t~mem11;havoc #t~mem10; {5099#(and (<= parse_expression_list_~j~0 1) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,196 INFO L273 TraceCheckUtils]: 34: Hoare triple {5099#(and (<= parse_expression_list_~j~0 1) (<= 0 parse_expression_list_~start~0))} #t~short16 := 0 < ~j~0; {5099#(and (<= parse_expression_list_~j~0 1) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,197 INFO L273 TraceCheckUtils]: 35: Hoare triple {5099#(and (<= parse_expression_list_~j~0 1) (<= 0 parse_expression_list_~start~0))} assume #t~short16;call #t~mem15 := read~int(~str.base, ~str.offset + ~j~0 * 1, 1);#t~short16 := #t~mem15 == 34; {5099#(and (<= parse_expression_list_~j~0 1) (<= 0 parse_expression_list_~start~0))} is VALID [2018-11-14 17:30:28,197 INFO L273 TraceCheckUtils]: 36: Hoare triple {5099#(and (<= parse_expression_list_~j~0 1) (<= 0 parse_expression_list_~start~0))} assume #t~short16;havoc #t~short16;havoc #t~mem15;#t~post17 := ~j~0;~j~0 := #t~post17 - 1;havoc #t~post17; {5127#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} is VALID [2018-11-14 17:30:28,198 INFO L273 TraceCheckUtils]: 37: Hoare triple {5127#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} assume ~start~0 <= ~j~0;call #t~ret18.base, #t~ret18.offset := r_strncpy(~#str2~0.base, ~#str2~0.offset, ~str.base, ~str.offset + ~start~0 * 1, ~j~0 - ~start~0 + 1);havoc #t~ret18.base, #t~ret18.offset; {5127#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} is VALID [2018-11-14 17:30:28,199 INFO L256 TraceCheckUtils]: 38: Hoare triple {5127#(and (<= 0 parse_expression_list_~start~0) (<= parse_expression_list_~j~0 0))} call __VERIFIER_assert((if ~j~0 - ~start~0 + 1 < 2 then 1 else 0)); {5009#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 17:30:28,200 INFO L273 TraceCheckUtils]: 39: Hoare triple {5009#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {5010#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-14 17:30:28,201 INFO L273 TraceCheckUtils]: 40: Hoare triple {5010#(= __VERIFIER_assert_~cond 1)} assume ~cond == 0; {5002#false} is VALID [2018-11-14 17:30:28,201 INFO L273 TraceCheckUtils]: 41: Hoare triple {5002#false} assume !false; {5002#false} is VALID [2018-11-14 17:30:28,204 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 17:30:28,223 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 17:30:28,224 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2018-11-14 17:30:28,224 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 42 [2018-11-14 17:30:28,224 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 17:30:28,224 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-14 17:30:28,296 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:28,296 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-14 17:30:28,297 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-14 17:30:28,297 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=184, Unknown=0, NotChecked=0, Total=240 [2018-11-14 17:30:28,297 INFO L87 Difference]: Start difference. First operand 137 states and 167 transitions. Second operand 16 states. [2018-11-14 17:30:29,915 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:29,915 INFO L93 Difference]: Finished difference Result 211 states and 255 transitions. [2018-11-14 17:30:29,915 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-14 17:30:29,916 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 42 [2018-11-14 17:30:29,916 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 17:30:29,916 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-14 17:30:29,919 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 190 transitions. [2018-11-14 17:30:29,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-14 17:30:29,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 190 transitions. [2018-11-14 17:30:29,921 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 190 transitions. [2018-11-14 17:30:30,573 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 190 edges. 190 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 17:30:30,579 INFO L225 Difference]: With dead ends: 211 [2018-11-14 17:30:30,579 INFO L226 Difference]: Without dead ends: 209 [2018-11-14 17:30:30,579 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 36 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 80 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=139, Invalid=413, Unknown=0, NotChecked=0, Total=552 [2018-11-14 17:30:30,580 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 209 states. [2018-11-14 17:30:31,315 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 209 to 158. [2018-11-14 17:30:31,316 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 17:30:31,316 INFO L82 GeneralOperation]: Start isEquivalent. First operand 209 states. Second operand 158 states. [2018-11-14 17:30:31,316 INFO L74 IsIncluded]: Start isIncluded. First operand 209 states. Second operand 158 states. [2018-11-14 17:30:31,316 INFO L87 Difference]: Start difference. First operand 209 states. Second operand 158 states. [2018-11-14 17:30:31,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:31,323 INFO L93 Difference]: Finished difference Result 209 states and 253 transitions. [2018-11-14 17:30:31,323 INFO L276 IsEmpty]: Start isEmpty. Operand 209 states and 253 transitions. [2018-11-14 17:30:31,324 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:31,324 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:31,325 INFO L74 IsIncluded]: Start isIncluded. First operand 158 states. Second operand 209 states. [2018-11-14 17:30:31,325 INFO L87 Difference]: Start difference. First operand 158 states. Second operand 209 states. [2018-11-14 17:30:31,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 17:30:31,331 INFO L93 Difference]: Finished difference Result 209 states and 253 transitions. [2018-11-14 17:30:31,331 INFO L276 IsEmpty]: Start isEmpty. Operand 209 states and 253 transitions. [2018-11-14 17:30:31,332 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 17:30:31,332 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 17:30:31,332 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 17:30:31,333 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 17:30:31,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 158 states. [2018-11-14 17:30:31,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 158 states to 158 states and 198 transitions. [2018-11-14 17:30:31,336 INFO L78 Accepts]: Start accepts. Automaton has 158 states and 198 transitions. Word has length 42 [2018-11-14 17:30:31,337 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 17:30:31,337 INFO L480 AbstractCegarLoop]: Abstraction has 158 states and 198 transitions. [2018-11-14 17:30:31,337 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-14 17:30:31,337 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 198 transitions. [2018-11-14 17:30:31,338 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-14 17:30:31,338 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 17:30:31,338 INFO L375 BasicCegarLoop]: trace histogram [3, 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] [2018-11-14 17:30:31,339 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 17:30:31,339 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 17:30:31,339 INFO L82 PathProgramCache]: Analyzing trace with hash -352142107, now seen corresponding path program 1 times [2018-11-14 17:30:31,339 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 17:30:31,339 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 17:30:31,340 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:31,340 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 17:30:31,341 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 17:30:31,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-14 17:30:31,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-14 17:30:31,400 INFO L442 BasicCegarLoop]: Counterexample might be feasible [2018-11-14 17:30:31,431 WARN L1239 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch3 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2018-11-14 17:30:31,433 WARN L1239 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch3 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2018-11-14 17:30:31,434 WARN L1239 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch3 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2018-11-14 17:30:31,435 WARN L1239 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch3 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2018-11-14 17:30:31,435 WARN L1239 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch3 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2018-11-14 17:30:31,436 WARN L1239 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch3 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2018-11-14 17:30:31,436 WARN L1239 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch3 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2018-11-14 17:30:31,437 WARN L1239 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch3 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2018-11-14 17:30:31,437 WARN L1239 BoogieBacktranslator]: Unfinished Backtranslation: Expression #t~switch3 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement [2018-11-14 17:30:31,449 WARN L170 areAnnotationChecker]: parse_expression_listENTRY has no Hoare annotation [2018-11-14 17:30:31,450 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2018-11-14 17:30:31,450 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2018-11-14 17:30:31,450 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2018-11-14 17:30:31,450 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2018-11-14 17:30:31,450 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2018-11-14 17:30:31,450 WARN L170 areAnnotationChecker]: L51 has no Hoare annotation [2018-11-14 17:30:31,450 WARN L170 areAnnotationChecker]: L51 has no Hoare annotation [2018-11-14 17:30:31,450 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2018-11-14 17:30:31,450 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2018-11-14 17:30:31,450 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2018-11-14 17:30:31,450 WARN L170 areAnnotationChecker]: L77 has no Hoare annotation [2018-11-14 17:30:31,450 WARN L170 areAnnotationChecker]: L77 has no Hoare annotation [2018-11-14 17:30:31,450 WARN L170 areAnnotationChecker]: L4 has no Hoare annotation [2018-11-14 17:30:31,451 WARN L170 areAnnotationChecker]: L4 has no Hoare annotation [2018-11-14 17:30:31,451 WARN L170 areAnnotationChecker]: parse_expression_listFINAL has no Hoare annotation [2018-11-14 17:30:31,451 WARN L170 areAnnotationChecker]: L52-4 has no Hoare annotation [2018-11-14 17:30:31,451 WARN L170 areAnnotationChecker]: L52-4 has no Hoare annotation [2018-11-14 17:30:31,451 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2018-11-14 17:30:31,451 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2018-11-14 17:30:31,451 WARN L170 areAnnotationChecker]: L77-1 has no Hoare annotation [2018-11-14 17:30:31,451 WARN L170 areAnnotationChecker]: L5 has no Hoare annotation [2018-11-14 17:30:31,451 WARN L170 areAnnotationChecker]: L5 has no Hoare annotation [2018-11-14 17:30:31,451 WARN L170 areAnnotationChecker]: L4-2 has no Hoare annotation [2018-11-14 17:30:31,451 WARN L170 areAnnotationChecker]: parse_expression_listEXIT has no Hoare annotation [2018-11-14 17:30:31,452 WARN L170 areAnnotationChecker]: L55 has no Hoare annotation [2018-11-14 17:30:31,452 WARN L170 areAnnotationChecker]: L55 has no Hoare annotation [2018-11-14 17:30:31,452 WARN L170 areAnnotationChecker]: L52-5 has no Hoare annotation [2018-11-14 17:30:31,452 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2018-11-14 17:30:31,452 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2018-11-14 17:30:31,452 WARN L170 areAnnotationChecker]: L56-6 has no Hoare annotation [2018-11-14 17:30:31,452 WARN L170 areAnnotationChecker]: L56-6 has no Hoare annotation [2018-11-14 17:30:31,452 WARN L170 areAnnotationChecker]: L54 has no Hoare annotation [2018-11-14 17:30:31,452 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2018-11-14 17:30:31,452 WARN L170 areAnnotationChecker]: L63-1 has no Hoare annotation [2018-11-14 17:30:31,452 WARN L170 areAnnotationChecker]: L56-1 has no Hoare annotation [2018-11-14 17:30:31,452 WARN L170 areAnnotationChecker]: L56-7 has no Hoare annotation [2018-11-14 17:30:31,453 WARN L170 areAnnotationChecker]: L52-1 has no Hoare annotation [2018-11-14 17:30:31,453 WARN L170 areAnnotationChecker]: L61 has no Hoare annotation [2018-11-14 17:30:31,453 WARN L170 areAnnotationChecker]: L56-2 has no Hoare annotation [2018-11-14 17:30:31,453 WARN L170 areAnnotationChecker]: L56-2 has no Hoare annotation [2018-11-14 17:30:31,453 WARN L170 areAnnotationChecker]: L57 has no Hoare annotation [2018-11-14 17:30:31,453 WARN L170 areAnnotationChecker]: L57 has no Hoare annotation [2018-11-14 17:30:31,453 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2018-11-14 17:30:31,453 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2018-11-14 17:30:31,453 WARN L170 areAnnotationChecker]: L56-4 has no Hoare annotation [2018-11-14 17:30:31,453 WARN L170 areAnnotationChecker]: L56-4 has no Hoare annotation [2018-11-14 17:30:31,453 WARN L170 areAnnotationChecker]: L57-2 has no Hoare annotation [2018-11-14 17:30:31,453 WARN L170 areAnnotationChecker]: L59-9 has no Hoare annotation [2018-11-14 17:30:31,454 WARN L170 areAnnotationChecker]: L59-9 has no Hoare annotation [2018-11-14 17:30:31,454 WARN L170 areAnnotationChecker]: L59-1 has no Hoare annotation [2018-11-14 17:30:31,454 WARN L170 areAnnotationChecker]: L59-10 has no Hoare annotation [2018-11-14 17:30:31,454 WARN L170 areAnnotationChecker]: L59-2 has no Hoare annotation [2018-11-14 17:30:31,454 WARN L170 areAnnotationChecker]: L59-2 has no Hoare annotation [2018-11-14 17:30:31,454 WARN L170 areAnnotationChecker]: L60 has no Hoare annotation [2018-11-14 17:30:31,454 WARN L170 areAnnotationChecker]: L60 has no Hoare annotation [2018-11-14 17:30:31,454 WARN L170 areAnnotationChecker]: L59-3 has no Hoare annotation [2018-11-14 17:30:31,454 WARN L170 areAnnotationChecker]: L59-3 has no Hoare annotation [2018-11-14 17:30:31,454 WARN L170 areAnnotationChecker]: L59-7 has no Hoare annotation [2018-11-14 17:30:31,455 WARN L170 areAnnotationChecker]: L59-7 has no Hoare annotation [2018-11-14 17:30:31,455 WARN L170 areAnnotationChecker]: L60-2 has no Hoare annotation [2018-11-14 17:30:31,455 WARN L170 areAnnotationChecker]: L60-2 has no Hoare annotation [2018-11-14 17:30:31,455 WARN L170 areAnnotationChecker]: L59-5 has no Hoare annotation [2018-11-14 17:30:31,455 WARN L170 areAnnotationChecker]: L60-4 has no Hoare annotation [2018-11-14 17:30:31,455 WARN L170 areAnnotationChecker]: L60-4 has no Hoare annotation [2018-11-14 17:30:31,455 WARN L170 areAnnotationChecker]: L63 has no Hoare annotation [2018-11-14 17:30:31,455 WARN L170 areAnnotationChecker]: L63 has no Hoare annotation [2018-11-14 17:30:31,455 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2018-11-14 17:30:31,458 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 14.11 05:30:31 BoogieIcfgContainer [2018-11-14 17:30:31,458 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-14 17:30:31,461 INFO L168 Benchmark]: Toolchain (without parser) took 22641.16 ms. Allocated memory was 1.5 GB in the beginning and 2.6 GB in the end (delta: 1.1 GB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -762.5 MB). Peak memory consumption was 301.3 MB. Max. memory is 7.1 GB. [2018-11-14 17:30:31,463 INFO L168 Benchmark]: CDTParser took 0.22 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-14 17:30:31,464 INFO L168 Benchmark]: CACSL2BoogieTranslator took 341.17 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 10.6 MB). Peak memory consumption was 10.6 MB. Max. memory is 7.1 GB. [2018-11-14 17:30:31,464 INFO L168 Benchmark]: Boogie Preprocessor took 149.18 ms. Allocated memory was 1.5 GB in the beginning and 2.2 GB in the end (delta: 724.0 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -810.6 MB). Peak memory consumption was 15.2 MB. Max. memory is 7.1 GB. [2018-11-14 17:30:31,465 INFO L168 Benchmark]: RCFGBuilder took 1134.87 ms. Allocated memory is still 2.2 GB. Free memory was 2.2 GB in the beginning and 2.1 GB in the end (delta: 78.6 MB). Peak memory consumption was 78.6 MB. Max. memory is 7.1 GB. [2018-11-14 17:30:31,466 INFO L168 Benchmark]: TraceAbstraction took 21009.11 ms. Allocated memory was 2.2 GB in the beginning and 2.6 GB in the end (delta: 339.7 MB). Free memory was 2.1 GB in the beginning and 2.2 GB in the end (delta: -41.0 MB). Peak memory consumption was 298.7 MB. Max. memory is 7.1 GB. [2018-11-14 17:30:31,471 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - GenericResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.22 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 341.17 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 10.6 MB). Peak memory consumption was 10.6 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 149.18 ms. Allocated memory was 1.5 GB in the beginning and 2.2 GB in the end (delta: 724.0 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -810.6 MB). Peak memory consumption was 15.2 MB. Max. memory is 7.1 GB. * RCFGBuilder took 1134.87 ms. Allocated memory is still 2.2 GB. Free memory was 2.2 GB in the beginning and 2.1 GB in the end (delta: 78.6 MB). Peak memory consumption was 78.6 MB. Max. memory is 7.1 GB. * TraceAbstraction took 21009.11 ms. Allocated memory was 2.2 GB in the beginning and 2.6 GB in the end (delta: 339.7 MB). Free memory was 2.1 GB in the beginning and 2.2 GB in the end (delta: -41.0 MB). Peak memory consumption was 298.7 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch3 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch3 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch3 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch3 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch3 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch3 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch3 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch3 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression #t~switch3 has a C AST node but it is no IASTExpression: class org.eclipse.cdt.internal.core.dom.parser.c.CASTSwitchStatement * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 5]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L75] FCALL char A [2 + 2 + 4 +1]; [L76] FCALL A[2 + 2 + 4] = 0 VAL [A={38:0}] [L77] CALL parse_expression_list (A) VAL [str={38:0}] [L49] int start=0, i=-1, j=-1; [L50] FCALL char str2[2]; VAL [i=-1, j=-1, start=0, str={38:0}, str={38:0}, str2={36:0}] [L51] COND FALSE !(!str) VAL [i=-1, j=-1, start=0, str={38:0}, str={38:0}, str2={36:0}] [L53] i++ [L54] FCALL str[i] [L55] case 0: VAL [i=0, j=-1, start=0, str={38:0}, str={38:0}, str2={36:0}, str[i]=1] [L70] EXPR, FCALL str[i] VAL [i=0, j=-1, start=0, str={38:0}, str={38:0}, str2={36:0}, str[i]=1] [L70] COND TRUE str[i] != 0 [L53] i++ [L54] FCALL str[i] [L55] case 0: VAL [i=1, j=-1, start=0, str={38:0}, str={38:0}, str2={36:0}, str[i]=1] [L70] EXPR, FCALL str[i] VAL [i=1, j=-1, start=0, str={38:0}, str={38:0}, str2={36:0}, str[i]=1] [L70] COND TRUE str[i] != 0 [L53] i++ [L54] FCALL str[i] [L55] case 0: VAL [i=2, j=-1, start=0, str={38:0}, str={38:0}, str2={36:0}, str[i]=0] [L56] EXPR, FCALL str[start] [L56] (str[start] == ' ') || (str[start] == '\t') [L56] EXPR, FCALL str[start] [L56] (str[start] == ' ') || (str[start] == '\t') VAL [(str[start] == ' ') || (str[start] == '\t')=0, i=2, j=-1, start=0, str={38:0}, str={38:0}, str2={36:0}, str[i]=0, str[start]=1, str[start]=1] [L56] COND FALSE !((str[start] == ' ') || (str[start] == '\t')) [L57] EXPR, FCALL str[start] VAL [i=2, j=-1, start=0, str={38:0}, str={38:0}, str2={36:0}, str[i]=0, str[start]=1] [L57] COND FALSE !(str[start] == '"') [L58] j = i-1 VAL [i=2, j=1, start=0, str={38:0}, str={38:0}, str2={36:0}, str[i]=0] [L59] (0 < j) && ((str[j] == ' ') || (str[j] == '\t')) [L59] EXPR, FCALL str[j] [L59] EXPR (str[j] == ' ') || (str[j] == '\t') [L59] EXPR, FCALL str[j] [L59] EXPR (str[j] == ' ') || (str[j] == '\t') VAL [(0 < j) && ((str[j] == ' ') || (str[j] == '\t'))=1, (str[j] == ' ') || (str[j] == '\t')=0, i=2, j=1, start=0, str={38:0}, str={38:0}, str2={36:0}, str[i]=0, str[j]=1, str[j]=1] [L59] (0 < j) && ((str[j] == ' ') || (str[j] == '\t')) VAL [(0 < j) && ((str[j] == ' ') || (str[j] == '\t'))=0, (str[j] == ' ') || (str[j] == '\t')=0, i=2, j=1, start=0, str={38:0}, str={38:0}, str2={36:0}, str[i]=0, str[j]=1, str[j]=1] [L59] COND FALSE !((0 < j) && ((str[j] == ' ') || (str[j] == '\t'))) [L60] (0 < j) && (str[j] == '"') [L60] EXPR, FCALL str[j] [L60] (0 < j) && (str[j] == '"') VAL [(0 < j) && (str[j] == '"')=0, i=2, j=1, start=0, str={38:0}, str={38:0}, str2={36:0}, str[i]=0, str[j]=1] [L60] COND FALSE !((0 < j) && (str[j] == '"')) [L61] COND TRUE start<=j [L62] FCALL r_strncpy(str2, str+start, j-start+1) [L63] CALL __VERIFIER_assert(j - start + 1 < 2) VAL [\old(cond)=0] [L4] COND TRUE !(cond) VAL [\old(cond)=0, cond=0] [L5] __VERIFIER_error() VAL [\old(cond)=0, cond=0] - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 48 locations, 1 error locations. UNSAFE Result, 20.9s OverallTime, 12 OverallIterations, 3 TraceHistogramMax, 12.7s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 525 SDtfs, 880 SDslu, 1693 SDs, 0 SdLazy, 1153 SolverSat, 170 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 2.1s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 217 GetRequests, 127 SyntacticMatches, 2 SemanticMatches, 88 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 212 ImplicationChecksByTransitivity, 2.5s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=158occurred in iteration=11, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 1.4s AutomataMinimizationTime, 11 MinimizatonAttempts, 243 StatesRemovedByMinimization, 8 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 4.9s InterpolantComputationTime, 535 NumberOfCodeBlocks, 535 NumberOfCodeBlocksAsserted, 16 NumberOfCheckSat, 479 ConstructedInterpolants, 0 QuantifiedInterpolants, 61456 SizeOfPredicates, 8 NumberOfNonLiveVariables, 395 ConjunctsInSsa, 28 ConjunctsInUnsatCore, 14 InterpolantComputations, 8 PerfectInterpolantSequences, 6/46 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! Received shutdown request...