/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/ldv-sets/test_add-1.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-8fc6572 [2020-07-10 15:09:16,000 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-10 15:09:16,002 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-10 15:09:16,021 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-10 15:09:16,022 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-10 15:09:16,024 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-10 15:09:16,026 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-10 15:09:16,040 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-10 15:09:16,042 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-10 15:09:16,044 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-10 15:09:16,046 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-10 15:09:16,049 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-10 15:09:16,049 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-10 15:09:16,052 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-10 15:09:16,055 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-10 15:09:16,056 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-10 15:09:16,059 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-10 15:09:16,062 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-10 15:09:16,066 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-10 15:09:16,070 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-10 15:09:16,075 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-10 15:09:16,076 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-10 15:09:16,077 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-10 15:09:16,081 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-10 15:09:16,084 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-10 15:09:16,084 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-10 15:09:16,084 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-10 15:09:16,088 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-10 15:09:16,088 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-10 15:09:16,089 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-10 15:09:16,089 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-10 15:09:16,090 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-10 15:09:16,092 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-10 15:09:16,093 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-10 15:09:16,094 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-10 15:09:16,095 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-10 15:09:16,095 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-10 15:09:16,096 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-10 15:09:16,096 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-10 15:09:16,096 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-10 15:09:16,098 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-10 15:09:16,099 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2020-07-10 15:09:16,123 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-10 15:09:16,124 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-10 15:09:16,125 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-10 15:09:16,125 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-10 15:09:16,125 INFO L138 SettingsManager]: * Use SBE=true [2020-07-10 15:09:16,126 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-10 15:09:16,126 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-10 15:09:16,126 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-10 15:09:16,126 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-10 15:09:16,126 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-10 15:09:16,127 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-10 15:09:16,127 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-10 15:09:16,127 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-10 15:09:16,127 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-10 15:09:16,127 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-10 15:09:16,128 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-10 15:09:16,128 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-10 15:09:16,128 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-10 15:09:16,128 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-10 15:09:16,129 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-10 15:09:16,129 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-10 15:09:16,129 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-10 15:09:16,129 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-10 15:09:16,129 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-10 15:09:16,130 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-10 15:09:16,130 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-10 15:09:16,130 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-10 15:09:16,130 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-10 15:09:16,130 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-10 15:09:16,130 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-10 15:09:16,398 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-10 15:09:16,415 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-10 15:09:16,419 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-10 15:09:16,421 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-10 15:09:16,421 INFO L275 PluginConnector]: CDTParser initialized [2020-07-10 15:09:16,422 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/ldv-sets/test_add-1.i [2020-07-10 15:09:16,501 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4be9ca44d/fc3165b54ed64ad4b900983aa83ebb22/FLAG466bc98a3 [2020-07-10 15:09:17,100 INFO L306 CDTParser]: Found 1 translation units. [2020-07-10 15:09:17,101 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ldv-sets/test_add-1.i [2020-07-10 15:09:17,118 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4be9ca44d/fc3165b54ed64ad4b900983aa83ebb22/FLAG466bc98a3 [2020-07-10 15:09:17,417 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4be9ca44d/fc3165b54ed64ad4b900983aa83ebb22 [2020-07-10 15:09:17,425 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-10 15:09:17,427 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-10 15:09:17,428 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-10 15:09:17,428 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-10 15:09:17,432 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-10 15:09:17,433 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 03:09:17" (1/1) ... [2020-07-10 15:09:17,436 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1ecaeae0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:09:17, skipping insertion in model container [2020-07-10 15:09:17,437 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 03:09:17" (1/1) ... [2020-07-10 15:09:17,444 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-10 15:09:17,508 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-10 15:09:18,033 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 15:09:18,043 INFO L203 MainTranslator]: Completed pre-run [2020-07-10 15:09:18,132 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 15:09:18,204 INFO L208 MainTranslator]: Completed translation [2020-07-10 15:09:18,205 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:09:18 WrapperNode [2020-07-10 15:09:18,206 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-10 15:09:18,206 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-10 15:09:18,207 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-10 15:09:18,207 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-10 15:09:18,220 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:09:18" (1/1) ... [2020-07-10 15:09:18,220 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:09:18" (1/1) ... [2020-07-10 15:09:18,239 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:09:18" (1/1) ... [2020-07-10 15:09:18,239 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:09:18" (1/1) ... [2020-07-10 15:09:18,274 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:09:18" (1/1) ... [2020-07-10 15:09:18,280 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:09:18" (1/1) ... [2020-07-10 15:09:18,285 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:09:18" (1/1) ... [2020-07-10 15:09:18,293 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-10 15:09:18,293 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-10 15:09:18,293 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-10 15:09:18,294 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-10 15:09:18,295 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:09:18" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-10 15:09:18,351 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-10 15:09:18,352 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-10 15:09:18,352 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_32 [2020-07-10 15:09:18,352 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_64 [2020-07-10 15:09:18,352 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2020-07-10 15:09:18,352 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_malloc [2020-07-10 15:09:18,352 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_successful_malloc [2020-07-10 15:09:18,352 INFO L138 BoogieDeclarations]: Found implementation of procedure LDV_INIT_LIST_HEAD [2020-07-10 15:09:18,352 INFO L138 BoogieDeclarations]: Found implementation of procedure __ldv_list_add [2020-07-10 15:09:18,353 INFO L138 BoogieDeclarations]: Found implementation of procedure __ldv_list_del [2020-07-10 15:09:18,353 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_list_add [2020-07-10 15:09:18,353 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_list_add_tail [2020-07-10 15:09:18,353 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_list_del [2020-07-10 15:09:18,353 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_list_empty [2020-07-10 15:09:18,353 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_init_set [2020-07-10 15:09:18,354 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_set_add [2020-07-10 15:09:18,354 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_set_del [2020-07-10 15:09:18,354 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_is_in_set [2020-07-10 15:09:18,354 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_set_empty [2020-07-10 15:09:18,354 INFO L138 BoogieDeclarations]: Found implementation of procedure foo [2020-07-10 15:09:18,354 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-10 15:09:18,354 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_32 [2020-07-10 15:09:18,355 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_64 [2020-07-10 15:09:18,355 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2020-07-10 15:09:18,355 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2020-07-10 15:09:18,355 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2020-07-10 15:09:18,355 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2020-07-10 15:09:18,355 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2020-07-10 15:09:18,356 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2020-07-10 15:09:18,356 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2020-07-10 15:09:18,356 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2020-07-10 15:09:18,356 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2020-07-10 15:09:18,356 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2020-07-10 15:09:18,356 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2020-07-10 15:09:18,356 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2020-07-10 15:09:18,357 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2020-07-10 15:09:18,357 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2020-07-10 15:09:18,357 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2020-07-10 15:09:18,357 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2020-07-10 15:09:18,357 INFO L130 BoogieDeclarations]: Found specification of procedure select [2020-07-10 15:09:18,357 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2020-07-10 15:09:18,357 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2020-07-10 15:09:18,358 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2020-07-10 15:09:18,358 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2020-07-10 15:09:18,358 INFO L130 BoogieDeclarations]: Found specification of procedure random [2020-07-10 15:09:18,358 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2020-07-10 15:09:18,358 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2020-07-10 15:09:18,358 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2020-07-10 15:09:18,358 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2020-07-10 15:09:18,359 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2020-07-10 15:09:18,359 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2020-07-10 15:09:18,359 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2020-07-10 15:09:18,359 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2020-07-10 15:09:18,359 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2020-07-10 15:09:18,359 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2020-07-10 15:09:18,359 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2020-07-10 15:09:18,360 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2020-07-10 15:09:18,360 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2020-07-10 15:09:18,360 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2020-07-10 15:09:18,360 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2020-07-10 15:09:18,360 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2020-07-10 15:09:18,360 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2020-07-10 15:09:18,360 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2020-07-10 15:09:18,361 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2020-07-10 15:09:18,361 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2020-07-10 15:09:18,361 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2020-07-10 15:09:18,361 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2020-07-10 15:09:18,361 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2020-07-10 15:09:18,361 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2020-07-10 15:09:18,362 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2020-07-10 15:09:18,362 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2020-07-10 15:09:18,362 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2020-07-10 15:09:18,362 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2020-07-10 15:09:18,362 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-10 15:09:18,362 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-10 15:09:18,363 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-10 15:09:18,363 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-10 15:09:18,363 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-10 15:09:18,363 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2020-07-10 15:09:18,363 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-10 15:09:18,363 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2020-07-10 15:09:18,364 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-10 15:09:18,364 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2020-07-10 15:09:18,364 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2020-07-10 15:09:18,364 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2020-07-10 15:09:18,371 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2020-07-10 15:09:18,371 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2020-07-10 15:09:18,371 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2020-07-10 15:09:18,371 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2020-07-10 15:09:18,371 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2020-07-10 15:09:18,372 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2020-07-10 15:09:18,372 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2020-07-10 15:09:18,372 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2020-07-10 15:09:18,372 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2020-07-10 15:09:18,372 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2020-07-10 15:09:18,372 INFO L130 BoogieDeclarations]: Found specification of procedure system [2020-07-10 15:09:18,373 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2020-07-10 15:09:18,373 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2020-07-10 15:09:18,373 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2020-07-10 15:09:18,373 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2020-07-10 15:09:18,373 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2020-07-10 15:09:18,373 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2020-07-10 15:09:18,374 INFO L130 BoogieDeclarations]: Found specification of procedure div [2020-07-10 15:09:18,374 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2020-07-10 15:09:18,374 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2020-07-10 15:09:18,374 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2020-07-10 15:09:18,374 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2020-07-10 15:09:18,375 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2020-07-10 15:09:18,375 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2020-07-10 15:09:18,375 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2020-07-10 15:09:18,375 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2020-07-10 15:09:18,375 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2020-07-10 15:09:18,375 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2020-07-10 15:09:18,375 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2020-07-10 15:09:18,376 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2020-07-10 15:09:18,376 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2020-07-10 15:09:18,376 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2020-07-10 15:09:18,376 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2020-07-10 15:09:18,376 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2020-07-10 15:09:18,376 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2020-07-10 15:09:18,377 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2020-07-10 15:09:18,377 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2020-07-10 15:09:18,377 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2020-07-10 15:09:18,377 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-10 15:09:18,377 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2020-07-10 15:09:18,378 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-10 15:09:18,378 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_malloc [2020-07-10 15:09:18,378 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2020-07-10 15:09:18,378 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_successful_malloc [2020-07-10 15:09:18,378 INFO L130 BoogieDeclarations]: Found specification of procedure LDV_INIT_LIST_HEAD [2020-07-10 15:09:18,378 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-10 15:09:18,378 INFO L130 BoogieDeclarations]: Found specification of procedure __ldv_list_add [2020-07-10 15:09:18,379 INFO L130 BoogieDeclarations]: Found specification of procedure __ldv_list_del [2020-07-10 15:09:18,379 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_list_add [2020-07-10 15:09:18,379 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-10 15:09:18,379 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_list_add_tail [2020-07-10 15:09:18,379 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_list_del [2020-07-10 15:09:18,379 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_list_empty [2020-07-10 15:09:18,379 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_init_set [2020-07-10 15:09:18,380 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_set_add [2020-07-10 15:09:18,380 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_set_del [2020-07-10 15:09:18,380 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_is_in_set [2020-07-10 15:09:18,380 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_set_empty [2020-07-10 15:09:18,380 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-10 15:09:18,380 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-10 15:09:18,380 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-10 15:09:18,381 INFO L130 BoogieDeclarations]: Found specification of procedure foo [2020-07-10 15:09:18,381 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-10 15:09:18,381 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-10 15:09:18,381 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-10 15:09:18,381 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2020-07-10 15:09:18,381 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-10 15:09:19,175 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-10 15:09:19,175 INFO L295 CfgBuilder]: Removed 2 assume(true) statements. [2020-07-10 15:09:19,179 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 03:09:19 BoogieIcfgContainer [2020-07-10 15:09:19,179 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-10 15:09:19,181 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-10 15:09:19,181 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-10 15:09:19,184 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-10 15:09:19,184 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 10.07 03:09:17" (1/3) ... [2020-07-10 15:09:19,185 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@310f326a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 03:09:19, skipping insertion in model container [2020-07-10 15:09:19,186 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:09:18" (2/3) ... [2020-07-10 15:09:19,186 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@310f326a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 03:09:19, skipping insertion in model container [2020-07-10 15:09:19,186 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 03:09:19" (3/3) ... [2020-07-10 15:09:19,188 INFO L109 eAbstractionObserver]: Analyzing ICFG test_add-1.i [2020-07-10 15:09:19,199 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-10 15:09:19,207 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-10 15:09:19,222 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-10 15:09:19,246 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-10 15:09:19,246 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-10 15:09:19,246 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-10 15:09:19,247 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-10 15:09:19,247 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-10 15:09:19,247 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-10 15:09:19,247 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-10 15:09:19,247 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-10 15:09:19,267 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states. [2020-07-10 15:09:19,274 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2020-07-10 15:09:19,275 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:09:19,276 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:09:19,276 INFO L427 AbstractCegarLoop]: === Iteration 1 === [fooErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:09:19,282 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:09:19,283 INFO L82 PathProgramCache]: Analyzing trace with hash 1154845074, now seen corresponding path program 1 times [2020-07-10 15:09:19,294 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:09:19,294 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1128657069] [2020-07-10 15:09:19,295 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:09:19,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:19,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:19,579 INFO L280 TraceCheckUtils]: 0: Hoare triple {80#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#s1~0.offset| |old(~#s1~0.offset)|) (= |~#s1~0.base| |old(~#s1~0.base)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#length)| |#length|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call ~#s1~0.base, ~#s1~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(~#s1~0.base, ~#s1~0.offset, ~#s1~0.base, ~#s1~0.offset, 4);call write~init~$Pointer$(~#s1~0.base, ~#s1~0.offset, ~#s1~0.base, 4 + ~#s1~0.offset, 4); {59#true} is VALID [2020-07-10 15:09:19,580 INFO L280 TraceCheckUtils]: 1: Hoare triple {59#true} assume true; {59#true} is VALID [2020-07-10 15:09:19,580 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {59#true} {59#true} #152#return; {59#true} is VALID [2020-07-10 15:09:19,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:19,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:19,631 INFO L280 TraceCheckUtils]: 0: Hoare triple {59#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {59#true} is VALID [2020-07-10 15:09:19,633 INFO L280 TraceCheckUtils]: 1: Hoare triple {59#true} assume !true; {60#false} is VALID [2020-07-10 15:09:19,633 INFO L280 TraceCheckUtils]: 2: Hoare triple {60#false} #res := 0; {60#false} is VALID [2020-07-10 15:09:19,633 INFO L280 TraceCheckUtils]: 3: Hoare triple {60#false} assume true; {60#false} is VALID [2020-07-10 15:09:19,634 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {60#false} {59#true} #134#return; {60#false} is VALID [2020-07-10 15:09:19,634 INFO L280 TraceCheckUtils]: 0: Hoare triple {81#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~new := #in~new;~s.base, ~s.offset := #in~s.base, #in~s.offset; {59#true} is VALID [2020-07-10 15:09:19,635 INFO L263 TraceCheckUtils]: 1: Hoare triple {59#true} call #t~ret16 := ldv_is_in_set(~new, ~s.base, ~s.offset); {59#true} is VALID [2020-07-10 15:09:19,635 INFO L280 TraceCheckUtils]: 2: Hoare triple {59#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {59#true} is VALID [2020-07-10 15:09:19,636 INFO L280 TraceCheckUtils]: 3: Hoare triple {59#true} assume !true; {60#false} is VALID [2020-07-10 15:09:19,636 INFO L280 TraceCheckUtils]: 4: Hoare triple {60#false} #res := 0; {60#false} is VALID [2020-07-10 15:09:19,637 INFO L280 TraceCheckUtils]: 5: Hoare triple {60#false} assume true; {60#false} is VALID [2020-07-10 15:09:19,637 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {60#false} {59#true} #134#return; {60#false} is VALID [2020-07-10 15:09:19,637 INFO L280 TraceCheckUtils]: 7: Hoare triple {60#false} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647; {60#false} is VALID [2020-07-10 15:09:19,638 INFO L280 TraceCheckUtils]: 8: Hoare triple {60#false} assume !(0 == #t~ret16);havoc #t~ret16; {60#false} is VALID [2020-07-10 15:09:19,638 INFO L280 TraceCheckUtils]: 9: Hoare triple {60#false} assume true; {60#false} is VALID [2020-07-10 15:09:19,638 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {60#false} {59#true} #140#return; {60#false} is VALID [2020-07-10 15:09:19,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:19,649 INFO L280 TraceCheckUtils]: 0: Hoare triple {59#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {59#true} is VALID [2020-07-10 15:09:19,650 INFO L280 TraceCheckUtils]: 1: Hoare triple {59#true} assume !true; {60#false} is VALID [2020-07-10 15:09:19,651 INFO L280 TraceCheckUtils]: 2: Hoare triple {60#false} #res := 0; {60#false} is VALID [2020-07-10 15:09:19,651 INFO L280 TraceCheckUtils]: 3: Hoare triple {60#false} assume true; {60#false} is VALID [2020-07-10 15:09:19,651 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {60#false} {60#false} #142#return; {60#false} is VALID [2020-07-10 15:09:19,653 INFO L263 TraceCheckUtils]: 0: Hoare triple {59#true} call ULTIMATE.init(); {80#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#s1~0.offset| |old(~#s1~0.offset)|) (= |~#s1~0.base| |old(~#s1~0.base)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#length)| |#length|))} is VALID [2020-07-10 15:09:19,654 INFO L280 TraceCheckUtils]: 1: Hoare triple {80#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#s1~0.offset| |old(~#s1~0.offset)|) (= |~#s1~0.base| |old(~#s1~0.base)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#length)| |#length|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call ~#s1~0.base, ~#s1~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(~#s1~0.base, ~#s1~0.offset, ~#s1~0.base, ~#s1~0.offset, 4);call write~init~$Pointer$(~#s1~0.base, ~#s1~0.offset, ~#s1~0.base, 4 + ~#s1~0.offset, 4); {59#true} is VALID [2020-07-10 15:09:19,654 INFO L280 TraceCheckUtils]: 2: Hoare triple {59#true} assume true; {59#true} is VALID [2020-07-10 15:09:19,654 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {59#true} {59#true} #152#return; {59#true} is VALID [2020-07-10 15:09:19,655 INFO L263 TraceCheckUtils]: 4: Hoare triple {59#true} call #t~ret28 := main(); {59#true} is VALID [2020-07-10 15:09:19,655 INFO L263 TraceCheckUtils]: 5: Hoare triple {59#true} call foo(); {59#true} is VALID [2020-07-10 15:09:19,655 INFO L280 TraceCheckUtils]: 6: Hoare triple {59#true} assume -2147483648 <= #t~nondet26 && #t~nondet26 <= 2147483647;~j~0 := #t~nondet26;havoc #t~nondet26; {59#true} is VALID [2020-07-10 15:09:19,658 INFO L263 TraceCheckUtils]: 7: Hoare triple {59#true} call ldv_set_add(~j~0, ~#s1~0.base, ~#s1~0.offset); {81#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 15:09:19,658 INFO L280 TraceCheckUtils]: 8: Hoare triple {81#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~new := #in~new;~s.base, ~s.offset := #in~s.base, #in~s.offset; {59#true} is VALID [2020-07-10 15:09:19,658 INFO L263 TraceCheckUtils]: 9: Hoare triple {59#true} call #t~ret16 := ldv_is_in_set(~new, ~s.base, ~s.offset); {59#true} is VALID [2020-07-10 15:09:19,659 INFO L280 TraceCheckUtils]: 10: Hoare triple {59#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {59#true} is VALID [2020-07-10 15:09:19,660 INFO L280 TraceCheckUtils]: 11: Hoare triple {59#true} assume !true; {60#false} is VALID [2020-07-10 15:09:19,660 INFO L280 TraceCheckUtils]: 12: Hoare triple {60#false} #res := 0; {60#false} is VALID [2020-07-10 15:09:19,660 INFO L280 TraceCheckUtils]: 13: Hoare triple {60#false} assume true; {60#false} is VALID [2020-07-10 15:09:19,661 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {60#false} {59#true} #134#return; {60#false} is VALID [2020-07-10 15:09:19,661 INFO L280 TraceCheckUtils]: 15: Hoare triple {60#false} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647; {60#false} is VALID [2020-07-10 15:09:19,661 INFO L280 TraceCheckUtils]: 16: Hoare triple {60#false} assume !(0 == #t~ret16);havoc #t~ret16; {60#false} is VALID [2020-07-10 15:09:19,661 INFO L280 TraceCheckUtils]: 17: Hoare triple {60#false} assume true; {60#false} is VALID [2020-07-10 15:09:19,662 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {60#false} {59#true} #140#return; {60#false} is VALID [2020-07-10 15:09:19,662 INFO L263 TraceCheckUtils]: 19: Hoare triple {60#false} call #t~ret27 := ldv_is_in_set(~j~0, ~#s1~0.base, ~#s1~0.offset); {59#true} is VALID [2020-07-10 15:09:19,662 INFO L280 TraceCheckUtils]: 20: Hoare triple {59#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {59#true} is VALID [2020-07-10 15:09:19,663 INFO L280 TraceCheckUtils]: 21: Hoare triple {59#true} assume !true; {60#false} is VALID [2020-07-10 15:09:19,664 INFO L280 TraceCheckUtils]: 22: Hoare triple {60#false} #res := 0; {60#false} is VALID [2020-07-10 15:09:19,664 INFO L280 TraceCheckUtils]: 23: Hoare triple {60#false} assume true; {60#false} is VALID [2020-07-10 15:09:19,664 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {60#false} {60#false} #142#return; {60#false} is VALID [2020-07-10 15:09:19,665 INFO L280 TraceCheckUtils]: 25: Hoare triple {60#false} assume -2147483648 <= #t~ret27 && #t~ret27 <= 2147483647; {60#false} is VALID [2020-07-10 15:09:19,665 INFO L280 TraceCheckUtils]: 26: Hoare triple {60#false} assume 0 != #t~ret27;havoc #t~ret27; {60#false} is VALID [2020-07-10 15:09:19,665 INFO L280 TraceCheckUtils]: 27: Hoare triple {60#false} assume !false; {60#false} is VALID [2020-07-10 15:09:19,670 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2020-07-10 15:09:19,671 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1128657069] [2020-07-10 15:09:19,672 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:09:19,672 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-10 15:09:19,673 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [112290158] [2020-07-10 15:09:19,679 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 28 [2020-07-10 15:09:19,682 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:09:19,686 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-10 15:09:19,726 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:09:19,726 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-10 15:09:19,727 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:09:19,735 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-10 15:09:19,736 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 15:09:19,739 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 4 states. [2020-07-10 15:09:20,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:20,486 INFO L93 Difference]: Finished difference Result 108 states and 126 transitions. [2020-07-10 15:09:20,486 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-10 15:09:20,487 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 28 [2020-07-10 15:09:20,487 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:09:20,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:09:20,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 126 transitions. [2020-07-10 15:09:20,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:09:20,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 126 transitions. [2020-07-10 15:09:20,545 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 126 transitions. [2020-07-10 15:09:20,760 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:09:20,784 INFO L225 Difference]: With dead ends: 108 [2020-07-10 15:09:20,784 INFO L226 Difference]: Without dead ends: 53 [2020-07-10 15:09:20,792 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2020-07-10 15:09:20,820 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2020-07-10 15:09:20,909 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 46. [2020-07-10 15:09:20,909 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:09:20,910 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand 46 states. [2020-07-10 15:09:20,910 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 46 states. [2020-07-10 15:09:20,911 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 46 states. [2020-07-10 15:09:20,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:20,918 INFO L93 Difference]: Finished difference Result 53 states and 56 transitions. [2020-07-10 15:09:20,918 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 56 transitions. [2020-07-10 15:09:20,919 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:20,919 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:20,919 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 53 states. [2020-07-10 15:09:20,920 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 53 states. [2020-07-10 15:09:20,925 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:20,925 INFO L93 Difference]: Finished difference Result 53 states and 56 transitions. [2020-07-10 15:09:20,925 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 56 transitions. [2020-07-10 15:09:20,926 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:20,927 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:20,927 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:09:20,927 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:09:20,927 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2020-07-10 15:09:20,931 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 49 transitions. [2020-07-10 15:09:20,933 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 49 transitions. Word has length 28 [2020-07-10 15:09:20,933 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:09:20,933 INFO L479 AbstractCegarLoop]: Abstraction has 46 states and 49 transitions. [2020-07-10 15:09:20,933 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-10 15:09:20,933 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 49 transitions. [2020-07-10 15:09:20,935 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2020-07-10 15:09:20,935 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:09:20,935 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:09:20,936 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-10 15:09:20,936 INFO L427 AbstractCegarLoop]: === Iteration 2 === [fooErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:09:20,936 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:09:20,936 INFO L82 PathProgramCache]: Analyzing trace with hash 221547774, now seen corresponding path program 1 times [2020-07-10 15:09:20,937 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:09:20,937 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [660282960] [2020-07-10 15:09:20,937 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:09:20,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:21,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:21,093 INFO L280 TraceCheckUtils]: 0: Hoare triple {423#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#s1~0.offset| |old(~#s1~0.offset)|) (= |~#s1~0.base| |old(~#s1~0.base)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#length)| |#length|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call ~#s1~0.base, ~#s1~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(~#s1~0.base, ~#s1~0.offset, ~#s1~0.base, ~#s1~0.offset, 4);call write~init~$Pointer$(~#s1~0.base, ~#s1~0.offset, ~#s1~0.base, 4 + ~#s1~0.offset, 4); {402#true} is VALID [2020-07-10 15:09:21,094 INFO L280 TraceCheckUtils]: 1: Hoare triple {402#true} assume true; {402#true} is VALID [2020-07-10 15:09:21,095 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {402#true} {402#true} #152#return; {402#true} is VALID [2020-07-10 15:09:21,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:21,202 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:21,254 INFO L280 TraceCheckUtils]: 0: Hoare triple {402#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {402#true} is VALID [2020-07-10 15:09:21,255 INFO L280 TraceCheckUtils]: 1: Hoare triple {402#true} assume !(~m~1.base != ~s.base || 4 + ~m~1.offset != ~s.offset); {402#true} is VALID [2020-07-10 15:09:21,256 INFO L280 TraceCheckUtils]: 2: Hoare triple {402#true} #res := 0; {431#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} is VALID [2020-07-10 15:09:21,256 INFO L280 TraceCheckUtils]: 3: Hoare triple {431#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} assume true; {431#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} is VALID [2020-07-10 15:09:21,258 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {431#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} {402#true} #134#return; {430#(and (<= 0 |ldv_set_add_#t~ret16|) (<= |ldv_set_add_#t~ret16| 0))} is VALID [2020-07-10 15:09:21,258 INFO L280 TraceCheckUtils]: 0: Hoare triple {424#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~new := #in~new;~s.base, ~s.offset := #in~s.base, #in~s.offset; {402#true} is VALID [2020-07-10 15:09:21,259 INFO L263 TraceCheckUtils]: 1: Hoare triple {402#true} call #t~ret16 := ldv_is_in_set(~new, ~s.base, ~s.offset); {402#true} is VALID [2020-07-10 15:09:21,259 INFO L280 TraceCheckUtils]: 2: Hoare triple {402#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {402#true} is VALID [2020-07-10 15:09:21,259 INFO L280 TraceCheckUtils]: 3: Hoare triple {402#true} assume !(~m~1.base != ~s.base || 4 + ~m~1.offset != ~s.offset); {402#true} is VALID [2020-07-10 15:09:21,265 INFO L280 TraceCheckUtils]: 4: Hoare triple {402#true} #res := 0; {431#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} is VALID [2020-07-10 15:09:21,266 INFO L280 TraceCheckUtils]: 5: Hoare triple {431#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} assume true; {431#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} is VALID [2020-07-10 15:09:21,268 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {431#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} {402#true} #134#return; {430#(and (<= 0 |ldv_set_add_#t~ret16|) (<= |ldv_set_add_#t~ret16| 0))} is VALID [2020-07-10 15:09:21,268 INFO L280 TraceCheckUtils]: 7: Hoare triple {430#(and (<= 0 |ldv_set_add_#t~ret16|) (<= |ldv_set_add_#t~ret16| 0))} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647; {430#(and (<= 0 |ldv_set_add_#t~ret16|) (<= |ldv_set_add_#t~ret16| 0))} is VALID [2020-07-10 15:09:21,269 INFO L280 TraceCheckUtils]: 8: Hoare triple {430#(and (<= 0 |ldv_set_add_#t~ret16|) (<= |ldv_set_add_#t~ret16| 0))} assume !(0 == #t~ret16);havoc #t~ret16; {403#false} is VALID [2020-07-10 15:09:21,270 INFO L280 TraceCheckUtils]: 9: Hoare triple {403#false} assume true; {403#false} is VALID [2020-07-10 15:09:21,270 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {403#false} {402#true} #140#return; {403#false} is VALID [2020-07-10 15:09:21,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:21,286 INFO L280 TraceCheckUtils]: 0: Hoare triple {402#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {402#true} is VALID [2020-07-10 15:09:21,287 INFO L280 TraceCheckUtils]: 1: Hoare triple {402#true} assume !(~m~1.base != ~s.base || 4 + ~m~1.offset != ~s.offset); {402#true} is VALID [2020-07-10 15:09:21,287 INFO L280 TraceCheckUtils]: 2: Hoare triple {402#true} #res := 0; {402#true} is VALID [2020-07-10 15:09:21,287 INFO L280 TraceCheckUtils]: 3: Hoare triple {402#true} assume true; {402#true} is VALID [2020-07-10 15:09:21,288 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {402#true} {403#false} #142#return; {403#false} is VALID [2020-07-10 15:09:21,294 INFO L263 TraceCheckUtils]: 0: Hoare triple {402#true} call ULTIMATE.init(); {423#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#s1~0.offset| |old(~#s1~0.offset)|) (= |~#s1~0.base| |old(~#s1~0.base)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#length)| |#length|))} is VALID [2020-07-10 15:09:21,295 INFO L280 TraceCheckUtils]: 1: Hoare triple {423#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#s1~0.offset| |old(~#s1~0.offset)|) (= |~#s1~0.base| |old(~#s1~0.base)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#length)| |#length|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call ~#s1~0.base, ~#s1~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(~#s1~0.base, ~#s1~0.offset, ~#s1~0.base, ~#s1~0.offset, 4);call write~init~$Pointer$(~#s1~0.base, ~#s1~0.offset, ~#s1~0.base, 4 + ~#s1~0.offset, 4); {402#true} is VALID [2020-07-10 15:09:21,296 INFO L280 TraceCheckUtils]: 2: Hoare triple {402#true} assume true; {402#true} is VALID [2020-07-10 15:09:21,296 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {402#true} {402#true} #152#return; {402#true} is VALID [2020-07-10 15:09:21,297 INFO L263 TraceCheckUtils]: 4: Hoare triple {402#true} call #t~ret28 := main(); {402#true} is VALID [2020-07-10 15:09:21,297 INFO L263 TraceCheckUtils]: 5: Hoare triple {402#true} call foo(); {402#true} is VALID [2020-07-10 15:09:21,297 INFO L280 TraceCheckUtils]: 6: Hoare triple {402#true} assume -2147483648 <= #t~nondet26 && #t~nondet26 <= 2147483647;~j~0 := #t~nondet26;havoc #t~nondet26; {402#true} is VALID [2020-07-10 15:09:21,300 INFO L263 TraceCheckUtils]: 7: Hoare triple {402#true} call ldv_set_add(~j~0, ~#s1~0.base, ~#s1~0.offset); {424#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 15:09:21,301 INFO L280 TraceCheckUtils]: 8: Hoare triple {424#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~new := #in~new;~s.base, ~s.offset := #in~s.base, #in~s.offset; {402#true} is VALID [2020-07-10 15:09:21,301 INFO L263 TraceCheckUtils]: 9: Hoare triple {402#true} call #t~ret16 := ldv_is_in_set(~new, ~s.base, ~s.offset); {402#true} is VALID [2020-07-10 15:09:21,302 INFO L280 TraceCheckUtils]: 10: Hoare triple {402#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {402#true} is VALID [2020-07-10 15:09:21,302 INFO L280 TraceCheckUtils]: 11: Hoare triple {402#true} assume !(~m~1.base != ~s.base || 4 + ~m~1.offset != ~s.offset); {402#true} is VALID [2020-07-10 15:09:21,303 INFO L280 TraceCheckUtils]: 12: Hoare triple {402#true} #res := 0; {431#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} is VALID [2020-07-10 15:09:21,304 INFO L280 TraceCheckUtils]: 13: Hoare triple {431#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} assume true; {431#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} is VALID [2020-07-10 15:09:21,305 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {431#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} {402#true} #134#return; {430#(and (<= 0 |ldv_set_add_#t~ret16|) (<= |ldv_set_add_#t~ret16| 0))} is VALID [2020-07-10 15:09:21,306 INFO L280 TraceCheckUtils]: 15: Hoare triple {430#(and (<= 0 |ldv_set_add_#t~ret16|) (<= |ldv_set_add_#t~ret16| 0))} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647; {430#(and (<= 0 |ldv_set_add_#t~ret16|) (<= |ldv_set_add_#t~ret16| 0))} is VALID [2020-07-10 15:09:21,307 INFO L280 TraceCheckUtils]: 16: Hoare triple {430#(and (<= 0 |ldv_set_add_#t~ret16|) (<= |ldv_set_add_#t~ret16| 0))} assume !(0 == #t~ret16);havoc #t~ret16; {403#false} is VALID [2020-07-10 15:09:21,307 INFO L280 TraceCheckUtils]: 17: Hoare triple {403#false} assume true; {403#false} is VALID [2020-07-10 15:09:21,307 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {403#false} {402#true} #140#return; {403#false} is VALID [2020-07-10 15:09:21,308 INFO L263 TraceCheckUtils]: 19: Hoare triple {403#false} call #t~ret27 := ldv_is_in_set(~j~0, ~#s1~0.base, ~#s1~0.offset); {402#true} is VALID [2020-07-10 15:09:21,308 INFO L280 TraceCheckUtils]: 20: Hoare triple {402#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {402#true} is VALID [2020-07-10 15:09:21,308 INFO L280 TraceCheckUtils]: 21: Hoare triple {402#true} assume !(~m~1.base != ~s.base || 4 + ~m~1.offset != ~s.offset); {402#true} is VALID [2020-07-10 15:09:21,308 INFO L280 TraceCheckUtils]: 22: Hoare triple {402#true} #res := 0; {402#true} is VALID [2020-07-10 15:09:21,309 INFO L280 TraceCheckUtils]: 23: Hoare triple {402#true} assume true; {402#true} is VALID [2020-07-10 15:09:21,309 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {402#true} {403#false} #142#return; {403#false} is VALID [2020-07-10 15:09:21,309 INFO L280 TraceCheckUtils]: 25: Hoare triple {403#false} assume -2147483648 <= #t~ret27 && #t~ret27 <= 2147483647; {403#false} is VALID [2020-07-10 15:09:21,309 INFO L280 TraceCheckUtils]: 26: Hoare triple {403#false} assume 0 != #t~ret27;havoc #t~ret27; {403#false} is VALID [2020-07-10 15:09:21,310 INFO L280 TraceCheckUtils]: 27: Hoare triple {403#false} assume !false; {403#false} is VALID [2020-07-10 15:09:21,311 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2020-07-10 15:09:21,311 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [660282960] [2020-07-10 15:09:21,312 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1171230092] [2020-07-10 15:09:21,312 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:09:21,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:21,443 INFO L264 TraceCheckSpWp]: Trace formula consists of 165 conjuncts, 5 conjunts are in the unsatisfiable core [2020-07-10 15:09:21,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:21,464 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:09:21,548 INFO L263 TraceCheckUtils]: 0: Hoare triple {402#true} call ULTIMATE.init(); {402#true} is VALID [2020-07-10 15:09:21,549 INFO L280 TraceCheckUtils]: 1: Hoare triple {402#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call ~#s1~0.base, ~#s1~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(~#s1~0.base, ~#s1~0.offset, ~#s1~0.base, ~#s1~0.offset, 4);call write~init~$Pointer$(~#s1~0.base, ~#s1~0.offset, ~#s1~0.base, 4 + ~#s1~0.offset, 4); {402#true} is VALID [2020-07-10 15:09:21,550 INFO L280 TraceCheckUtils]: 2: Hoare triple {402#true} assume true; {402#true} is VALID [2020-07-10 15:09:21,550 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {402#true} {402#true} #152#return; {402#true} is VALID [2020-07-10 15:09:21,550 INFO L263 TraceCheckUtils]: 4: Hoare triple {402#true} call #t~ret28 := main(); {402#true} is VALID [2020-07-10 15:09:21,551 INFO L263 TraceCheckUtils]: 5: Hoare triple {402#true} call foo(); {402#true} is VALID [2020-07-10 15:09:21,551 INFO L280 TraceCheckUtils]: 6: Hoare triple {402#true} assume -2147483648 <= #t~nondet26 && #t~nondet26 <= 2147483647;~j~0 := #t~nondet26;havoc #t~nondet26; {402#true} is VALID [2020-07-10 15:09:21,551 INFO L263 TraceCheckUtils]: 7: Hoare triple {402#true} call ldv_set_add(~j~0, ~#s1~0.base, ~#s1~0.offset); {402#true} is VALID [2020-07-10 15:09:21,551 INFO L280 TraceCheckUtils]: 8: Hoare triple {402#true} ~new := #in~new;~s.base, ~s.offset := #in~s.base, #in~s.offset; {402#true} is VALID [2020-07-10 15:09:21,552 INFO L263 TraceCheckUtils]: 9: Hoare triple {402#true} call #t~ret16 := ldv_is_in_set(~new, ~s.base, ~s.offset); {402#true} is VALID [2020-07-10 15:09:21,552 INFO L280 TraceCheckUtils]: 10: Hoare triple {402#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {402#true} is VALID [2020-07-10 15:09:21,552 INFO L280 TraceCheckUtils]: 11: Hoare triple {402#true} assume !(~m~1.base != ~s.base || 4 + ~m~1.offset != ~s.offset); {402#true} is VALID [2020-07-10 15:09:21,553 INFO L280 TraceCheckUtils]: 12: Hoare triple {402#true} #res := 0; {431#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} is VALID [2020-07-10 15:09:21,554 INFO L280 TraceCheckUtils]: 13: Hoare triple {431#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} assume true; {431#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} is VALID [2020-07-10 15:09:21,555 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {431#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} {402#true} #134#return; {430#(and (<= 0 |ldv_set_add_#t~ret16|) (<= |ldv_set_add_#t~ret16| 0))} is VALID [2020-07-10 15:09:21,556 INFO L280 TraceCheckUtils]: 15: Hoare triple {430#(and (<= 0 |ldv_set_add_#t~ret16|) (<= |ldv_set_add_#t~ret16| 0))} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647; {430#(and (<= 0 |ldv_set_add_#t~ret16|) (<= |ldv_set_add_#t~ret16| 0))} is VALID [2020-07-10 15:09:21,557 INFO L280 TraceCheckUtils]: 16: Hoare triple {430#(and (<= 0 |ldv_set_add_#t~ret16|) (<= |ldv_set_add_#t~ret16| 0))} assume !(0 == #t~ret16);havoc #t~ret16; {403#false} is VALID [2020-07-10 15:09:21,557 INFO L280 TraceCheckUtils]: 17: Hoare triple {403#false} assume true; {403#false} is VALID [2020-07-10 15:09:21,557 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {403#false} {402#true} #140#return; {403#false} is VALID [2020-07-10 15:09:21,558 INFO L263 TraceCheckUtils]: 19: Hoare triple {403#false} call #t~ret27 := ldv_is_in_set(~j~0, ~#s1~0.base, ~#s1~0.offset); {403#false} is VALID [2020-07-10 15:09:21,558 INFO L280 TraceCheckUtils]: 20: Hoare triple {403#false} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {403#false} is VALID [2020-07-10 15:09:21,559 INFO L280 TraceCheckUtils]: 21: Hoare triple {403#false} assume !(~m~1.base != ~s.base || 4 + ~m~1.offset != ~s.offset); {403#false} is VALID [2020-07-10 15:09:21,559 INFO L280 TraceCheckUtils]: 22: Hoare triple {403#false} #res := 0; {403#false} is VALID [2020-07-10 15:09:21,560 INFO L280 TraceCheckUtils]: 23: Hoare triple {403#false} assume true; {403#false} is VALID [2020-07-10 15:09:21,560 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {403#false} {403#false} #142#return; {403#false} is VALID [2020-07-10 15:09:21,561 INFO L280 TraceCheckUtils]: 25: Hoare triple {403#false} assume -2147483648 <= #t~ret27 && #t~ret27 <= 2147483647; {403#false} is VALID [2020-07-10 15:09:21,561 INFO L280 TraceCheckUtils]: 26: Hoare triple {403#false} assume 0 != #t~ret27;havoc #t~ret27; {403#false} is VALID [2020-07-10 15:09:21,561 INFO L280 TraceCheckUtils]: 27: Hoare triple {403#false} assume !false; {403#false} is VALID [2020-07-10 15:09:21,563 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:09:21,563 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-10 15:09:21,563 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [6] total 6 [2020-07-10 15:09:21,564 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1588851941] [2020-07-10 15:09:21,565 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 28 [2020-07-10 15:09:21,566 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:09:21,566 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-10 15:09:21,626 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:09:21,626 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-10 15:09:21,626 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:09:21,627 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-10 15:09:21,627 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2020-07-10 15:09:21,627 INFO L87 Difference]: Start difference. First operand 46 states and 49 transitions. Second operand 4 states. [2020-07-10 15:09:21,843 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:21,843 INFO L93 Difference]: Finished difference Result 64 states and 70 transitions. [2020-07-10 15:09:21,844 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-10 15:09:21,844 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 28 [2020-07-10 15:09:21,844 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:09:21,844 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:09:21,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 70 transitions. [2020-07-10 15:09:21,848 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:09:21,852 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 70 transitions. [2020-07-10 15:09:21,852 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 70 transitions. [2020-07-10 15:09:21,932 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:09:21,935 INFO L225 Difference]: With dead ends: 64 [2020-07-10 15:09:21,936 INFO L226 Difference]: Without dead ends: 50 [2020-07-10 15:09:21,937 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 35 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2020-07-10 15:09:21,937 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2020-07-10 15:09:21,998 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2020-07-10 15:09:21,999 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:09:21,999 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand 50 states. [2020-07-10 15:09:21,999 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 50 states. [2020-07-10 15:09:21,999 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 50 states. [2020-07-10 15:09:22,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:22,004 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2020-07-10 15:09:22,004 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2020-07-10 15:09:22,005 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:22,005 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:22,005 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 50 states. [2020-07-10 15:09:22,006 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 50 states. [2020-07-10 15:09:22,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:22,010 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2020-07-10 15:09:22,010 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2020-07-10 15:09:22,011 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:22,011 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:22,011 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:09:22,012 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:09:22,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2020-07-10 15:09:22,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 54 transitions. [2020-07-10 15:09:22,016 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 54 transitions. Word has length 28 [2020-07-10 15:09:22,016 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:09:22,016 INFO L479 AbstractCegarLoop]: Abstraction has 50 states and 54 transitions. [2020-07-10 15:09:22,016 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-10 15:09:22,016 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2020-07-10 15:09:22,018 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2020-07-10 15:09:22,018 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:09:22,018 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:09:22,233 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable1 [2020-07-10 15:09:22,234 INFO L427 AbstractCegarLoop]: === Iteration 3 === [fooErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:09:22,235 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:09:22,235 INFO L82 PathProgramCache]: Analyzing trace with hash -2088028185, now seen corresponding path program 1 times [2020-07-10 15:09:22,235 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:09:22,236 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [568640849] [2020-07-10 15:09:22,236 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:09:22,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:22,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:22,371 INFO L280 TraceCheckUtils]: 0: Hoare triple {792#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#s1~0.offset| |old(~#s1~0.offset)|) (= |~#s1~0.base| |old(~#s1~0.base)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#length)| |#length|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call ~#s1~0.base, ~#s1~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(~#s1~0.base, ~#s1~0.offset, ~#s1~0.base, ~#s1~0.offset, 4);call write~init~$Pointer$(~#s1~0.base, ~#s1~0.offset, ~#s1~0.base, 4 + ~#s1~0.offset, 4); {770#true} is VALID [2020-07-10 15:09:22,372 INFO L280 TraceCheckUtils]: 1: Hoare triple {770#true} assume true; {770#true} is VALID [2020-07-10 15:09:22,372 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {770#true} {770#true} #152#return; {770#true} is VALID [2020-07-10 15:09:22,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:22,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:22,411 INFO L280 TraceCheckUtils]: 0: Hoare triple {770#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {770#true} is VALID [2020-07-10 15:09:22,411 INFO L280 TraceCheckUtils]: 1: Hoare triple {770#true} assume !!(~m~1.base != ~s.base || 4 + ~m~1.offset != ~s.offset);call #t~mem24 := read~int(~m~1.base, ~m~1.offset, 4); {770#true} is VALID [2020-07-10 15:09:22,411 INFO L280 TraceCheckUtils]: 2: Hoare triple {770#true} assume #t~mem24 == ~e;havoc #t~mem24;#res := 1; {770#true} is VALID [2020-07-10 15:09:22,412 INFO L280 TraceCheckUtils]: 3: Hoare triple {770#true} assume true; {770#true} is VALID [2020-07-10 15:09:22,412 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {770#true} {770#true} #134#return; {770#true} is VALID [2020-07-10 15:09:22,412 INFO L280 TraceCheckUtils]: 0: Hoare triple {793#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~new := #in~new;~s.base, ~s.offset := #in~s.base, #in~s.offset; {770#true} is VALID [2020-07-10 15:09:22,413 INFO L263 TraceCheckUtils]: 1: Hoare triple {770#true} call #t~ret16 := ldv_is_in_set(~new, ~s.base, ~s.offset); {770#true} is VALID [2020-07-10 15:09:22,413 INFO L280 TraceCheckUtils]: 2: Hoare triple {770#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {770#true} is VALID [2020-07-10 15:09:22,413 INFO L280 TraceCheckUtils]: 3: Hoare triple {770#true} assume !!(~m~1.base != ~s.base || 4 + ~m~1.offset != ~s.offset);call #t~mem24 := read~int(~m~1.base, ~m~1.offset, 4); {770#true} is VALID [2020-07-10 15:09:22,413 INFO L280 TraceCheckUtils]: 4: Hoare triple {770#true} assume #t~mem24 == ~e;havoc #t~mem24;#res := 1; {770#true} is VALID [2020-07-10 15:09:22,414 INFO L280 TraceCheckUtils]: 5: Hoare triple {770#true} assume true; {770#true} is VALID [2020-07-10 15:09:22,414 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {770#true} {770#true} #134#return; {770#true} is VALID [2020-07-10 15:09:22,414 INFO L280 TraceCheckUtils]: 7: Hoare triple {770#true} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647; {770#true} is VALID [2020-07-10 15:09:22,414 INFO L280 TraceCheckUtils]: 8: Hoare triple {770#true} assume !(0 == #t~ret16);havoc #t~ret16; {770#true} is VALID [2020-07-10 15:09:22,415 INFO L280 TraceCheckUtils]: 9: Hoare triple {770#true} assume true; {770#true} is VALID [2020-07-10 15:09:22,415 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {770#true} {770#true} #140#return; {770#true} is VALID [2020-07-10 15:09:22,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:22,456 INFO L280 TraceCheckUtils]: 0: Hoare triple {770#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {770#true} is VALID [2020-07-10 15:09:22,457 INFO L280 TraceCheckUtils]: 1: Hoare triple {770#true} assume !(~m~1.base != ~s.base || 4 + ~m~1.offset != ~s.offset); {770#true} is VALID [2020-07-10 15:09:22,463 INFO L280 TraceCheckUtils]: 2: Hoare triple {770#true} #res := 0; {799#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} is VALID [2020-07-10 15:09:22,463 INFO L280 TraceCheckUtils]: 3: Hoare triple {799#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} assume true; {799#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} is VALID [2020-07-10 15:09:22,466 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {799#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} {770#true} #142#return; {791#(= |foo_#t~ret27| 0)} is VALID [2020-07-10 15:09:22,467 INFO L263 TraceCheckUtils]: 0: Hoare triple {770#true} call ULTIMATE.init(); {792#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#s1~0.offset| |old(~#s1~0.offset)|) (= |~#s1~0.base| |old(~#s1~0.base)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#length)| |#length|))} is VALID [2020-07-10 15:09:22,468 INFO L280 TraceCheckUtils]: 1: Hoare triple {792#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#s1~0.offset| |old(~#s1~0.offset)|) (= |~#s1~0.base| |old(~#s1~0.base)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#length)| |#length|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call ~#s1~0.base, ~#s1~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(~#s1~0.base, ~#s1~0.offset, ~#s1~0.base, ~#s1~0.offset, 4);call write~init~$Pointer$(~#s1~0.base, ~#s1~0.offset, ~#s1~0.base, 4 + ~#s1~0.offset, 4); {770#true} is VALID [2020-07-10 15:09:22,468 INFO L280 TraceCheckUtils]: 2: Hoare triple {770#true} assume true; {770#true} is VALID [2020-07-10 15:09:22,469 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {770#true} {770#true} #152#return; {770#true} is VALID [2020-07-10 15:09:22,469 INFO L263 TraceCheckUtils]: 4: Hoare triple {770#true} call #t~ret28 := main(); {770#true} is VALID [2020-07-10 15:09:22,470 INFO L263 TraceCheckUtils]: 5: Hoare triple {770#true} call foo(); {770#true} is VALID [2020-07-10 15:09:22,470 INFO L280 TraceCheckUtils]: 6: Hoare triple {770#true} assume -2147483648 <= #t~nondet26 && #t~nondet26 <= 2147483647;~j~0 := #t~nondet26;havoc #t~nondet26; {770#true} is VALID [2020-07-10 15:09:22,472 INFO L263 TraceCheckUtils]: 7: Hoare triple {770#true} call ldv_set_add(~j~0, ~#s1~0.base, ~#s1~0.offset); {793#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 15:09:22,472 INFO L280 TraceCheckUtils]: 8: Hoare triple {793#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~new := #in~new;~s.base, ~s.offset := #in~s.base, #in~s.offset; {770#true} is VALID [2020-07-10 15:09:22,472 INFO L263 TraceCheckUtils]: 9: Hoare triple {770#true} call #t~ret16 := ldv_is_in_set(~new, ~s.base, ~s.offset); {770#true} is VALID [2020-07-10 15:09:22,473 INFO L280 TraceCheckUtils]: 10: Hoare triple {770#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {770#true} is VALID [2020-07-10 15:09:22,473 INFO L280 TraceCheckUtils]: 11: Hoare triple {770#true} assume !!(~m~1.base != ~s.base || 4 + ~m~1.offset != ~s.offset);call #t~mem24 := read~int(~m~1.base, ~m~1.offset, 4); {770#true} is VALID [2020-07-10 15:09:22,473 INFO L280 TraceCheckUtils]: 12: Hoare triple {770#true} assume #t~mem24 == ~e;havoc #t~mem24;#res := 1; {770#true} is VALID [2020-07-10 15:09:22,473 INFO L280 TraceCheckUtils]: 13: Hoare triple {770#true} assume true; {770#true} is VALID [2020-07-10 15:09:22,474 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {770#true} {770#true} #134#return; {770#true} is VALID [2020-07-10 15:09:22,474 INFO L280 TraceCheckUtils]: 15: Hoare triple {770#true} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647; {770#true} is VALID [2020-07-10 15:09:22,474 INFO L280 TraceCheckUtils]: 16: Hoare triple {770#true} assume !(0 == #t~ret16);havoc #t~ret16; {770#true} is VALID [2020-07-10 15:09:22,474 INFO L280 TraceCheckUtils]: 17: Hoare triple {770#true} assume true; {770#true} is VALID [2020-07-10 15:09:22,475 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {770#true} {770#true} #140#return; {770#true} is VALID [2020-07-10 15:09:22,475 INFO L263 TraceCheckUtils]: 19: Hoare triple {770#true} call #t~ret27 := ldv_is_in_set(~j~0, ~#s1~0.base, ~#s1~0.offset); {770#true} is VALID [2020-07-10 15:09:22,475 INFO L280 TraceCheckUtils]: 20: Hoare triple {770#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {770#true} is VALID [2020-07-10 15:09:22,475 INFO L280 TraceCheckUtils]: 21: Hoare triple {770#true} assume !(~m~1.base != ~s.base || 4 + ~m~1.offset != ~s.offset); {770#true} is VALID [2020-07-10 15:09:22,476 INFO L280 TraceCheckUtils]: 22: Hoare triple {770#true} #res := 0; {799#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} is VALID [2020-07-10 15:09:22,477 INFO L280 TraceCheckUtils]: 23: Hoare triple {799#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} assume true; {799#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} is VALID [2020-07-10 15:09:22,479 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {799#(and (<= |ldv_is_in_set_#res| 0) (<= 0 |ldv_is_in_set_#res|))} {770#true} #142#return; {791#(= |foo_#t~ret27| 0)} is VALID [2020-07-10 15:09:22,481 INFO L280 TraceCheckUtils]: 25: Hoare triple {791#(= |foo_#t~ret27| 0)} assume -2147483648 <= #t~ret27 && #t~ret27 <= 2147483647; {791#(= |foo_#t~ret27| 0)} is VALID [2020-07-10 15:09:22,482 INFO L280 TraceCheckUtils]: 26: Hoare triple {791#(= |foo_#t~ret27| 0)} assume 0 != #t~ret27;havoc #t~ret27; {771#false} is VALID [2020-07-10 15:09:22,483 INFO L280 TraceCheckUtils]: 27: Hoare triple {771#false} assume !false; {771#false} is VALID [2020-07-10 15:09:22,484 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-10 15:09:22,485 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [568640849] [2020-07-10 15:09:22,485 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:09:22,485 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-10 15:09:22,486 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [349901227] [2020-07-10 15:09:22,486 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 28 [2020-07-10 15:09:22,486 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:09:22,487 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-10 15:09:22,528 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:09:22,528 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-10 15:09:22,529 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:09:22,529 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-10 15:09:22,529 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2020-07-10 15:09:22,529 INFO L87 Difference]: Start difference. First operand 50 states and 54 transitions. Second operand 6 states. [2020-07-10 15:09:23,457 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:23,457 INFO L93 Difference]: Finished difference Result 63 states and 67 transitions. [2020-07-10 15:09:23,457 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-10 15:09:23,458 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 28 [2020-07-10 15:09:23,458 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:09:23,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 15:09:23,464 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2020-07-10 15:09:23,464 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 15:09:23,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2020-07-10 15:09:23,467 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 65 transitions. [2020-07-10 15:09:23,604 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:09:23,608 INFO L225 Difference]: With dead ends: 63 [2020-07-10 15:09:23,609 INFO L226 Difference]: Without dead ends: 57 [2020-07-10 15:09:23,609 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=47, Unknown=0, NotChecked=0, Total=72 [2020-07-10 15:09:23,610 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2020-07-10 15:09:23,662 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 50. [2020-07-10 15:09:23,663 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:09:23,663 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 50 states. [2020-07-10 15:09:23,663 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 50 states. [2020-07-10 15:09:23,663 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 50 states. [2020-07-10 15:09:23,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:23,667 INFO L93 Difference]: Finished difference Result 57 states and 60 transitions. [2020-07-10 15:09:23,667 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 60 transitions. [2020-07-10 15:09:23,668 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:23,668 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:23,669 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 57 states. [2020-07-10 15:09:23,669 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 57 states. [2020-07-10 15:09:23,673 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:23,673 INFO L93 Difference]: Finished difference Result 57 states and 60 transitions. [2020-07-10 15:09:23,673 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 60 transitions. [2020-07-10 15:09:23,674 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:23,674 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:23,675 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:09:23,675 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:09:23,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2020-07-10 15:09:23,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 53 transitions. [2020-07-10 15:09:23,678 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 53 transitions. Word has length 28 [2020-07-10 15:09:23,678 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:09:23,678 INFO L479 AbstractCegarLoop]: Abstraction has 50 states and 53 transitions. [2020-07-10 15:09:23,679 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-10 15:09:23,679 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 53 transitions. [2020-07-10 15:09:23,680 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2020-07-10 15:09:23,680 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:09:23,680 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:09:23,680 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-10 15:09:23,680 INFO L427 AbstractCegarLoop]: === Iteration 4 === [fooErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:09:23,681 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:09:23,681 INFO L82 PathProgramCache]: Analyzing trace with hash -513424880, now seen corresponding path program 1 times [2020-07-10 15:09:23,681 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:09:23,681 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1056496210] [2020-07-10 15:09:23,682 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:09:23,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:23,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:23,789 INFO L280 TraceCheckUtils]: 0: Hoare triple {1098#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#s1~0.offset| |old(~#s1~0.offset)|) (= |~#s1~0.base| |old(~#s1~0.base)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#length)| |#length|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call ~#s1~0.base, ~#s1~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(~#s1~0.base, ~#s1~0.offset, ~#s1~0.base, ~#s1~0.offset, 4);call write~init~$Pointer$(~#s1~0.base, ~#s1~0.offset, ~#s1~0.base, 4 + ~#s1~0.offset, 4); {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} is VALID [2020-07-10 15:09:23,790 INFO L280 TraceCheckUtils]: 1: Hoare triple {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} assume true; {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} is VALID [2020-07-10 15:09:23,791 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} {1076#true} #152#return; {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} is VALID [2020-07-10 15:09:23,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:23,866 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:23,923 INFO L280 TraceCheckUtils]: 0: Hoare triple {1076#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {1107#(and (= (+ ldv_is_in_set_~m~1.offset 4) (select (select |#memory_$Pointer$.offset| ldv_is_in_set_~s.base) ldv_is_in_set_~s.offset)) (= |ldv_is_in_set_#in~s.offset| ldv_is_in_set_~s.offset) (= |ldv_is_in_set_#in~s.base| ldv_is_in_set_~s.base) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| ldv_is_in_set_~s.base) ldv_is_in_set_~s.offset)))} is VALID [2020-07-10 15:09:23,924 INFO L280 TraceCheckUtils]: 1: Hoare triple {1107#(and (= (+ ldv_is_in_set_~m~1.offset 4) (select (select |#memory_$Pointer$.offset| ldv_is_in_set_~s.base) ldv_is_in_set_~s.offset)) (= |ldv_is_in_set_#in~s.offset| ldv_is_in_set_~s.offset) (= |ldv_is_in_set_#in~s.base| ldv_is_in_set_~s.base) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| ldv_is_in_set_~s.base) ldv_is_in_set_~s.offset)))} assume !!(~m~1.base != ~s.base || 4 + ~m~1.offset != ~s.offset);call #t~mem24 := read~int(~m~1.base, ~m~1.offset, 4); {1108#(or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))))} is VALID [2020-07-10 15:09:23,925 INFO L280 TraceCheckUtils]: 2: Hoare triple {1108#(or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))))} assume #t~mem24 == ~e;havoc #t~mem24;#res := 1; {1108#(or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))))} is VALID [2020-07-10 15:09:23,926 INFO L280 TraceCheckUtils]: 3: Hoare triple {1108#(or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))))} assume true; {1108#(or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))))} is VALID [2020-07-10 15:09:23,927 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1108#(or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))))} {1100#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= ldv_set_add_~s.offset |ldv_set_add_#in~s.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #134#return; {1106#(or (not (= (select (select |old(#memory_$Pointer$.base)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.base|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|)))} is VALID [2020-07-10 15:09:23,931 INFO L280 TraceCheckUtils]: 0: Hoare triple {1099#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~new := #in~new;~s.base, ~s.offset := #in~s.base, #in~s.offset; {1100#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= ldv_set_add_~s.offset |ldv_set_add_#in~s.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 15:09:23,931 INFO L263 TraceCheckUtils]: 1: Hoare triple {1100#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= ldv_set_add_~s.offset |ldv_set_add_#in~s.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} call #t~ret16 := ldv_is_in_set(~new, ~s.base, ~s.offset); {1076#true} is VALID [2020-07-10 15:09:23,932 INFO L280 TraceCheckUtils]: 2: Hoare triple {1076#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {1107#(and (= (+ ldv_is_in_set_~m~1.offset 4) (select (select |#memory_$Pointer$.offset| ldv_is_in_set_~s.base) ldv_is_in_set_~s.offset)) (= |ldv_is_in_set_#in~s.offset| ldv_is_in_set_~s.offset) (= |ldv_is_in_set_#in~s.base| ldv_is_in_set_~s.base) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| ldv_is_in_set_~s.base) ldv_is_in_set_~s.offset)))} is VALID [2020-07-10 15:09:23,933 INFO L280 TraceCheckUtils]: 3: Hoare triple {1107#(and (= (+ ldv_is_in_set_~m~1.offset 4) (select (select |#memory_$Pointer$.offset| ldv_is_in_set_~s.base) ldv_is_in_set_~s.offset)) (= |ldv_is_in_set_#in~s.offset| ldv_is_in_set_~s.offset) (= |ldv_is_in_set_#in~s.base| ldv_is_in_set_~s.base) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| ldv_is_in_set_~s.base) ldv_is_in_set_~s.offset)))} assume !!(~m~1.base != ~s.base || 4 + ~m~1.offset != ~s.offset);call #t~mem24 := read~int(~m~1.base, ~m~1.offset, 4); {1108#(or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))))} is VALID [2020-07-10 15:09:23,934 INFO L280 TraceCheckUtils]: 4: Hoare triple {1108#(or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))))} assume #t~mem24 == ~e;havoc #t~mem24;#res := 1; {1108#(or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))))} is VALID [2020-07-10 15:09:23,935 INFO L280 TraceCheckUtils]: 5: Hoare triple {1108#(or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))))} assume true; {1108#(or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))))} is VALID [2020-07-10 15:09:23,937 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {1108#(or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))))} {1100#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= ldv_set_add_~s.offset |ldv_set_add_#in~s.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #134#return; {1106#(or (not (= (select (select |old(#memory_$Pointer$.base)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.base|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|)))} is VALID [2020-07-10 15:09:23,937 INFO L280 TraceCheckUtils]: 7: Hoare triple {1106#(or (not (= (select (select |old(#memory_$Pointer$.base)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.base|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|)))} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647; {1106#(or (not (= (select (select |old(#memory_$Pointer$.base)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.base|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|)))} is VALID [2020-07-10 15:09:23,938 INFO L280 TraceCheckUtils]: 8: Hoare triple {1106#(or (not (= (select (select |old(#memory_$Pointer$.base)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.base|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|)))} assume !(0 == #t~ret16);havoc #t~ret16; {1106#(or (not (= (select (select |old(#memory_$Pointer$.base)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.base|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|)))} is VALID [2020-07-10 15:09:23,939 INFO L280 TraceCheckUtils]: 9: Hoare triple {1106#(or (not (= (select (select |old(#memory_$Pointer$.base)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.base|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|)))} assume true; {1106#(or (not (= (select (select |old(#memory_$Pointer$.base)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.base|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|)))} is VALID [2020-07-10 15:09:23,940 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1106#(or (not (= (select (select |old(#memory_$Pointer$.base)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.base|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|)))} {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} #140#return; {1077#false} is VALID [2020-07-10 15:09:23,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:23,955 INFO L280 TraceCheckUtils]: 0: Hoare triple {1076#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {1076#true} is VALID [2020-07-10 15:09:23,955 INFO L280 TraceCheckUtils]: 1: Hoare triple {1076#true} assume !!(~m~1.base != ~s.base || 4 + ~m~1.offset != ~s.offset);call #t~mem24 := read~int(~m~1.base, ~m~1.offset, 4); {1076#true} is VALID [2020-07-10 15:09:23,955 INFO L280 TraceCheckUtils]: 2: Hoare triple {1076#true} assume #t~mem24 == ~e;havoc #t~mem24;#res := 1; {1076#true} is VALID [2020-07-10 15:09:23,956 INFO L280 TraceCheckUtils]: 3: Hoare triple {1076#true} assume true; {1076#true} is VALID [2020-07-10 15:09:23,956 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1076#true} {1077#false} #142#return; {1077#false} is VALID [2020-07-10 15:09:23,957 INFO L263 TraceCheckUtils]: 0: Hoare triple {1076#true} call ULTIMATE.init(); {1098#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#s1~0.offset| |old(~#s1~0.offset)|) (= |~#s1~0.base| |old(~#s1~0.base)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#length)| |#length|))} is VALID [2020-07-10 15:09:23,958 INFO L280 TraceCheckUtils]: 1: Hoare triple {1098#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#s1~0.offset| |old(~#s1~0.offset)|) (= |~#s1~0.base| |old(~#s1~0.base)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#length)| |#length|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call ~#s1~0.base, ~#s1~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(~#s1~0.base, ~#s1~0.offset, ~#s1~0.base, ~#s1~0.offset, 4);call write~init~$Pointer$(~#s1~0.base, ~#s1~0.offset, ~#s1~0.base, 4 + ~#s1~0.offset, 4); {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} is VALID [2020-07-10 15:09:23,959 INFO L280 TraceCheckUtils]: 2: Hoare triple {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} assume true; {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} is VALID [2020-07-10 15:09:23,960 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} {1076#true} #152#return; {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} is VALID [2020-07-10 15:09:23,961 INFO L263 TraceCheckUtils]: 4: Hoare triple {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} call #t~ret28 := main(); {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} is VALID [2020-07-10 15:09:23,962 INFO L263 TraceCheckUtils]: 5: Hoare triple {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} call foo(); {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} is VALID [2020-07-10 15:09:23,964 INFO L280 TraceCheckUtils]: 6: Hoare triple {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} assume -2147483648 <= #t~nondet26 && #t~nondet26 <= 2147483647;~j~0 := #t~nondet26;havoc #t~nondet26; {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} is VALID [2020-07-10 15:09:23,965 INFO L263 TraceCheckUtils]: 7: Hoare triple {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} call ldv_set_add(~j~0, ~#s1~0.base, ~#s1~0.offset); {1099#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 15:09:23,966 INFO L280 TraceCheckUtils]: 8: Hoare triple {1099#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~new := #in~new;~s.base, ~s.offset := #in~s.base, #in~s.offset; {1100#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= ldv_set_add_~s.offset |ldv_set_add_#in~s.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 15:09:23,967 INFO L263 TraceCheckUtils]: 9: Hoare triple {1100#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= ldv_set_add_~s.offset |ldv_set_add_#in~s.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} call #t~ret16 := ldv_is_in_set(~new, ~s.base, ~s.offset); {1076#true} is VALID [2020-07-10 15:09:23,968 INFO L280 TraceCheckUtils]: 10: Hoare triple {1076#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {1107#(and (= (+ ldv_is_in_set_~m~1.offset 4) (select (select |#memory_$Pointer$.offset| ldv_is_in_set_~s.base) ldv_is_in_set_~s.offset)) (= |ldv_is_in_set_#in~s.offset| ldv_is_in_set_~s.offset) (= |ldv_is_in_set_#in~s.base| ldv_is_in_set_~s.base) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| ldv_is_in_set_~s.base) ldv_is_in_set_~s.offset)))} is VALID [2020-07-10 15:09:23,969 INFO L280 TraceCheckUtils]: 11: Hoare triple {1107#(and (= (+ ldv_is_in_set_~m~1.offset 4) (select (select |#memory_$Pointer$.offset| ldv_is_in_set_~s.base) ldv_is_in_set_~s.offset)) (= |ldv_is_in_set_#in~s.offset| ldv_is_in_set_~s.offset) (= |ldv_is_in_set_#in~s.base| ldv_is_in_set_~s.base) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| ldv_is_in_set_~s.base) ldv_is_in_set_~s.offset)))} assume !!(~m~1.base != ~s.base || 4 + ~m~1.offset != ~s.offset);call #t~mem24 := read~int(~m~1.base, ~m~1.offset, 4); {1108#(or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))))} is VALID [2020-07-10 15:09:23,970 INFO L280 TraceCheckUtils]: 12: Hoare triple {1108#(or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))))} assume #t~mem24 == ~e;havoc #t~mem24;#res := 1; {1108#(or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))))} is VALID [2020-07-10 15:09:23,970 INFO L280 TraceCheckUtils]: 13: Hoare triple {1108#(or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))))} assume true; {1108#(or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))))} is VALID [2020-07-10 15:09:23,972 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1108#(or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))))} {1100#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= ldv_set_add_~s.offset |ldv_set_add_#in~s.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #134#return; {1106#(or (not (= (select (select |old(#memory_$Pointer$.base)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.base|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|)))} is VALID [2020-07-10 15:09:23,972 INFO L280 TraceCheckUtils]: 15: Hoare triple {1106#(or (not (= (select (select |old(#memory_$Pointer$.base)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.base|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|)))} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647; {1106#(or (not (= (select (select |old(#memory_$Pointer$.base)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.base|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|)))} is VALID [2020-07-10 15:09:23,973 INFO L280 TraceCheckUtils]: 16: Hoare triple {1106#(or (not (= (select (select |old(#memory_$Pointer$.base)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.base|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|)))} assume !(0 == #t~ret16);havoc #t~ret16; {1106#(or (not (= (select (select |old(#memory_$Pointer$.base)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.base|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|)))} is VALID [2020-07-10 15:09:23,973 INFO L280 TraceCheckUtils]: 17: Hoare triple {1106#(or (not (= (select (select |old(#memory_$Pointer$.base)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.base|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|)))} assume true; {1106#(or (not (= (select (select |old(#memory_$Pointer$.base)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.base|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|)))} is VALID [2020-07-10 15:09:23,975 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {1106#(or (not (= (select (select |old(#memory_$Pointer$.base)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.base|)) (not (= (select (select |old(#memory_$Pointer$.offset)| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|)))} {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} #140#return; {1077#false} is VALID [2020-07-10 15:09:23,975 INFO L263 TraceCheckUtils]: 19: Hoare triple {1077#false} call #t~ret27 := ldv_is_in_set(~j~0, ~#s1~0.base, ~#s1~0.offset); {1076#true} is VALID [2020-07-10 15:09:23,976 INFO L280 TraceCheckUtils]: 20: Hoare triple {1076#true} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {1076#true} is VALID [2020-07-10 15:09:23,976 INFO L280 TraceCheckUtils]: 21: Hoare triple {1076#true} assume !!(~m~1.base != ~s.base || 4 + ~m~1.offset != ~s.offset);call #t~mem24 := read~int(~m~1.base, ~m~1.offset, 4); {1076#true} is VALID [2020-07-10 15:09:23,976 INFO L280 TraceCheckUtils]: 22: Hoare triple {1076#true} assume #t~mem24 == ~e;havoc #t~mem24;#res := 1; {1076#true} is VALID [2020-07-10 15:09:23,977 INFO L280 TraceCheckUtils]: 23: Hoare triple {1076#true} assume true; {1076#true} is VALID [2020-07-10 15:09:23,977 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {1076#true} {1077#false} #142#return; {1077#false} is VALID [2020-07-10 15:09:23,977 INFO L280 TraceCheckUtils]: 25: Hoare triple {1077#false} assume -2147483648 <= #t~ret27 && #t~ret27 <= 2147483647; {1077#false} is VALID [2020-07-10 15:09:23,977 INFO L280 TraceCheckUtils]: 26: Hoare triple {1077#false} assume 0 != #t~ret27;havoc #t~ret27; {1077#false} is VALID [2020-07-10 15:09:23,978 INFO L280 TraceCheckUtils]: 27: Hoare triple {1077#false} assume !false; {1077#false} is VALID [2020-07-10 15:09:23,981 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-10 15:09:23,982 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1056496210] [2020-07-10 15:09:23,982 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [765239161] [2020-07-10 15:09:23,982 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:09:24,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:24,095 INFO L264 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 47 conjunts are in the unsatisfiable core [2020-07-10 15:09:24,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:24,116 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:09:24,203 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 3 [2020-07-10 15:09:24,204 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:24,213 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:24,218 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 3 [2020-07-10 15:09:24,219 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:24,225 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:24,226 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:09:24,226 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:24, output treesize:10 [2020-07-10 15:09:24,230 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:09:24,230 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.offset_BEFORE_CALL_3|, |v_#memory_$Pointer$.base_BEFORE_CALL_3|]. (and (= (select (select |v_#memory_$Pointer$.offset_BEFORE_CALL_3| |~#s1~0.base|) |~#s1~0.offset|) 0) (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |v_#memory_$Pointer$.base_BEFORE_CALL_3| |~#s1~0.base|) |~#s1~0.offset|)) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) [2020-07-10 15:09:24,231 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 |~#s1~0.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) [2020-07-10 15:09:24,515 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-10 15:09:24,532 INFO L263 TraceCheckUtils]: 0: Hoare triple {1076#true} call ULTIMATE.init(); {1076#true} is VALID [2020-07-10 15:09:24,534 INFO L280 TraceCheckUtils]: 1: Hoare triple {1076#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;call ~#s1~0.base, ~#s1~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(~#s1~0.base, ~#s1~0.offset, ~#s1~0.base, ~#s1~0.offset, 4);call write~init~$Pointer$(~#s1~0.base, ~#s1~0.offset, ~#s1~0.base, 4 + ~#s1~0.offset, 4); {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} is VALID [2020-07-10 15:09:24,535 INFO L280 TraceCheckUtils]: 2: Hoare triple {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} assume true; {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} is VALID [2020-07-10 15:09:24,536 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} {1076#true} #152#return; {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} is VALID [2020-07-10 15:09:24,537 INFO L263 TraceCheckUtils]: 4: Hoare triple {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} call #t~ret28 := main(); {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} is VALID [2020-07-10 15:09:24,538 INFO L263 TraceCheckUtils]: 5: Hoare triple {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} call foo(); {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} is VALID [2020-07-10 15:09:24,539 INFO L280 TraceCheckUtils]: 6: Hoare triple {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} assume -2147483648 <= #t~nondet26 && #t~nondet26 <= 2147483647;~j~0 := #t~nondet26;havoc #t~nondet26; {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} is VALID [2020-07-10 15:09:24,541 INFO L263 TraceCheckUtils]: 7: Hoare triple {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} call ldv_set_add(~j~0, ~#s1~0.base, ~#s1~0.offset); {1133#(and (= 0 |~#s1~0.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 15:09:24,543 INFO L280 TraceCheckUtils]: 8: Hoare triple {1133#(and (= 0 |~#s1~0.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~new := #in~new;~s.base, ~s.offset := #in~s.base, #in~s.offset; {1137#(and (= 0 |~#s1~0.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= ldv_set_add_~s.offset |ldv_set_add_#in~s.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 15:09:24,545 INFO L263 TraceCheckUtils]: 9: Hoare triple {1137#(and (= 0 |~#s1~0.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= ldv_set_add_~s.offset |ldv_set_add_#in~s.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} call #t~ret16 := ldv_is_in_set(~new, ~s.base, ~s.offset); {1141#(= 0 |~#s1~0.offset|)} is VALID [2020-07-10 15:09:24,546 INFO L280 TraceCheckUtils]: 10: Hoare triple {1141#(= 0 |~#s1~0.offset|)} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {1145#(and (= 0 |~#s1~0.offset|) (= (+ ldv_is_in_set_~m~1.offset 4) (select (select |#memory_$Pointer$.offset| ldv_is_in_set_~s.base) ldv_is_in_set_~s.offset)) (= |ldv_is_in_set_#in~s.offset| ldv_is_in_set_~s.offset) (= |ldv_is_in_set_#in~s.base| ldv_is_in_set_~s.base) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| ldv_is_in_set_~s.base) ldv_is_in_set_~s.offset)))} is VALID [2020-07-10 15:09:24,548 INFO L280 TraceCheckUtils]: 11: Hoare triple {1145#(and (= 0 |~#s1~0.offset|) (= (+ ldv_is_in_set_~m~1.offset 4) (select (select |#memory_$Pointer$.offset| ldv_is_in_set_~s.base) ldv_is_in_set_~s.offset)) (= |ldv_is_in_set_#in~s.offset| ldv_is_in_set_~s.offset) (= |ldv_is_in_set_#in~s.base| ldv_is_in_set_~s.base) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| ldv_is_in_set_~s.base) ldv_is_in_set_~s.offset)))} assume !!(~m~1.base != ~s.base || 4 + ~m~1.offset != ~s.offset);call #t~mem24 := read~int(~m~1.base, ~m~1.offset, 4); {1149#(and (= 0 |~#s1~0.offset|) (or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)))))} is VALID [2020-07-10 15:09:24,550 INFO L280 TraceCheckUtils]: 12: Hoare triple {1149#(and (= 0 |~#s1~0.offset|) (or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)))))} assume #t~mem24 == ~e;havoc #t~mem24;#res := 1; {1149#(and (= 0 |~#s1~0.offset|) (or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)))))} is VALID [2020-07-10 15:09:24,551 INFO L280 TraceCheckUtils]: 13: Hoare triple {1149#(and (= 0 |~#s1~0.offset|) (or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)))))} assume true; {1149#(and (= 0 |~#s1~0.offset|) (or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)))))} is VALID [2020-07-10 15:09:24,554 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1149#(and (= 0 |~#s1~0.offset|) (or (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|)) (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)))))} {1137#(and (= 0 |~#s1~0.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= ldv_set_add_~s.offset |ldv_set_add_#in~s.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #134#return; {1159#(and (= 0 |~#s1~0.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (or (not (= |ldv_set_add_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|))) (not (= (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|))))} is VALID [2020-07-10 15:09:24,556 INFO L280 TraceCheckUtils]: 15: Hoare triple {1159#(and (= 0 |~#s1~0.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (or (not (= |ldv_set_add_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|))) (not (= (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|))))} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647; {1159#(and (= 0 |~#s1~0.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (or (not (= |ldv_set_add_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|))) (not (= (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|))))} is VALID [2020-07-10 15:09:24,562 INFO L280 TraceCheckUtils]: 16: Hoare triple {1159#(and (= 0 |~#s1~0.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (or (not (= |ldv_set_add_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|))) (not (= (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|))))} assume !(0 == #t~ret16);havoc #t~ret16; {1159#(and (= 0 |~#s1~0.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (or (not (= |ldv_set_add_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|))) (not (= (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|))))} is VALID [2020-07-10 15:09:24,565 INFO L280 TraceCheckUtils]: 17: Hoare triple {1159#(and (= 0 |~#s1~0.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (or (not (= |ldv_set_add_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|))) (not (= (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|))))} assume true; {1159#(and (= 0 |~#s1~0.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (or (not (= |ldv_set_add_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|))) (not (= (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|))))} is VALID [2020-07-10 15:09:24,571 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {1159#(and (= 0 |~#s1~0.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (or (not (= |ldv_set_add_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|))) (not (= (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) |ldv_set_add_#in~s.offset|))))} {1081#(and (= 0 |~#s1~0.offset|) (= |~#s1~0.base| (select (select |#memory_$Pointer$.base| |~#s1~0.base|) |~#s1~0.offset|)) (= 0 (select (select |#memory_$Pointer$.offset| |~#s1~0.base|) |~#s1~0.offset|)))} #140#return; {1077#false} is VALID [2020-07-10 15:09:24,571 INFO L263 TraceCheckUtils]: 19: Hoare triple {1077#false} call #t~ret27 := ldv_is_in_set(~j~0, ~#s1~0.base, ~#s1~0.offset); {1077#false} is VALID [2020-07-10 15:09:24,572 INFO L280 TraceCheckUtils]: 20: Hoare triple {1077#false} ~e := #in~e;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~s.base, ~s.offset, 4);~__mptr~3.base, ~__mptr~3.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~__mptr~3.offset - 4; {1077#false} is VALID [2020-07-10 15:09:24,572 INFO L280 TraceCheckUtils]: 21: Hoare triple {1077#false} assume !!(~m~1.base != ~s.base || 4 + ~m~1.offset != ~s.offset);call #t~mem24 := read~int(~m~1.base, ~m~1.offset, 4); {1077#false} is VALID [2020-07-10 15:09:24,572 INFO L280 TraceCheckUtils]: 22: Hoare triple {1077#false} assume #t~mem24 == ~e;havoc #t~mem24;#res := 1; {1077#false} is VALID [2020-07-10 15:09:24,573 INFO L280 TraceCheckUtils]: 23: Hoare triple {1077#false} assume true; {1077#false} is VALID [2020-07-10 15:09:24,573 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {1077#false} {1077#false} #142#return; {1077#false} is VALID [2020-07-10 15:09:24,577 INFO L280 TraceCheckUtils]: 25: Hoare triple {1077#false} assume -2147483648 <= #t~ret27 && #t~ret27 <= 2147483647; {1077#false} is VALID [2020-07-10 15:09:24,577 INFO L280 TraceCheckUtils]: 26: Hoare triple {1077#false} assume 0 != #t~ret27;havoc #t~ret27; {1077#false} is VALID [2020-07-10 15:09:24,577 INFO L280 TraceCheckUtils]: 27: Hoare triple {1077#false} assume !false; {1077#false} is VALID [2020-07-10 15:09:24,584 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:09:24,584 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-10 15:09:24,585 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [9] total 15 [2020-07-10 15:09:24,585 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1371724265] [2020-07-10 15:09:24,586 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 28 [2020-07-10 15:09:24,586 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:09:24,586 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-10 15:09:24,634 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:09:24,634 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-10 15:09:24,635 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:09:24,635 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-10 15:09:24,635 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=171, Unknown=0, NotChecked=0, Total=210 [2020-07-10 15:09:24,635 INFO L87 Difference]: Start difference. First operand 50 states and 53 transitions. Second operand 9 states. [2020-07-10 15:09:26,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:26,343 INFO L93 Difference]: Finished difference Result 95 states and 102 transitions. [2020-07-10 15:09:26,343 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-10 15:09:26,343 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 28 [2020-07-10 15:09:26,343 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:09:26,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 15:09:26,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 96 transitions. [2020-07-10 15:09:26,348 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 15:09:26,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 96 transitions. [2020-07-10 15:09:26,352 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 96 transitions. [2020-07-10 15:09:26,526 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:09:26,530 INFO L225 Difference]: With dead ends: 95 [2020-07-10 15:09:26,530 INFO L226 Difference]: Without dead ends: 73 [2020-07-10 15:09:26,531 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 27 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 66 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=118, Invalid=434, Unknown=0, NotChecked=0, Total=552 [2020-07-10 15:09:26,532 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2020-07-10 15:09:26,621 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 52. [2020-07-10 15:09:26,622 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:09:26,622 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand 52 states. [2020-07-10 15:09:26,622 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 52 states. [2020-07-10 15:09:26,622 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 52 states. [2020-07-10 15:09:26,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:26,627 INFO L93 Difference]: Finished difference Result 73 states and 79 transitions. [2020-07-10 15:09:26,627 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 79 transitions. [2020-07-10 15:09:26,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:26,628 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:26,628 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 73 states. [2020-07-10 15:09:26,628 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 73 states. [2020-07-10 15:09:26,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:26,632 INFO L93 Difference]: Finished difference Result 73 states and 79 transitions. [2020-07-10 15:09:26,632 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 79 transitions. [2020-07-10 15:09:26,633 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:26,633 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:26,633 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:09:26,633 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:09:26,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2020-07-10 15:09:26,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 54 transitions. [2020-07-10 15:09:26,641 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 54 transitions. Word has length 28 [2020-07-10 15:09:26,641 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:09:26,641 INFO L479 AbstractCegarLoop]: Abstraction has 52 states and 54 transitions. [2020-07-10 15:09:26,641 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-10 15:09:26,641 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 54 transitions. [2020-07-10 15:09:26,642 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2020-07-10 15:09:26,642 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:09:26,643 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:09:26,855 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:09:26,856 INFO L427 AbstractCegarLoop]: === Iteration 5 === [fooErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:09:26,857 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:09:26,857 INFO L82 PathProgramCache]: Analyzing trace with hash 1823590536, now seen corresponding path program 1 times [2020-07-10 15:09:26,857 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:09:26,858 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1834451670] [2020-07-10 15:09:26,858 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:09:26,902 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-10 15:09:26,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-10 15:09:26,974 INFO L174 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2020-07-10 15:09:26,975 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-10 15:09:26,975 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-10 15:09:27,014 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 15 could not be translated for associated CType STRUCT~~ldv_list_head?next~*ldv_list_head?prev~*ldv_list_head# [2020-07-10 15:09:27,015 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 16 could not be translated for associated CType STRUCT~~ldv_list_head?next~*ldv_list_head?prev~*ldv_list_head# [2020-07-10 15:09:27,033 WARN L170 areAnnotationChecker]: ldv_list_addENTRY has no Hoare annotation [2020-07-10 15:09:27,033 WARN L170 areAnnotationChecker]: __ldv_list_delENTRY has no Hoare annotation [2020-07-10 15:09:27,033 WARN L170 areAnnotationChecker]: fooENTRY has no Hoare annotation [2020-07-10 15:09:27,033 WARN L170 areAnnotationChecker]: __bswap_32ENTRY has no Hoare annotation [2020-07-10 15:09:27,033 WARN L170 areAnnotationChecker]: __bswap_64ENTRY has no Hoare annotation [2020-07-10 15:09:27,033 WARN L170 areAnnotationChecker]: assume_abort_if_notENTRY has no Hoare annotation [2020-07-10 15:09:27,033 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-10 15:09:27,034 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-10 15:09:27,034 WARN L170 areAnnotationChecker]: LDV_INIT_LIST_HEADENTRY has no Hoare annotation [2020-07-10 15:09:27,034 WARN L170 areAnnotationChecker]: ldv_list_delENTRY has no Hoare annotation [2020-07-10 15:09:27,034 WARN L170 areAnnotationChecker]: ldv_list_emptyENTRY has no Hoare annotation [2020-07-10 15:09:27,034 WARN L170 areAnnotationChecker]: ldv_successful_mallocENTRY has no Hoare annotation [2020-07-10 15:09:27,034 WARN L170 areAnnotationChecker]: __ldv_list_addENTRY has no Hoare annotation [2020-07-10 15:09:27,034 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-10 15:09:27,034 WARN L170 areAnnotationChecker]: ldv_mallocENTRY has no Hoare annotation [2020-07-10 15:09:27,034 WARN L170 areAnnotationChecker]: ldv_set_emptyENTRY has no Hoare annotation [2020-07-10 15:09:27,035 WARN L170 areAnnotationChecker]: ldv_list_add_tailENTRY has no Hoare annotation [2020-07-10 15:09:27,035 WARN L170 areAnnotationChecker]: ldv_set_delENTRY has no Hoare annotation [2020-07-10 15:09:27,035 WARN L170 areAnnotationChecker]: ldv_init_setENTRY has no Hoare annotation [2020-07-10 15:09:27,035 WARN L170 areAnnotationChecker]: ldv_set_addENTRY has no Hoare annotation [2020-07-10 15:09:27,035 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-10 15:09:27,035 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-10 15:09:27,035 WARN L170 areAnnotationChecker]: ldv_is_in_setENTRY has no Hoare annotation [2020-07-10 15:09:27,035 WARN L170 areAnnotationChecker]: L594 has no Hoare annotation [2020-07-10 15:09:27,035 WARN L170 areAnnotationChecker]: L594 has no Hoare annotation [2020-07-10 15:09:27,036 WARN L170 areAnnotationChecker]: __ldv_list_delFINAL has no Hoare annotation [2020-07-10 15:09:27,036 WARN L170 areAnnotationChecker]: L655 has no Hoare annotation [2020-07-10 15:09:27,036 WARN L170 areAnnotationChecker]: L655 has no Hoare annotation [2020-07-10 15:09:27,036 WARN L170 areAnnotationChecker]: __bswap_32FINAL has no Hoare annotation [2020-07-10 15:09:27,036 WARN L170 areAnnotationChecker]: __bswap_64FINAL has no Hoare annotation [2020-07-10 15:09:27,036 WARN L170 areAnnotationChecker]: L554 has no Hoare annotation [2020-07-10 15:09:27,036 WARN L170 areAnnotationChecker]: L554 has no Hoare annotation [2020-07-10 15:09:27,036 WARN L170 areAnnotationChecker]: L660 has no Hoare annotation [2020-07-10 15:09:27,036 WARN L170 areAnnotationChecker]: LDV_INIT_LIST_HEADFINAL has no Hoare annotation [2020-07-10 15:09:27,037 WARN L170 areAnnotationChecker]: L602 has no Hoare annotation [2020-07-10 15:09:27,037 WARN L170 areAnnotationChecker]: L602 has no Hoare annotation [2020-07-10 15:09:27,037 WARN L170 areAnnotationChecker]: ldv_list_emptyFINAL has no Hoare annotation [2020-07-10 15:09:27,037 WARN L170 areAnnotationChecker]: L566 has no Hoare annotation [2020-07-10 15:09:27,037 WARN L170 areAnnotationChecker]: L566 has no Hoare annotation [2020-07-10 15:09:27,037 WARN L170 areAnnotationChecker]: __ldv_list_addFINAL has no Hoare annotation [2020-07-10 15:09:27,037 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-10 15:09:27,037 WARN L170 areAnnotationChecker]: L558 has no Hoare annotation [2020-07-10 15:09:27,037 WARN L170 areAnnotationChecker]: L558 has no Hoare annotation [2020-07-10 15:09:27,037 WARN L170 areAnnotationChecker]: L649 has no Hoare annotation [2020-07-10 15:09:27,038 WARN L170 areAnnotationChecker]: L649 has no Hoare annotation [2020-07-10 15:09:27,038 WARN L170 areAnnotationChecker]: L598 has no Hoare annotation [2020-07-10 15:09:27,038 WARN L170 areAnnotationChecker]: L598 has no Hoare annotation [2020-07-10 15:09:27,038 WARN L170 areAnnotationChecker]: L632-3 has no Hoare annotation [2020-07-10 15:09:27,038 WARN L170 areAnnotationChecker]: L632-3 has no Hoare annotation [2020-07-10 15:09:27,038 WARN L170 areAnnotationChecker]: L632-3 has no Hoare annotation [2020-07-10 15:09:27,038 WARN L170 areAnnotationChecker]: L615 has no Hoare annotation [2020-07-10 15:09:27,038 WARN L170 areAnnotationChecker]: L615 has no Hoare annotation [2020-07-10 15:09:27,039 WARN L170 areAnnotationChecker]: L622 has no Hoare annotation [2020-07-10 15:09:27,039 WARN L170 areAnnotationChecker]: L622 has no Hoare annotation [2020-07-10 15:09:27,039 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-10 15:09:27,039 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-10 15:09:27,039 WARN L170 areAnnotationChecker]: L641-3 has no Hoare annotation [2020-07-10 15:09:27,039 WARN L170 areAnnotationChecker]: L641-3 has no Hoare annotation [2020-07-10 15:09:27,039 WARN L170 areAnnotationChecker]: L641-3 has no Hoare annotation [2020-07-10 15:09:27,039 WARN L170 areAnnotationChecker]: L594-1 has no Hoare annotation [2020-07-10 15:09:27,039 WARN L170 areAnnotationChecker]: __ldv_list_delEXIT has no Hoare annotation [2020-07-10 15:09:27,040 WARN L170 areAnnotationChecker]: L655-1 has no Hoare annotation [2020-07-10 15:09:27,040 WARN L170 areAnnotationChecker]: L655-1 has no Hoare annotation [2020-07-10 15:09:27,040 WARN L170 areAnnotationChecker]: L554-2 has no Hoare annotation [2020-07-10 15:09:27,040 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-10 15:09:27,040 WARN L170 areAnnotationChecker]: LDV_INIT_LIST_HEADEXIT has no Hoare annotation [2020-07-10 15:09:27,040 WARN L170 areAnnotationChecker]: L602-1 has no Hoare annotation [2020-07-10 15:09:27,040 WARN L170 areAnnotationChecker]: ldv_list_emptyEXIT has no Hoare annotation [2020-07-10 15:09:27,040 WARN L170 areAnnotationChecker]: L566-1 has no Hoare annotation [2020-07-10 15:09:27,041 WARN L170 areAnnotationChecker]: __ldv_list_addEXIT has no Hoare annotation [2020-07-10 15:09:27,041 WARN L170 areAnnotationChecker]: __ldv_list_addEXIT has no Hoare annotation [2020-07-10 15:09:27,041 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-10 15:09:27,041 WARN L170 areAnnotationChecker]: ldv_mallocFINAL has no Hoare annotation [2020-07-10 15:09:27,041 WARN L170 areAnnotationChecker]: L649-1 has no Hoare annotation [2020-07-10 15:09:27,041 WARN L170 areAnnotationChecker]: L598-1 has no Hoare annotation [2020-07-10 15:09:27,041 WARN L170 areAnnotationChecker]: L632-4 has no Hoare annotation [2020-07-10 15:09:27,041 WARN L170 areAnnotationChecker]: L633 has no Hoare annotation [2020-07-10 15:09:27,041 WARN L170 areAnnotationChecker]: L633 has no Hoare annotation [2020-07-10 15:09:27,042 WARN L170 areAnnotationChecker]: ldv_init_setFINAL has no Hoare annotation [2020-07-10 15:09:27,042 WARN L170 areAnnotationChecker]: L622-1 has no Hoare annotation [2020-07-10 15:09:27,042 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-10 15:09:27,042 WARN L170 areAnnotationChecker]: L641-4 has no Hoare annotation [2020-07-10 15:09:27,042 WARN L170 areAnnotationChecker]: L642 has no Hoare annotation [2020-07-10 15:09:27,042 WARN L170 areAnnotationChecker]: L642 has no Hoare annotation [2020-07-10 15:09:27,042 WARN L170 areAnnotationChecker]: ldv_list_addFINAL has no Hoare annotation [2020-07-10 15:09:27,042 WARN L170 areAnnotationChecker]: L656 has no Hoare annotation [2020-07-10 15:09:27,042 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2020-07-10 15:09:27,043 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-10 15:09:27,043 WARN L170 areAnnotationChecker]: ldv_list_delFINAL has no Hoare annotation [2020-07-10 15:09:27,043 WARN L170 areAnnotationChecker]: ldv_successful_mallocFINAL has no Hoare annotation [2020-07-10 15:09:27,043 WARN L170 areAnnotationChecker]: ldv_set_emptyFINAL has no Hoare annotation [2020-07-10 15:09:27,043 WARN L170 areAnnotationChecker]: ldv_list_add_tailFINAL has no Hoare annotation [2020-07-10 15:09:27,043 WARN L170 areAnnotationChecker]: L634 has no Hoare annotation [2020-07-10 15:09:27,043 WARN L170 areAnnotationChecker]: L634 has no Hoare annotation [2020-07-10 15:09:27,043 WARN L170 areAnnotationChecker]: L632-2 has no Hoare annotation [2020-07-10 15:09:27,044 WARN L170 areAnnotationChecker]: L622-2 has no Hoare annotation [2020-07-10 15:09:27,044 WARN L170 areAnnotationChecker]: L622-2 has no Hoare annotation [2020-07-10 15:09:27,044 WARN L170 areAnnotationChecker]: ldv_is_in_setFINAL has no Hoare annotation [2020-07-10 15:09:27,044 WARN L170 areAnnotationChecker]: L641-2 has no Hoare annotation [2020-07-10 15:09:27,044 WARN L170 areAnnotationChecker]: ldv_list_addEXIT has no Hoare annotation [2020-07-10 15:09:27,044 WARN L170 areAnnotationChecker]: L656-1 has no Hoare annotation [2020-07-10 15:09:27,044 WARN L170 areAnnotationChecker]: L656-1 has no Hoare annotation [2020-07-10 15:09:27,044 WARN L170 areAnnotationChecker]: ldv_list_delEXIT has no Hoare annotation [2020-07-10 15:09:27,044 WARN L170 areAnnotationChecker]: ldv_successful_mallocEXIT has no Hoare annotation [2020-07-10 15:09:27,045 WARN L170 areAnnotationChecker]: L634-1 has no Hoare annotation [2020-07-10 15:09:27,045 WARN L170 areAnnotationChecker]: L624 has no Hoare annotation [2020-07-10 15:09:27,045 WARN L170 areAnnotationChecker]: L624 has no Hoare annotation [2020-07-10 15:09:27,045 WARN L170 areAnnotationChecker]: L622-3 has no Hoare annotation [2020-07-10 15:09:27,045 WARN L170 areAnnotationChecker]: ldv_is_in_setEXIT has no Hoare annotation [2020-07-10 15:09:27,045 WARN L170 areAnnotationChecker]: ldv_is_in_setEXIT has no Hoare annotation [2020-07-10 15:09:27,045 WARN L170 areAnnotationChecker]: L656-2 has no Hoare annotation [2020-07-10 15:09:27,045 WARN L170 areAnnotationChecker]: L656-2 has no Hoare annotation [2020-07-10 15:09:27,046 WARN L170 areAnnotationChecker]: L656-4 has no Hoare annotation [2020-07-10 15:09:27,046 WARN L170 areAnnotationChecker]: L624-1 has no Hoare annotation [2020-07-10 15:09:27,046 WARN L170 areAnnotationChecker]: ldv_set_addEXIT has no Hoare annotation [2020-07-10 15:09:27,046 WARN L170 areAnnotationChecker]: fooEXIT has no Hoare annotation [2020-07-10 15:09:27,046 WARN L170 areAnnotationChecker]: L626 has no Hoare annotation [2020-07-10 15:09:27,046 WARN L170 areAnnotationChecker]: L626 has no Hoare annotation [2020-07-10 15:09:27,046 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2020-07-10 15:09:27,049 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 10.07 03:09:27 BoogieIcfgContainer [2020-07-10 15:09:27,049 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-10 15:09:27,051 INFO L168 Benchmark]: Toolchain (without parser) took 9624.39 ms. Allocated memory was 146.3 MB in the beginning and 315.6 MB in the end (delta: 169.3 MB). Free memory was 100.8 MB in the beginning and 118.6 MB in the end (delta: -17.8 MB). Peak memory consumption was 151.6 MB. Max. memory is 7.1 GB. [2020-07-10 15:09:27,052 INFO L168 Benchmark]: CDTParser took 0.25 ms. Allocated memory is still 146.3 MB. Free memory was 121.3 MB in the beginning and 121.1 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. [2020-07-10 15:09:27,053 INFO L168 Benchmark]: CACSL2BoogieTranslator took 778.35 ms. Allocated memory was 146.3 MB in the beginning and 203.9 MB in the end (delta: 57.7 MB). Free memory was 100.6 MB in the beginning and 163.8 MB in the end (delta: -63.1 MB). Peak memory consumption was 20.2 MB. Max. memory is 7.1 GB. [2020-07-10 15:09:27,053 INFO L168 Benchmark]: Boogie Preprocessor took 86.48 ms. Allocated memory is still 203.9 MB. Free memory was 163.8 MB in the beginning and 159.3 MB in the end (delta: 4.4 MB). Peak memory consumption was 4.4 MB. Max. memory is 7.1 GB. [2020-07-10 15:09:27,054 INFO L168 Benchmark]: RCFGBuilder took 886.26 ms. Allocated memory was 203.9 MB in the beginning and 235.9 MB in the end (delta: 32.0 MB). Free memory was 159.3 MB in the beginning and 196.0 MB in the end (delta: -36.6 MB). Peak memory consumption was 73.0 MB. Max. memory is 7.1 GB. [2020-07-10 15:09:27,055 INFO L168 Benchmark]: TraceAbstraction took 7868.42 ms. Allocated memory was 235.9 MB in the beginning and 315.6 MB in the end (delta: 79.7 MB). Free memory was 196.0 MB in the beginning and 118.6 MB in the end (delta: 77.4 MB). Peak memory consumption was 157.1 MB. Max. memory is 7.1 GB. [2020-07-10 15:09:27,059 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.25 ms. Allocated memory is still 146.3 MB. Free memory was 121.3 MB in the beginning and 121.1 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 778.35 ms. Allocated memory was 146.3 MB in the beginning and 203.9 MB in the end (delta: 57.7 MB). Free memory was 100.6 MB in the beginning and 163.8 MB in the end (delta: -63.1 MB). Peak memory consumption was 20.2 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 86.48 ms. Allocated memory is still 203.9 MB. Free memory was 163.8 MB in the beginning and 159.3 MB in the end (delta: 4.4 MB). Peak memory consumption was 4.4 MB. Max. memory is 7.1 GB. * RCFGBuilder took 886.26 ms. Allocated memory was 203.9 MB in the beginning and 235.9 MB in the end (delta: 32.0 MB). Free memory was 159.3 MB in the beginning and 196.0 MB in the end (delta: -36.6 MB). Peak memory consumption was 73.0 MB. Max. memory is 7.1 GB. * TraceAbstraction took 7868.42 ms. Allocated memory was 235.9 MB in the beginning and 315.6 MB in the end (delta: 79.7 MB). Free memory was 196.0 MB in the beginning and 118.6 MB in the end (delta: 77.4 MB). Peak memory consumption was 157.1 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 15 could not be translated for associated CType STRUCT~~ldv_list_head?next~*ldv_list_head?prev~*ldv_list_head# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 16 could not be translated for associated CType STRUCT~~ldv_list_head?next~*ldv_list_head?prev~*ldv_list_head# * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 656]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L651] struct ldv_list_head s1 = { &(s1), &(s1) }; VAL [\old(s1)=null, \old(s1)=null, s1={2:0}] [L660] CALL foo() VAL [s1={2:0}] [L654] int j = __VERIFIER_nondet_int(); [L655] CALL ldv_set_add(j, &s1) VAL [\old(new)=-1, s={2:0}, s1={2:0}] [L622] CALL, EXPR ldv_is_in_set(new, s) VAL [\old(e)=-1, s={2:0}, s1={2:0}] [L640] struct ldv_list_element *m; [L641] EXPR (s)->next [L641] const typeof( ((typeof(*m) *)0)->list ) *__mptr = ((s)->next); [L641] m = ({ const typeof( ((typeof(*m) *)0)->list ) *__mptr = ((s)->next); (typeof(*m) *)( (char *)__mptr - ((size_t) &((typeof(*m) *)0)->list) );}) VAL [\old(e)=-1, __mptr={2:0}, e=-1, m={2:-4}, s={2:0}, s={2:0}, s1={2:0}] [L641] COND FALSE !(&m->list != (s)) VAL [\old(e)=-1, __mptr={2:0}, e=-1, m={2:-4}, s={2:0}, s={2:0}, s1={2:0}] [L646] return 0; VAL [\old(e)=-1, \result=0, __mptr={2:0}, e=-1, m={2:-4}, s={2:0}, s={2:0}, s1={2:0}] [L622] RET, EXPR ldv_is_in_set(new, s) VAL [\old(new)=-1, ldv_is_in_set(new, s)=0, new=-1, s={2:0}, s={2:0}, s1={2:0}] [L622] COND TRUE !ldv_is_in_set(new, s) [L623] struct ldv_list_element *le; VAL [\old(new)=-1, new=-1, s={2:0}, s={2:0}, s1={2:0}] [L624] CALL, EXPR ldv_successful_malloc(sizeof(struct ldv_list_element)) VAL [\old(size)=12, s1={2:0}] [L565] void *ptr = malloc(size); VAL [\old(size)=12, malloc(size)={-2:0}, ptr={-2:0}, s1={2:0}, size=12] [L566] CALL assume_abort_if_not(ptr!=0) VAL [\old(cond)=1, s1={2:0}] [L554] COND FALSE !(!cond) VAL [\old(cond)=1, cond=1, s1={2:0}] [L566] RET assume_abort_if_not(ptr!=0) VAL [\old(size)=12, malloc(size)={-2:0}, ptr={-2:0}, s1={2:0}, size=12] [L567] return ptr; VAL [\old(size)=12, \result={-2:0}, malloc(size)={-2:0}, ptr={-2:0}, s1={2:0}, size=12] [L624] RET, EXPR ldv_successful_malloc(sizeof(struct ldv_list_element)) VAL [\old(new)=-1, ldv_successful_malloc(sizeof(struct ldv_list_element))={-2:0}, new=-1, s={2:0}, s={2:0}, s1={2:0}] [L624] le = (struct ldv_list_element*)ldv_successful_malloc(sizeof(struct ldv_list_element)) [L625] le->e = new VAL [\old(new)=-1, le={-2:0}, new=-1, s={2:0}, s={2:0}, s1={2:0}] [L626] CALL ldv_list_add(&le->list, s) VAL [head={2:0}, new={-2:4}, s1={2:0}] [L594] EXPR head->next VAL [head={2:0}, head={2:0}, head->next={2:0}, new={-2:4}, new={-2:4}, s1={2:0}] [L594] CALL __ldv_list_add(new, head, head->next) VAL [new={-2:4}, next={2:0}, prev={2:0}, s1={2:0}] [L582] next->prev = new [L583] new->next = next [L584] new->prev = prev [L585] prev->next = new VAL [new={-2:4}, new={-2:4}, next={2:0}, next={2:0}, prev={2:0}, prev={2:0}, s1={2:0}] [L594] RET __ldv_list_add(new, head, head->next) VAL [head={2:0}, head={2:0}, head->next={2:0}, new={-2:4}, new={-2:4}, s1={2:0}] [L626] RET ldv_list_add(&le->list, s) VAL [\old(new)=-1, le={-2:0}, new=-1, s={2:0}, s={2:0}, s1={2:0}] [L655] RET ldv_set_add(j, &s1) VAL [j=-1, s1={2:0}] [L656] CALL ldv_is_in_set(j, &s1) VAL [\old(e)=-1, s={2:0}, s1={2:0}] [L640] struct ldv_list_element *m; [L641] EXPR (s)->next [L641] const typeof( ((typeof(*m) *)0)->list ) *__mptr = ((s)->next); [L641] m = ({ const typeof( ((typeof(*m) *)0)->list ) *__mptr = ((s)->next); (typeof(*m) *)( (char *)__mptr - ((size_t) &((typeof(*m) *)0)->list) );}) VAL [\old(e)=-1, __mptr={-2:4}, e=-1, m={-2:0}, s={2:0}, s={2:0}, s1={2:0}] [L641] COND TRUE &m->list != (s) [L642] EXPR m->e VAL [\old(e)=-1, __mptr={-2:4}, e=-1, m={-2:0}, m->e=-1, s={2:0}, s={2:0}, s1={2:0}] [L642] COND TRUE m->e == e [L643] return 1; VAL [\old(e)=-1, \result=1, __mptr={-2:4}, e=-1, m={-2:0}, s={2:0}, s={2:0}, s1={2:0}] [L656] RET ldv_is_in_set(j, &s1) VAL [j=-1, ldv_is_in_set(j, &s1)=1, s1={2:0}] [L656] COND TRUE ldv_is_in_set(j, &s1) [L656] __VERIFIER_error() VAL [j=-1, s1={2:0}] - StatisticsResult: Ultimate Automizer benchmark data CFG has 21 procedures, 99 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 7.7s, OverallIterations: 5, TraceHistogramMax: 2, AutomataDifference: 4.3s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 182 SDtfs, 244 SDslu, 211 SDs, 0 SdLazy, 361 SolverSat, 105 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 1.1s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 122 GetRequests, 84 SyntacticMatches, 2 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 67 ImplicationChecksByTransitivity, 0.9s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=56occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.3s AutomataMinimizationTime, 4 MinimizatonAttempts, 35 StatesRemovedByMinimization, 3 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 1.6s InterpolantComputationTime, 216 NumberOfCodeBlocks, 216 NumberOfCodeBlocksAsserted, 7 NumberOfCheckSat, 162 ConstructedInterpolants, 0 QuantifiedInterpolants, 24921 SizeOfPredicates, 20 NumberOfNonLiveVariables, 332 ConjunctsInSsa, 52 ConjunctsInUnsatCore, 6 InterpolantComputations, 4 PerfectInterpolantSequences, 23/29 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! Received shutdown request...