/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-267fbe0 [2020-07-17 22:32:22,713 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-17 22:32:22,716 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-17 22:32:22,728 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-17 22:32:22,729 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-17 22:32:22,730 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-17 22:32:22,731 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-17 22:32:22,733 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-17 22:32:22,735 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-17 22:32:22,735 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-17 22:32:22,736 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-17 22:32:22,737 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-17 22:32:22,738 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-17 22:32:22,739 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-17 22:32:22,740 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-17 22:32:22,743 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-17 22:32:22,744 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-17 22:32:22,744 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-17 22:32:22,746 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-17 22:32:22,748 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-17 22:32:22,749 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-17 22:32:22,750 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-17 22:32:22,751 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-17 22:32:22,752 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-17 22:32:22,756 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-17 22:32:22,756 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-17 22:32:22,759 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-17 22:32:22,760 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-17 22:32:22,760 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-17 22:32:22,761 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-17 22:32:22,761 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-17 22:32:22,762 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-17 22:32:22,765 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-17 22:32:22,765 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-17 22:32:22,766 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-17 22:32:22,767 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-17 22:32:22,768 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-17 22:32:22,769 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-17 22:32:22,769 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-17 22:32:22,770 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-17 22:32:22,772 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-17 22:32:22,773 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-17 22:32:22,799 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-17 22:32:22,799 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-17 22:32:22,801 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-17 22:32:22,802 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-17 22:32:22,802 INFO L138 SettingsManager]: * Use SBE=true [2020-07-17 22:32:22,802 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-17 22:32:22,803 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-17 22:32:22,803 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-17 22:32:22,803 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-17 22:32:22,803 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-17 22:32:22,804 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-17 22:32:22,804 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-17 22:32:22,805 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-17 22:32:22,805 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-17 22:32:22,805 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-17 22:32:22,805 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-17 22:32:22,806 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-17 22:32:22,806 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-17 22:32:22,806 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-17 22:32:22,806 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-17 22:32:22,807 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-17 22:32:22,807 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-17 22:32:22,807 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-17 22:32:22,807 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-17 22:32:22,807 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-17 22:32:22,808 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-17 22:32:22,808 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-17 22:32:22,808 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-17 22:32:22,808 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-17 22:32:22,808 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-17 22:32:23,102 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-17 22:32:23,115 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-17 22:32:23,119 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-17 22:32:23,120 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-17 22:32:23,121 INFO L275 PluginConnector]: CDTParser initialized [2020-07-17 22:32:23,122 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-17 22:32:23,212 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6f120a2a6/3315055122f340949093495933575fd7/FLAG27040f3c8 [2020-07-17 22:32:23,760 INFO L306 CDTParser]: Found 1 translation units. [2020-07-17 22:32:23,760 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ldv-sets/test_add-1.i [2020-07-17 22:32:23,776 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6f120a2a6/3315055122f340949093495933575fd7/FLAG27040f3c8 [2020-07-17 22:32:24,012 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6f120a2a6/3315055122f340949093495933575fd7 [2020-07-17 22:32:24,023 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-17 22:32:24,027 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-17 22:32:24,028 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-17 22:32:24,028 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-17 22:32:24,032 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-17 22:32:24,034 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.07 10:32:24" (1/1) ... [2020-07-17 22:32:24,037 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@472c73e5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:32:24, skipping insertion in model container [2020-07-17 22:32:24,037 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.07 10:32:24" (1/1) ... [2020-07-17 22:32:24,045 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-17 22:32:24,104 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-17 22:32:24,671 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-17 22:32:24,683 INFO L203 MainTranslator]: Completed pre-run [2020-07-17 22:32:24,741 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-17 22:32:24,828 INFO L208 MainTranslator]: Completed translation [2020-07-17 22:32:24,829 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:32:24 WrapperNode [2020-07-17 22:32:24,830 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-17 22:32:24,831 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-17 22:32:24,831 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-17 22:32:24,831 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-17 22:32:24,846 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:32:24" (1/1) ... [2020-07-17 22:32:24,847 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:32:24" (1/1) ... [2020-07-17 22:32:24,867 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:32:24" (1/1) ... [2020-07-17 22:32:24,867 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:32:24" (1/1) ... [2020-07-17 22:32:24,904 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:32:24" (1/1) ... [2020-07-17 22:32:24,911 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:32:24" (1/1) ... [2020-07-17 22:32:24,916 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:32:24" (1/1) ... [2020-07-17 22:32:24,926 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-17 22:32:24,927 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-17 22:32:24,927 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-17 22:32:24,927 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-17 22:32:24,928 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:32:24" (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-17 22:32:24,999 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-17 22:32:24,999 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-17 22:32:25,000 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_32 [2020-07-17 22:32:25,000 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_64 [2020-07-17 22:32:25,000 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2020-07-17 22:32:25,000 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_malloc [2020-07-17 22:32:25,001 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_successful_malloc [2020-07-17 22:32:25,001 INFO L138 BoogieDeclarations]: Found implementation of procedure LDV_INIT_LIST_HEAD [2020-07-17 22:32:25,001 INFO L138 BoogieDeclarations]: Found implementation of procedure __ldv_list_add [2020-07-17 22:32:25,001 INFO L138 BoogieDeclarations]: Found implementation of procedure __ldv_list_del [2020-07-17 22:32:25,001 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_list_add [2020-07-17 22:32:25,002 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_list_add_tail [2020-07-17 22:32:25,002 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_list_del [2020-07-17 22:32:25,002 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_list_empty [2020-07-17 22:32:25,002 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_init_set [2020-07-17 22:32:25,003 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_set_add [2020-07-17 22:32:25,003 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_set_del [2020-07-17 22:32:25,003 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_is_in_set [2020-07-17 22:32:25,003 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_set_empty [2020-07-17 22:32:25,004 INFO L138 BoogieDeclarations]: Found implementation of procedure foo [2020-07-17 22:32:25,004 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-17 22:32:25,004 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_32 [2020-07-17 22:32:25,004 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_64 [2020-07-17 22:32:25,005 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2020-07-17 22:32:25,005 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2020-07-17 22:32:25,005 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2020-07-17 22:32:25,005 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2020-07-17 22:32:25,005 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2020-07-17 22:32:25,006 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2020-07-17 22:32:25,006 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2020-07-17 22:32:25,006 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2020-07-17 22:32:25,006 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2020-07-17 22:32:25,006 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2020-07-17 22:32:25,007 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2020-07-17 22:32:25,007 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2020-07-17 22:32:25,007 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2020-07-17 22:32:25,007 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2020-07-17 22:32:25,007 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2020-07-17 22:32:25,008 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2020-07-17 22:32:25,008 INFO L130 BoogieDeclarations]: Found specification of procedure select [2020-07-17 22:32:25,008 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2020-07-17 22:32:25,008 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2020-07-17 22:32:25,008 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2020-07-17 22:32:25,008 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2020-07-17 22:32:25,009 INFO L130 BoogieDeclarations]: Found specification of procedure random [2020-07-17 22:32:25,009 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2020-07-17 22:32:25,009 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2020-07-17 22:32:25,009 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2020-07-17 22:32:25,009 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2020-07-17 22:32:25,009 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2020-07-17 22:32:25,010 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2020-07-17 22:32:25,010 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2020-07-17 22:32:25,010 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2020-07-17 22:32:25,010 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2020-07-17 22:32:25,010 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2020-07-17 22:32:25,010 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2020-07-17 22:32:25,010 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2020-07-17 22:32:25,011 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2020-07-17 22:32:25,011 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2020-07-17 22:32:25,011 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2020-07-17 22:32:25,011 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2020-07-17 22:32:25,011 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2020-07-17 22:32:25,011 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2020-07-17 22:32:25,011 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2020-07-17 22:32:25,012 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2020-07-17 22:32:25,012 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2020-07-17 22:32:25,012 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2020-07-17 22:32:25,012 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2020-07-17 22:32:25,012 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2020-07-17 22:32:25,012 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2020-07-17 22:32:25,013 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2020-07-17 22:32:25,013 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2020-07-17 22:32:25,013 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2020-07-17 22:32:25,013 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-17 22:32:25,013 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-17 22:32:25,013 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-17 22:32:25,014 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-17 22:32:25,014 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-17 22:32:25,014 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2020-07-17 22:32:25,014 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-17 22:32:25,014 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2020-07-17 22:32:25,014 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-17 22:32:25,015 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2020-07-17 22:32:25,015 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2020-07-17 22:32:25,015 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2020-07-17 22:32:25,015 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2020-07-17 22:32:25,015 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2020-07-17 22:32:25,015 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2020-07-17 22:32:25,015 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2020-07-17 22:32:25,016 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2020-07-17 22:32:25,016 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2020-07-17 22:32:25,016 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2020-07-17 22:32:25,016 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2020-07-17 22:32:25,016 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2020-07-17 22:32:25,016 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2020-07-17 22:32:25,017 INFO L130 BoogieDeclarations]: Found specification of procedure system [2020-07-17 22:32:25,017 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2020-07-17 22:32:25,017 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2020-07-17 22:32:25,017 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2020-07-17 22:32:25,017 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2020-07-17 22:32:25,017 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2020-07-17 22:32:25,017 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2020-07-17 22:32:25,018 INFO L130 BoogieDeclarations]: Found specification of procedure div [2020-07-17 22:32:25,018 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2020-07-17 22:32:25,018 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2020-07-17 22:32:25,018 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2020-07-17 22:32:25,018 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2020-07-17 22:32:25,018 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2020-07-17 22:32:25,018 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2020-07-17 22:32:25,019 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2020-07-17 22:32:25,019 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2020-07-17 22:32:25,019 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2020-07-17 22:32:25,019 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2020-07-17 22:32:25,019 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2020-07-17 22:32:25,019 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2020-07-17 22:32:25,019 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2020-07-17 22:32:25,020 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2020-07-17 22:32:25,020 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2020-07-17 22:32:25,020 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2020-07-17 22:32:25,020 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2020-07-17 22:32:25,020 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2020-07-17 22:32:25,020 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2020-07-17 22:32:25,021 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2020-07-17 22:32:25,021 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-17 22:32:25,021 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2020-07-17 22:32:25,021 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-17 22:32:25,021 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_malloc [2020-07-17 22:32:25,021 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2020-07-17 22:32:25,021 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_successful_malloc [2020-07-17 22:32:25,022 INFO L130 BoogieDeclarations]: Found specification of procedure LDV_INIT_LIST_HEAD [2020-07-17 22:32:25,022 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-17 22:32:25,022 INFO L130 BoogieDeclarations]: Found specification of procedure __ldv_list_add [2020-07-17 22:32:25,022 INFO L130 BoogieDeclarations]: Found specification of procedure __ldv_list_del [2020-07-17 22:32:25,022 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_list_add [2020-07-17 22:32:25,022 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-17 22:32:25,023 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_list_add_tail [2020-07-17 22:32:25,023 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_list_del [2020-07-17 22:32:25,023 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_list_empty [2020-07-17 22:32:25,023 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_init_set [2020-07-17 22:32:25,023 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_set_add [2020-07-17 22:32:25,023 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_set_del [2020-07-17 22:32:25,024 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_is_in_set [2020-07-17 22:32:25,024 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_set_empty [2020-07-17 22:32:25,024 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-17 22:32:25,024 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-17 22:32:25,024 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-17 22:32:25,024 INFO L130 BoogieDeclarations]: Found specification of procedure foo [2020-07-17 22:32:25,025 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-17 22:32:25,025 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-17 22:32:25,025 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-17 22:32:25,025 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2020-07-17 22:32:25,025 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-17 22:32:25,884 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-17 22:32:25,885 INFO L295 CfgBuilder]: Removed 2 assume(true) statements. [2020-07-17 22:32:25,889 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.07 10:32:25 BoogieIcfgContainer [2020-07-17 22:32:25,889 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-17 22:32:25,891 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-17 22:32:25,891 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-17 22:32:25,895 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-17 22:32:25,895 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 17.07 10:32:24" (1/3) ... [2020-07-17 22:32:25,896 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1086f734 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.07 10:32:25, skipping insertion in model container [2020-07-17 22:32:25,896 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:32:24" (2/3) ... [2020-07-17 22:32:25,897 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1086f734 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.07 10:32:25, skipping insertion in model container [2020-07-17 22:32:25,897 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.07 10:32:25" (3/3) ... [2020-07-17 22:32:25,899 INFO L109 eAbstractionObserver]: Analyzing ICFG test_add-1.i [2020-07-17 22:32:25,911 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-17 22:32:25,920 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-17 22:32:25,937 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-17 22:32:25,964 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-17 22:32:25,964 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-17 22:32:25,964 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-17 22:32:25,964 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-17 22:32:25,964 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-17 22:32:25,964 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-17 22:32:25,965 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-17 22:32:25,965 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-17 22:32:25,986 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states. [2020-07-17 22:32:25,994 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2020-07-17 22:32:25,994 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:25,996 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-17 22:32:25,996 INFO L427 AbstractCegarLoop]: === Iteration 1 === [fooErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:26,003 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:26,003 INFO L82 PathProgramCache]: Analyzing trace with hash 1154845074, now seen corresponding path program 1 times [2020-07-17 22:32:26,015 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:26,016 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [253975440] [2020-07-17 22:32:26,016 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:26,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:26,252 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:26,273 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-17 22:32:26,274 INFO L280 TraceCheckUtils]: 1: Hoare triple {59#true} assume true; {59#true} is VALID [2020-07-17 22:32:26,274 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {59#true} {59#true} #152#return; {59#true} is VALID [2020-07-17 22:32:26,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:26,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:26,330 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-17 22:32:26,331 INFO L280 TraceCheckUtils]: 1: Hoare triple {59#true} assume !true; {60#false} is VALID [2020-07-17 22:32:26,332 INFO L280 TraceCheckUtils]: 2: Hoare triple {60#false} #res := 0; {60#false} is VALID [2020-07-17 22:32:26,332 INFO L280 TraceCheckUtils]: 3: Hoare triple {60#false} assume true; {60#false} is VALID [2020-07-17 22:32:26,332 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {60#false} {59#true} #134#return; {60#false} is VALID [2020-07-17 22:32:26,333 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-17 22:32:26,333 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-17 22:32:26,334 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-17 22:32:26,335 INFO L280 TraceCheckUtils]: 3: Hoare triple {59#true} assume !true; {60#false} is VALID [2020-07-17 22:32:26,335 INFO L280 TraceCheckUtils]: 4: Hoare triple {60#false} #res := 0; {60#false} is VALID [2020-07-17 22:32:26,335 INFO L280 TraceCheckUtils]: 5: Hoare triple {60#false} assume true; {60#false} is VALID [2020-07-17 22:32:26,336 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {60#false} {59#true} #134#return; {60#false} is VALID [2020-07-17 22:32:26,336 INFO L280 TraceCheckUtils]: 7: Hoare triple {60#false} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647; {60#false} is VALID [2020-07-17 22:32:26,336 INFO L280 TraceCheckUtils]: 8: Hoare triple {60#false} assume !(0 == #t~ret16);havoc #t~ret16; {60#false} is VALID [2020-07-17 22:32:26,337 INFO L280 TraceCheckUtils]: 9: Hoare triple {60#false} assume true; {60#false} is VALID [2020-07-17 22:32:26,337 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {60#false} {59#true} #140#return; {60#false} is VALID [2020-07-17 22:32:26,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:26,349 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-17 22:32:26,350 INFO L280 TraceCheckUtils]: 1: Hoare triple {59#true} assume !true; {60#false} is VALID [2020-07-17 22:32:26,350 INFO L280 TraceCheckUtils]: 2: Hoare triple {60#false} #res := 0; {60#false} is VALID [2020-07-17 22:32:26,350 INFO L280 TraceCheckUtils]: 3: Hoare triple {60#false} assume true; {60#false} is VALID [2020-07-17 22:32:26,351 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {60#false} {60#false} #142#return; {60#false} is VALID [2020-07-17 22:32:26,353 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-17 22:32:26,353 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-17 22:32:26,353 INFO L280 TraceCheckUtils]: 2: Hoare triple {59#true} assume true; {59#true} is VALID [2020-07-17 22:32:26,354 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {59#true} {59#true} #152#return; {59#true} is VALID [2020-07-17 22:32:26,354 INFO L263 TraceCheckUtils]: 4: Hoare triple {59#true} call #t~ret28 := main(); {59#true} is VALID [2020-07-17 22:32:26,354 INFO L263 TraceCheckUtils]: 5: Hoare triple {59#true} call foo(); {59#true} is VALID [2020-07-17 22:32:26,355 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-17 22:32:26,357 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-17 22:32:26,357 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-17 22:32:26,358 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-17 22:32:26,358 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-17 22:32:26,359 INFO L280 TraceCheckUtils]: 11: Hoare triple {59#true} assume !true; {60#false} is VALID [2020-07-17 22:32:26,359 INFO L280 TraceCheckUtils]: 12: Hoare triple {60#false} #res := 0; {60#false} is VALID [2020-07-17 22:32:26,360 INFO L280 TraceCheckUtils]: 13: Hoare triple {60#false} assume true; {60#false} is VALID [2020-07-17 22:32:26,360 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {60#false} {59#true} #134#return; {60#false} is VALID [2020-07-17 22:32:26,360 INFO L280 TraceCheckUtils]: 15: Hoare triple {60#false} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647; {60#false} is VALID [2020-07-17 22:32:26,360 INFO L280 TraceCheckUtils]: 16: Hoare triple {60#false} assume !(0 == #t~ret16);havoc #t~ret16; {60#false} is VALID [2020-07-17 22:32:26,361 INFO L280 TraceCheckUtils]: 17: Hoare triple {60#false} assume true; {60#false} is VALID [2020-07-17 22:32:26,361 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {60#false} {59#true} #140#return; {60#false} is VALID [2020-07-17 22:32:26,361 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-17 22:32:26,362 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-17 22:32:26,363 INFO L280 TraceCheckUtils]: 21: Hoare triple {59#true} assume !true; {60#false} is VALID [2020-07-17 22:32:26,363 INFO L280 TraceCheckUtils]: 22: Hoare triple {60#false} #res := 0; {60#false} is VALID [2020-07-17 22:32:26,363 INFO L280 TraceCheckUtils]: 23: Hoare triple {60#false} assume true; {60#false} is VALID [2020-07-17 22:32:26,364 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {60#false} {60#false} #142#return; {60#false} is VALID [2020-07-17 22:32:26,364 INFO L280 TraceCheckUtils]: 25: Hoare triple {60#false} assume -2147483648 <= #t~ret27 && #t~ret27 <= 2147483647; {60#false} is VALID [2020-07-17 22:32:26,364 INFO L280 TraceCheckUtils]: 26: Hoare triple {60#false} assume 0 != #t~ret27;havoc #t~ret27; {60#false} is VALID [2020-07-17 22:32:26,365 INFO L280 TraceCheckUtils]: 27: Hoare triple {60#false} assume !false; {60#false} is VALID [2020-07-17 22:32:26,369 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-17 22:32:26,370 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [253975440] [2020-07-17 22:32:26,371 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:32:26,372 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-17 22:32:26,373 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [144803490] [2020-07-17 22:32:26,379 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 28 [2020-07-17 22:32:26,382 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:26,386 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-17 22:32:26,447 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-17 22:32:26,447 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-17 22:32:26,447 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:26,458 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-17 22:32:26,459 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-17 22:32:26,461 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 4 states. [2020-07-17 22:32:27,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:27,187 INFO L93 Difference]: Finished difference Result 108 states and 126 transitions. [2020-07-17 22:32:27,187 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-17 22:32:27,187 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 28 [2020-07-17 22:32:27,187 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:27,189 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:32:27,204 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 126 transitions. [2020-07-17 22:32:27,204 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:32:27,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 126 transitions. [2020-07-17 22:32:27,213 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 126 transitions. [2020-07-17 22:32:27,431 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-17 22:32:27,455 INFO L225 Difference]: With dead ends: 108 [2020-07-17 22:32:27,458 INFO L226 Difference]: Without dead ends: 53 [2020-07-17 22:32:27,462 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-17 22:32:27,485 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2020-07-17 22:32:27,574 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 46. [2020-07-17 22:32:27,574 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:27,575 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand 46 states. [2020-07-17 22:32:27,576 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 46 states. [2020-07-17 22:32:27,576 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 46 states. [2020-07-17 22:32:27,583 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:27,583 INFO L93 Difference]: Finished difference Result 53 states and 56 transitions. [2020-07-17 22:32:27,584 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 56 transitions. [2020-07-17 22:32:27,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:27,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:27,585 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 53 states. [2020-07-17 22:32:27,585 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 53 states. [2020-07-17 22:32:27,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:27,591 INFO L93 Difference]: Finished difference Result 53 states and 56 transitions. [2020-07-17 22:32:27,591 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 56 transitions. [2020-07-17 22:32:27,592 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:27,592 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:27,593 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:27,593 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:27,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2020-07-17 22:32:27,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 49 transitions. [2020-07-17 22:32:27,599 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 49 transitions. Word has length 28 [2020-07-17 22:32:27,599 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:27,600 INFO L479 AbstractCegarLoop]: Abstraction has 46 states and 49 transitions. [2020-07-17 22:32:27,600 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-17 22:32:27,600 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 49 transitions. [2020-07-17 22:32:27,601 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2020-07-17 22:32:27,602 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:27,602 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-17 22:32:27,602 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-17 22:32:27,602 INFO L427 AbstractCegarLoop]: === Iteration 2 === [fooErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:27,603 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:27,603 INFO L82 PathProgramCache]: Analyzing trace with hash 221547774, now seen corresponding path program 1 times [2020-07-17 22:32:27,603 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:27,604 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [781603307] [2020-07-17 22:32:27,604 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:27,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:27,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:27,720 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-17 22:32:27,720 INFO L280 TraceCheckUtils]: 1: Hoare triple {402#true} assume true; {402#true} is VALID [2020-07-17 22:32:27,721 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {402#true} {402#true} #152#return; {402#true} is VALID [2020-07-17 22:32:27,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:27,793 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:27,818 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-17 22:32:27,819 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-17 22:32:27,820 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-17 22:32:27,822 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-17 22:32:27,823 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-17 22:32:27,824 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-17 22:32:27,824 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-17 22:32:27,824 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-17 22:32:27,825 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-17 22:32:27,825 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-17 22:32:27,826 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-17 22:32:27,828 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-17 22:32:27,829 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-17 22:32:27,829 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-17 22:32:27,830 INFO L280 TraceCheckUtils]: 9: Hoare triple {403#false} assume true; {403#false} is VALID [2020-07-17 22:32:27,830 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {403#false} {402#true} #140#return; {403#false} is VALID [2020-07-17 22:32:27,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:27,848 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-17 22:32:27,848 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-17 22:32:27,848 INFO L280 TraceCheckUtils]: 2: Hoare triple {402#true} #res := 0; {402#true} is VALID [2020-07-17 22:32:27,849 INFO L280 TraceCheckUtils]: 3: Hoare triple {402#true} assume true; {402#true} is VALID [2020-07-17 22:32:27,849 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {402#true} {403#false} #142#return; {403#false} is VALID [2020-07-17 22:32:27,850 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-17 22:32:27,851 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-17 22:32:27,851 INFO L280 TraceCheckUtils]: 2: Hoare triple {402#true} assume true; {402#true} is VALID [2020-07-17 22:32:27,851 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {402#true} {402#true} #152#return; {402#true} is VALID [2020-07-17 22:32:27,852 INFO L263 TraceCheckUtils]: 4: Hoare triple {402#true} call #t~ret28 := main(); {402#true} is VALID [2020-07-17 22:32:27,852 INFO L263 TraceCheckUtils]: 5: Hoare triple {402#true} call foo(); {402#true} is VALID [2020-07-17 22:32:27,852 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-17 22:32:27,854 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-17 22:32:27,854 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-17 22:32:27,855 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-17 22:32:27,855 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-17 22:32:27,855 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-17 22:32:27,856 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-17 22:32:27,857 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-17 22:32:27,858 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-17 22:32:27,859 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-17 22:32:27,860 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-17 22:32:27,860 INFO L280 TraceCheckUtils]: 17: Hoare triple {403#false} assume true; {403#false} is VALID [2020-07-17 22:32:27,861 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {403#false} {402#true} #140#return; {403#false} is VALID [2020-07-17 22:32:27,861 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-17 22:32:27,861 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-17 22:32:27,862 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-17 22:32:27,862 INFO L280 TraceCheckUtils]: 22: Hoare triple {402#true} #res := 0; {402#true} is VALID [2020-07-17 22:32:27,862 INFO L280 TraceCheckUtils]: 23: Hoare triple {402#true} assume true; {402#true} is VALID [2020-07-17 22:32:27,862 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {402#true} {403#false} #142#return; {403#false} is VALID [2020-07-17 22:32:27,863 INFO L280 TraceCheckUtils]: 25: Hoare triple {403#false} assume -2147483648 <= #t~ret27 && #t~ret27 <= 2147483647; {403#false} is VALID [2020-07-17 22:32:27,863 INFO L280 TraceCheckUtils]: 26: Hoare triple {403#false} assume 0 != #t~ret27;havoc #t~ret27; {403#false} is VALID [2020-07-17 22:32:27,863 INFO L280 TraceCheckUtils]: 27: Hoare triple {403#false} assume !false; {403#false} is VALID [2020-07-17 22:32:27,865 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-17 22:32:27,866 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [781603307] [2020-07-17 22:32:27,866 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [270643374] [2020-07-17 22:32:27,866 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-17 22:32:28,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:28,009 INFO L264 TraceCheckSpWp]: Trace formula consists of 165 conjuncts, 5 conjunts are in the unsatisfiable core [2020-07-17 22:32:28,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:28,028 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:32:28,111 INFO L263 TraceCheckUtils]: 0: Hoare triple {402#true} call ULTIMATE.init(); {402#true} is VALID [2020-07-17 22:32:28,111 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-17 22:32:28,111 INFO L280 TraceCheckUtils]: 2: Hoare triple {402#true} assume true; {402#true} is VALID [2020-07-17 22:32:28,112 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {402#true} {402#true} #152#return; {402#true} is VALID [2020-07-17 22:32:28,112 INFO L263 TraceCheckUtils]: 4: Hoare triple {402#true} call #t~ret28 := main(); {402#true} is VALID [2020-07-17 22:32:28,112 INFO L263 TraceCheckUtils]: 5: Hoare triple {402#true} call foo(); {402#true} is VALID [2020-07-17 22:32:28,112 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-17 22:32:28,113 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-17 22:32:28,113 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-17 22:32:28,113 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-17 22:32:28,113 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-17 22:32:28,114 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-17 22:32:28,115 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-17 22:32:28,116 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-17 22:32:28,117 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-17 22:32:28,118 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-17 22:32:28,119 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-17 22:32:28,119 INFO L280 TraceCheckUtils]: 17: Hoare triple {403#false} assume true; {403#false} is VALID [2020-07-17 22:32:28,119 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {403#false} {402#true} #140#return; {403#false} is VALID [2020-07-17 22:32:28,120 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-17 22:32:28,120 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-17 22:32:28,120 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-17 22:32:28,120 INFO L280 TraceCheckUtils]: 22: Hoare triple {403#false} #res := 0; {403#false} is VALID [2020-07-17 22:32:28,121 INFO L280 TraceCheckUtils]: 23: Hoare triple {403#false} assume true; {403#false} is VALID [2020-07-17 22:32:28,121 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {403#false} {403#false} #142#return; {403#false} is VALID [2020-07-17 22:32:28,121 INFO L280 TraceCheckUtils]: 25: Hoare triple {403#false} assume -2147483648 <= #t~ret27 && #t~ret27 <= 2147483647; {403#false} is VALID [2020-07-17 22:32:28,122 INFO L280 TraceCheckUtils]: 26: Hoare triple {403#false} assume 0 != #t~ret27;havoc #t~ret27; {403#false} is VALID [2020-07-17 22:32:28,122 INFO L280 TraceCheckUtils]: 27: Hoare triple {403#false} assume !false; {403#false} is VALID [2020-07-17 22:32:28,123 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-17 22:32:28,124 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-17 22:32:28,124 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [6] total 6 [2020-07-17 22:32:28,125 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [519840648] [2020-07-17 22:32:28,126 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 28 [2020-07-17 22:32:28,127 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:28,127 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-17 22:32:28,185 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-17 22:32:28,185 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-17 22:32:28,185 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:28,186 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-17 22:32:28,186 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2020-07-17 22:32:28,187 INFO L87 Difference]: Start difference. First operand 46 states and 49 transitions. Second operand 4 states. [2020-07-17 22:32:28,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:28,406 INFO L93 Difference]: Finished difference Result 64 states and 70 transitions. [2020-07-17 22:32:28,406 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-17 22:32:28,407 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 28 [2020-07-17 22:32:28,407 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:28,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:32:28,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 70 transitions. [2020-07-17 22:32:28,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:32:28,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 70 transitions. [2020-07-17 22:32:28,416 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 70 transitions. [2020-07-17 22:32:28,500 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-17 22:32:28,504 INFO L225 Difference]: With dead ends: 64 [2020-07-17 22:32:28,504 INFO L226 Difference]: Without dead ends: 50 [2020-07-17 22:32:28,505 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 35 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2020-07-17 22:32:28,506 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2020-07-17 22:32:28,561 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2020-07-17 22:32:28,562 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:28,562 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand 50 states. [2020-07-17 22:32:28,562 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 50 states. [2020-07-17 22:32:28,562 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 50 states. [2020-07-17 22:32:28,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:28,567 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2020-07-17 22:32:28,567 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2020-07-17 22:32:28,568 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:28,568 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:28,568 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 50 states. [2020-07-17 22:32:28,568 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 50 states. [2020-07-17 22:32:28,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:28,573 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2020-07-17 22:32:28,573 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2020-07-17 22:32:28,574 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:28,575 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:28,575 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:28,575 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:28,575 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2020-07-17 22:32:28,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 54 transitions. [2020-07-17 22:32:28,579 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 54 transitions. Word has length 28 [2020-07-17 22:32:28,579 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:28,579 INFO L479 AbstractCegarLoop]: Abstraction has 50 states and 54 transitions. [2020-07-17 22:32:28,580 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-17 22:32:28,580 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2020-07-17 22:32:28,581 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2020-07-17 22:32:28,581 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:28,581 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-17 22:32:28,797 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable1 [2020-07-17 22:32:28,797 INFO L427 AbstractCegarLoop]: === Iteration 3 === [fooErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:28,798 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:28,798 INFO L82 PathProgramCache]: Analyzing trace with hash -2088028185, now seen corresponding path program 1 times [2020-07-17 22:32:28,798 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:28,799 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [862006343] [2020-07-17 22:32:28,799 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:28,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:28,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:28,900 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-17 22:32:28,901 INFO L280 TraceCheckUtils]: 1: Hoare triple {770#true} assume true; {770#true} is VALID [2020-07-17 22:32:28,901 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {770#true} {770#true} #152#return; {770#true} is VALID [2020-07-17 22:32:28,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:28,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:28,952 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-17 22:32:28,953 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-17 22:32:28,953 INFO L280 TraceCheckUtils]: 2: Hoare triple {770#true} assume #t~mem24 == ~e;havoc #t~mem24;#res := 1; {770#true} is VALID [2020-07-17 22:32:28,953 INFO L280 TraceCheckUtils]: 3: Hoare triple {770#true} assume true; {770#true} is VALID [2020-07-17 22:32:28,953 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {770#true} {770#true} #134#return; {770#true} is VALID [2020-07-17 22:32:28,954 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-17 22:32:28,954 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-17 22:32:28,954 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-17 22:32:28,954 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-17 22:32:28,955 INFO L280 TraceCheckUtils]: 4: Hoare triple {770#true} assume #t~mem24 == ~e;havoc #t~mem24;#res := 1; {770#true} is VALID [2020-07-17 22:32:28,955 INFO L280 TraceCheckUtils]: 5: Hoare triple {770#true} assume true; {770#true} is VALID [2020-07-17 22:32:28,955 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {770#true} {770#true} #134#return; {770#true} is VALID [2020-07-17 22:32:28,955 INFO L280 TraceCheckUtils]: 7: Hoare triple {770#true} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647; {770#true} is VALID [2020-07-17 22:32:28,955 INFO L280 TraceCheckUtils]: 8: Hoare triple {770#true} assume !(0 == #t~ret16);havoc #t~ret16; {770#true} is VALID [2020-07-17 22:32:28,955 INFO L280 TraceCheckUtils]: 9: Hoare triple {770#true} assume true; {770#true} is VALID [2020-07-17 22:32:28,956 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {770#true} {770#true} #140#return; {770#true} is VALID [2020-07-17 22:32:28,960 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:28,982 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-17 22:32:28,982 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-17 22:32:28,983 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-17 22:32:28,984 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-17 22:32:28,985 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-17 22:32:28,987 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-17 22:32:28,987 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-17 22:32:28,987 INFO L280 TraceCheckUtils]: 2: Hoare triple {770#true} assume true; {770#true} is VALID [2020-07-17 22:32:28,988 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {770#true} {770#true} #152#return; {770#true} is VALID [2020-07-17 22:32:28,988 INFO L263 TraceCheckUtils]: 4: Hoare triple {770#true} call #t~ret28 := main(); {770#true} is VALID [2020-07-17 22:32:28,988 INFO L263 TraceCheckUtils]: 5: Hoare triple {770#true} call foo(); {770#true} is VALID [2020-07-17 22:32:28,988 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-17 22:32:28,990 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-17 22:32:28,991 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-17 22:32:28,991 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-17 22:32:28,991 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-17 22:32:28,991 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-17 22:32:28,992 INFO L280 TraceCheckUtils]: 12: Hoare triple {770#true} assume #t~mem24 == ~e;havoc #t~mem24;#res := 1; {770#true} is VALID [2020-07-17 22:32:28,992 INFO L280 TraceCheckUtils]: 13: Hoare triple {770#true} assume true; {770#true} is VALID [2020-07-17 22:32:28,992 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {770#true} {770#true} #134#return; {770#true} is VALID [2020-07-17 22:32:28,993 INFO L280 TraceCheckUtils]: 15: Hoare triple {770#true} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647; {770#true} is VALID [2020-07-17 22:32:28,993 INFO L280 TraceCheckUtils]: 16: Hoare triple {770#true} assume !(0 == #t~ret16);havoc #t~ret16; {770#true} is VALID [2020-07-17 22:32:28,993 INFO L280 TraceCheckUtils]: 17: Hoare triple {770#true} assume true; {770#true} is VALID [2020-07-17 22:32:28,993 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {770#true} {770#true} #140#return; {770#true} is VALID [2020-07-17 22:32:28,994 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-17 22:32:28,994 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-17 22:32:28,994 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-17 22:32:28,995 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-17 22:32:28,996 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-17 22:32:28,998 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-17 22:32:28,998 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-17 22:32:28,999 INFO L280 TraceCheckUtils]: 26: Hoare triple {791#(= |foo_#t~ret27| 0)} assume 0 != #t~ret27;havoc #t~ret27; {771#false} is VALID [2020-07-17 22:32:28,999 INFO L280 TraceCheckUtils]: 27: Hoare triple {771#false} assume !false; {771#false} is VALID [2020-07-17 22:32:29,001 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-17 22:32:29,001 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [862006343] [2020-07-17 22:32:29,002 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:32:29,002 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-17 22:32:29,002 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [740407420] [2020-07-17 22:32:29,003 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 28 [2020-07-17 22:32:29,003 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:29,003 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-17 22:32:29,034 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-17 22:32:29,034 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-17 22:32:29,035 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:29,035 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-17 22:32:29,035 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2020-07-17 22:32:29,035 INFO L87 Difference]: Start difference. First operand 50 states and 54 transitions. Second operand 6 states. [2020-07-17 22:32:29,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:29,929 INFO L93 Difference]: Finished difference Result 63 states and 67 transitions. [2020-07-17 22:32:29,929 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-17 22:32:29,929 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 28 [2020-07-17 22:32:29,929 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:29,930 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:32:29,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2020-07-17 22:32:29,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:32:29,936 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2020-07-17 22:32:29,936 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 65 transitions. [2020-07-17 22:32:30,078 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-17 22:32:30,081 INFO L225 Difference]: With dead ends: 63 [2020-07-17 22:32:30,081 INFO L226 Difference]: Without dead ends: 57 [2020-07-17 22:32:30,082 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-17 22:32:30,084 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2020-07-17 22:32:30,148 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 50. [2020-07-17 22:32:30,149 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:30,149 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 50 states. [2020-07-17 22:32:30,149 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 50 states. [2020-07-17 22:32:30,150 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 50 states. [2020-07-17 22:32:30,154 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:30,154 INFO L93 Difference]: Finished difference Result 57 states and 60 transitions. [2020-07-17 22:32:30,155 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 60 transitions. [2020-07-17 22:32:30,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:30,156 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:30,156 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 57 states. [2020-07-17 22:32:30,156 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 57 states. [2020-07-17 22:32:30,160 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:30,160 INFO L93 Difference]: Finished difference Result 57 states and 60 transitions. [2020-07-17 22:32:30,161 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 60 transitions. [2020-07-17 22:32:30,162 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:30,162 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:30,162 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:30,162 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:30,163 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2020-07-17 22:32:30,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 53 transitions. [2020-07-17 22:32:30,166 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 53 transitions. Word has length 28 [2020-07-17 22:32:30,166 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:30,166 INFO L479 AbstractCegarLoop]: Abstraction has 50 states and 53 transitions. [2020-07-17 22:32:30,166 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-17 22:32:30,167 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 53 transitions. [2020-07-17 22:32:30,168 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2020-07-17 22:32:30,168 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:30,168 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-17 22:32:30,168 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-17 22:32:30,168 INFO L427 AbstractCegarLoop]: === Iteration 4 === [fooErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:30,169 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:30,169 INFO L82 PathProgramCache]: Analyzing trace with hash -513424880, now seen corresponding path program 1 times [2020-07-17 22:32:30,169 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:30,170 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1355582974] [2020-07-17 22:32:30,170 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:30,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:30,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:30,334 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-17 22:32:30,335 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-17 22:32:30,336 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-17 22:32:30,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:30,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:30,471 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-17 22:32:30,472 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-17 22:32:30,473 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-17 22:32:30,474 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-17 22:32:30,475 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-17 22:32:30,480 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-17 22:32:30,481 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-17 22:32:30,484 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-17 22:32:30,486 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-17 22:32:30,487 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-17 22:32:30,487 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-17 22:32:30,489 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-17 22:32:30,490 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-17 22:32:30,491 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-17 22:32:30,492 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-17 22:32:30,493 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-17 22:32:30,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:30,501 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-17 22:32:30,502 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-17 22:32:30,502 INFO L280 TraceCheckUtils]: 2: Hoare triple {1076#true} assume #t~mem24 == ~e;havoc #t~mem24;#res := 1; {1076#true} is VALID [2020-07-17 22:32:30,502 INFO L280 TraceCheckUtils]: 3: Hoare triple {1076#true} assume true; {1076#true} is VALID [2020-07-17 22:32:30,502 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1076#true} {1077#false} #142#return; {1077#false} is VALID [2020-07-17 22:32:30,504 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-17 22:32:30,506 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-17 22:32:30,507 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-17 22:32:30,507 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-17 22:32:30,508 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-17 22:32:30,509 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-17 22:32:30,510 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-17 22:32:30,512 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-17 22:32:30,513 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-17 22:32:30,513 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-17 22:32:30,514 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-17 22:32:30,515 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-17 22:32:30,515 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-17 22:32:30,516 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-17 22:32:30,518 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-17 22:32:30,519 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-17 22:32:30,519 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-17 22:32:30,520 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-17 22:32:30,521 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-17 22:32:30,522 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-17 22:32:30,522 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-17 22:32:30,522 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-17 22:32:30,522 INFO L280 TraceCheckUtils]: 22: Hoare triple {1076#true} assume #t~mem24 == ~e;havoc #t~mem24;#res := 1; {1076#true} is VALID [2020-07-17 22:32:30,523 INFO L280 TraceCheckUtils]: 23: Hoare triple {1076#true} assume true; {1076#true} is VALID [2020-07-17 22:32:30,523 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {1076#true} {1077#false} #142#return; {1077#false} is VALID [2020-07-17 22:32:30,523 INFO L280 TraceCheckUtils]: 25: Hoare triple {1077#false} assume -2147483648 <= #t~ret27 && #t~ret27 <= 2147483647; {1077#false} is VALID [2020-07-17 22:32:30,523 INFO L280 TraceCheckUtils]: 26: Hoare triple {1077#false} assume 0 != #t~ret27;havoc #t~ret27; {1077#false} is VALID [2020-07-17 22:32:30,524 INFO L280 TraceCheckUtils]: 27: Hoare triple {1077#false} assume !false; {1077#false} is VALID [2020-07-17 22:32:30,528 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-17 22:32:30,528 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1355582974] [2020-07-17 22:32:30,528 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [524911007] [2020-07-17 22:32:30,529 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-17 22:32:30,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:30,632 INFO L264 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 47 conjunts are in the unsatisfiable core [2020-07-17 22:32:30,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:30,648 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:32:30,772 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-17 22:32:30,773 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:30,785 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:30,795 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-17 22:32:30,796 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:30,811 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:30,812 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-17 22:32:30,812 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:24, output treesize:10 [2020-07-17 22:32:30,817 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-17 22:32:30,818 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-17 22:32:30,818 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-17 22:32:31,053 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-17 22:32:31,067 INFO L263 TraceCheckUtils]: 0: Hoare triple {1076#true} call ULTIMATE.init(); {1076#true} is VALID [2020-07-17 22:32:31,069 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-17 22:32:31,070 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-17 22:32:31,070 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-17 22:32:31,071 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-17 22:32:31,072 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-17 22:32:31,073 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-17 22:32:31,074 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-17 22:32:31,075 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-17 22:32:31,076 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-17 22:32:31,077 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-17 22:32:31,078 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-17 22:32:31,079 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-17 22:32:31,081 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-17 22:32:31,083 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-17 22:32:31,084 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-17 22:32:31,086 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-17 22:32:31,088 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-17 22:32:31,094 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-17 22:32:31,095 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-17 22:32:31,095 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-17 22:32:31,096 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-17 22:32:31,096 INFO L280 TraceCheckUtils]: 22: Hoare triple {1077#false} assume #t~mem24 == ~e;havoc #t~mem24;#res := 1; {1077#false} is VALID [2020-07-17 22:32:31,096 INFO L280 TraceCheckUtils]: 23: Hoare triple {1077#false} assume true; {1077#false} is VALID [2020-07-17 22:32:31,096 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {1077#false} {1077#false} #142#return; {1077#false} is VALID [2020-07-17 22:32:31,097 INFO L280 TraceCheckUtils]: 25: Hoare triple {1077#false} assume -2147483648 <= #t~ret27 && #t~ret27 <= 2147483647; {1077#false} is VALID [2020-07-17 22:32:31,097 INFO L280 TraceCheckUtils]: 26: Hoare triple {1077#false} assume 0 != #t~ret27;havoc #t~ret27; {1077#false} is VALID [2020-07-17 22:32:31,097 INFO L280 TraceCheckUtils]: 27: Hoare triple {1077#false} assume !false; {1077#false} is VALID [2020-07-17 22:32:31,101 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-17 22:32:31,101 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-17 22:32:31,101 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [9] total 15 [2020-07-17 22:32:31,102 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [266454206] [2020-07-17 22:32:31,102 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 28 [2020-07-17 22:32:31,103 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:31,103 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-17 22:32:31,150 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-17 22:32:31,150 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-17 22:32:31,151 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:31,151 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-17 22:32:31,151 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=171, Unknown=0, NotChecked=0, Total=210 [2020-07-17 22:32:31,152 INFO L87 Difference]: Start difference. First operand 50 states and 53 transitions. Second operand 9 states. [2020-07-17 22:32:32,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:32,976 INFO L93 Difference]: Finished difference Result 95 states and 102 transitions. [2020-07-17 22:32:32,976 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-17 22:32:32,976 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 28 [2020-07-17 22:32:32,979 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:32,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:32:32,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 96 transitions. [2020-07-17 22:32:32,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:32:32,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 96 transitions. [2020-07-17 22:32:32,989 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 96 transitions. [2020-07-17 22:32:33,166 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-17 22:32:33,169 INFO L225 Difference]: With dead ends: 95 [2020-07-17 22:32:33,169 INFO L226 Difference]: Without dead ends: 73 [2020-07-17 22:32:33,170 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-17 22:32:33,171 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2020-07-17 22:32:33,251 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 52. [2020-07-17 22:32:33,251 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:33,252 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand 52 states. [2020-07-17 22:32:33,252 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 52 states. [2020-07-17 22:32:33,252 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 52 states. [2020-07-17 22:32:33,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:33,257 INFO L93 Difference]: Finished difference Result 73 states and 79 transitions. [2020-07-17 22:32:33,257 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 79 transitions. [2020-07-17 22:32:33,258 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:33,258 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:33,258 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 73 states. [2020-07-17 22:32:33,258 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 73 states. [2020-07-17 22:32:33,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:33,262 INFO L93 Difference]: Finished difference Result 73 states and 79 transitions. [2020-07-17 22:32:33,262 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 79 transitions. [2020-07-17 22:32:33,263 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:33,263 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:33,263 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:33,263 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:33,264 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2020-07-17 22:32:33,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 54 transitions. [2020-07-17 22:32:33,266 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 54 transitions. Word has length 28 [2020-07-17 22:32:33,266 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:33,266 INFO L479 AbstractCegarLoop]: Abstraction has 52 states and 54 transitions. [2020-07-17 22:32:33,266 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-17 22:32:33,267 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 54 transitions. [2020-07-17 22:32:33,268 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2020-07-17 22:32:33,268 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:33,268 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-17 22:32:33,482 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:32:33,483 INFO L427 AbstractCegarLoop]: === Iteration 5 === [fooErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:33,484 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:33,484 INFO L82 PathProgramCache]: Analyzing trace with hash 1823590536, now seen corresponding path program 1 times [2020-07-17 22:32:33,484 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:33,485 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [926134905] [2020-07-17 22:32:33,485 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:33,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-17 22:32:33,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-17 22:32:33,661 INFO L174 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2020-07-17 22:32:33,661 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-17 22:32:33,661 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-17 22:32:33,723 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-17 22:32:33,725 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-17 22:32:33,755 WARN L170 areAnnotationChecker]: ldv_list_addENTRY has no Hoare annotation [2020-07-17 22:32:33,755 WARN L170 areAnnotationChecker]: __ldv_list_delENTRY has no Hoare annotation [2020-07-17 22:32:33,755 WARN L170 areAnnotationChecker]: fooENTRY has no Hoare annotation [2020-07-17 22:32:33,755 WARN L170 areAnnotationChecker]: __bswap_32ENTRY has no Hoare annotation [2020-07-17 22:32:33,755 WARN L170 areAnnotationChecker]: __bswap_64ENTRY has no Hoare annotation [2020-07-17 22:32:33,755 WARN L170 areAnnotationChecker]: assume_abort_if_notENTRY has no Hoare annotation [2020-07-17 22:32:33,756 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-17 22:32:33,756 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-17 22:32:33,756 WARN L170 areAnnotationChecker]: LDV_INIT_LIST_HEADENTRY has no Hoare annotation [2020-07-17 22:32:33,756 WARN L170 areAnnotationChecker]: ldv_list_delENTRY has no Hoare annotation [2020-07-17 22:32:33,756 WARN L170 areAnnotationChecker]: ldv_list_emptyENTRY has no Hoare annotation [2020-07-17 22:32:33,756 WARN L170 areAnnotationChecker]: ldv_successful_mallocENTRY has no Hoare annotation [2020-07-17 22:32:33,756 WARN L170 areAnnotationChecker]: __ldv_list_addENTRY has no Hoare annotation [2020-07-17 22:32:33,756 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-17 22:32:33,757 WARN L170 areAnnotationChecker]: ldv_mallocENTRY has no Hoare annotation [2020-07-17 22:32:33,757 WARN L170 areAnnotationChecker]: ldv_set_emptyENTRY has no Hoare annotation [2020-07-17 22:32:33,757 WARN L170 areAnnotationChecker]: ldv_list_add_tailENTRY has no Hoare annotation [2020-07-17 22:32:33,757 WARN L170 areAnnotationChecker]: ldv_set_delENTRY has no Hoare annotation [2020-07-17 22:32:33,757 WARN L170 areAnnotationChecker]: ldv_init_setENTRY has no Hoare annotation [2020-07-17 22:32:33,757 WARN L170 areAnnotationChecker]: ldv_set_addENTRY has no Hoare annotation [2020-07-17 22:32:33,757 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-17 22:32:33,757 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-17 22:32:33,757 WARN L170 areAnnotationChecker]: ldv_is_in_setENTRY has no Hoare annotation [2020-07-17 22:32:33,758 WARN L170 areAnnotationChecker]: L594 has no Hoare annotation [2020-07-17 22:32:33,758 WARN L170 areAnnotationChecker]: L594 has no Hoare annotation [2020-07-17 22:32:33,758 WARN L170 areAnnotationChecker]: __ldv_list_delFINAL has no Hoare annotation [2020-07-17 22:32:33,758 WARN L170 areAnnotationChecker]: L655 has no Hoare annotation [2020-07-17 22:32:33,758 WARN L170 areAnnotationChecker]: L655 has no Hoare annotation [2020-07-17 22:32:33,758 WARN L170 areAnnotationChecker]: __bswap_32FINAL has no Hoare annotation [2020-07-17 22:32:33,758 WARN L170 areAnnotationChecker]: __bswap_64FINAL has no Hoare annotation [2020-07-17 22:32:33,758 WARN L170 areAnnotationChecker]: L554 has no Hoare annotation [2020-07-17 22:32:33,758 WARN L170 areAnnotationChecker]: L554 has no Hoare annotation [2020-07-17 22:32:33,758 WARN L170 areAnnotationChecker]: L660 has no Hoare annotation [2020-07-17 22:32:33,759 WARN L170 areAnnotationChecker]: LDV_INIT_LIST_HEADFINAL has no Hoare annotation [2020-07-17 22:32:33,759 WARN L170 areAnnotationChecker]: L602 has no Hoare annotation [2020-07-17 22:32:33,759 WARN L170 areAnnotationChecker]: L602 has no Hoare annotation [2020-07-17 22:32:33,759 WARN L170 areAnnotationChecker]: ldv_list_emptyFINAL has no Hoare annotation [2020-07-17 22:32:33,759 WARN L170 areAnnotationChecker]: L566 has no Hoare annotation [2020-07-17 22:32:33,759 WARN L170 areAnnotationChecker]: L566 has no Hoare annotation [2020-07-17 22:32:33,759 WARN L170 areAnnotationChecker]: __ldv_list_addFINAL has no Hoare annotation [2020-07-17 22:32:33,759 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-17 22:32:33,759 WARN L170 areAnnotationChecker]: L558 has no Hoare annotation [2020-07-17 22:32:33,759 WARN L170 areAnnotationChecker]: L558 has no Hoare annotation [2020-07-17 22:32:33,760 WARN L170 areAnnotationChecker]: L649 has no Hoare annotation [2020-07-17 22:32:33,760 WARN L170 areAnnotationChecker]: L649 has no Hoare annotation [2020-07-17 22:32:33,760 WARN L170 areAnnotationChecker]: L598 has no Hoare annotation [2020-07-17 22:32:33,760 WARN L170 areAnnotationChecker]: L598 has no Hoare annotation [2020-07-17 22:32:33,760 WARN L170 areAnnotationChecker]: L632-3 has no Hoare annotation [2020-07-17 22:32:33,760 WARN L170 areAnnotationChecker]: L632-3 has no Hoare annotation [2020-07-17 22:32:33,760 WARN L170 areAnnotationChecker]: L632-3 has no Hoare annotation [2020-07-17 22:32:33,760 WARN L170 areAnnotationChecker]: L615 has no Hoare annotation [2020-07-17 22:32:33,761 WARN L170 areAnnotationChecker]: L615 has no Hoare annotation [2020-07-17 22:32:33,761 WARN L170 areAnnotationChecker]: L622 has no Hoare annotation [2020-07-17 22:32:33,761 WARN L170 areAnnotationChecker]: L622 has no Hoare annotation [2020-07-17 22:32:33,761 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-17 22:32:33,761 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-17 22:32:33,761 WARN L170 areAnnotationChecker]: L641-3 has no Hoare annotation [2020-07-17 22:32:33,761 WARN L170 areAnnotationChecker]: L641-3 has no Hoare annotation [2020-07-17 22:32:33,761 WARN L170 areAnnotationChecker]: L641-3 has no Hoare annotation [2020-07-17 22:32:33,761 WARN L170 areAnnotationChecker]: L594-1 has no Hoare annotation [2020-07-17 22:32:33,761 WARN L170 areAnnotationChecker]: __ldv_list_delEXIT has no Hoare annotation [2020-07-17 22:32:33,762 WARN L170 areAnnotationChecker]: L655-1 has no Hoare annotation [2020-07-17 22:32:33,762 WARN L170 areAnnotationChecker]: L655-1 has no Hoare annotation [2020-07-17 22:32:33,762 WARN L170 areAnnotationChecker]: L554-2 has no Hoare annotation [2020-07-17 22:32:33,762 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-17 22:32:33,762 WARN L170 areAnnotationChecker]: LDV_INIT_LIST_HEADEXIT has no Hoare annotation [2020-07-17 22:32:33,762 WARN L170 areAnnotationChecker]: L602-1 has no Hoare annotation [2020-07-17 22:32:33,762 WARN L170 areAnnotationChecker]: ldv_list_emptyEXIT has no Hoare annotation [2020-07-17 22:32:33,762 WARN L170 areAnnotationChecker]: L566-1 has no Hoare annotation [2020-07-17 22:32:33,762 WARN L170 areAnnotationChecker]: __ldv_list_addEXIT has no Hoare annotation [2020-07-17 22:32:33,763 WARN L170 areAnnotationChecker]: __ldv_list_addEXIT has no Hoare annotation [2020-07-17 22:32:33,763 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-17 22:32:33,763 WARN L170 areAnnotationChecker]: ldv_mallocFINAL has no Hoare annotation [2020-07-17 22:32:33,763 WARN L170 areAnnotationChecker]: L649-1 has no Hoare annotation [2020-07-17 22:32:33,763 WARN L170 areAnnotationChecker]: L598-1 has no Hoare annotation [2020-07-17 22:32:33,763 WARN L170 areAnnotationChecker]: L632-4 has no Hoare annotation [2020-07-17 22:32:33,763 WARN L170 areAnnotationChecker]: L633 has no Hoare annotation [2020-07-17 22:32:33,763 WARN L170 areAnnotationChecker]: L633 has no Hoare annotation [2020-07-17 22:32:33,764 WARN L170 areAnnotationChecker]: ldv_init_setFINAL has no Hoare annotation [2020-07-17 22:32:33,764 WARN L170 areAnnotationChecker]: L622-1 has no Hoare annotation [2020-07-17 22:32:33,764 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-17 22:32:33,764 WARN L170 areAnnotationChecker]: L641-4 has no Hoare annotation [2020-07-17 22:32:33,764 WARN L170 areAnnotationChecker]: L642 has no Hoare annotation [2020-07-17 22:32:33,764 WARN L170 areAnnotationChecker]: L642 has no Hoare annotation [2020-07-17 22:32:33,764 WARN L170 areAnnotationChecker]: ldv_list_addFINAL has no Hoare annotation [2020-07-17 22:32:33,764 WARN L170 areAnnotationChecker]: L656 has no Hoare annotation [2020-07-17 22:32:33,764 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2020-07-17 22:32:33,764 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-17 22:32:33,765 WARN L170 areAnnotationChecker]: ldv_list_delFINAL has no Hoare annotation [2020-07-17 22:32:33,765 WARN L170 areAnnotationChecker]: ldv_successful_mallocFINAL has no Hoare annotation [2020-07-17 22:32:33,765 WARN L170 areAnnotationChecker]: ldv_set_emptyFINAL has no Hoare annotation [2020-07-17 22:32:33,765 WARN L170 areAnnotationChecker]: ldv_list_add_tailFINAL has no Hoare annotation [2020-07-17 22:32:33,765 WARN L170 areAnnotationChecker]: L634 has no Hoare annotation [2020-07-17 22:32:33,765 WARN L170 areAnnotationChecker]: L634 has no Hoare annotation [2020-07-17 22:32:33,765 WARN L170 areAnnotationChecker]: L632-2 has no Hoare annotation [2020-07-17 22:32:33,765 WARN L170 areAnnotationChecker]: L622-2 has no Hoare annotation [2020-07-17 22:32:33,765 WARN L170 areAnnotationChecker]: L622-2 has no Hoare annotation [2020-07-17 22:32:33,766 WARN L170 areAnnotationChecker]: ldv_is_in_setFINAL has no Hoare annotation [2020-07-17 22:32:33,766 WARN L170 areAnnotationChecker]: L641-2 has no Hoare annotation [2020-07-17 22:32:33,766 WARN L170 areAnnotationChecker]: ldv_list_addEXIT has no Hoare annotation [2020-07-17 22:32:33,766 WARN L170 areAnnotationChecker]: L656-1 has no Hoare annotation [2020-07-17 22:32:33,766 WARN L170 areAnnotationChecker]: L656-1 has no Hoare annotation [2020-07-17 22:32:33,766 WARN L170 areAnnotationChecker]: ldv_list_delEXIT has no Hoare annotation [2020-07-17 22:32:33,766 WARN L170 areAnnotationChecker]: ldv_successful_mallocEXIT has no Hoare annotation [2020-07-17 22:32:33,766 WARN L170 areAnnotationChecker]: L634-1 has no Hoare annotation [2020-07-17 22:32:33,766 WARN L170 areAnnotationChecker]: L624 has no Hoare annotation [2020-07-17 22:32:33,767 WARN L170 areAnnotationChecker]: L624 has no Hoare annotation [2020-07-17 22:32:33,767 WARN L170 areAnnotationChecker]: L622-3 has no Hoare annotation [2020-07-17 22:32:33,767 WARN L170 areAnnotationChecker]: ldv_is_in_setEXIT has no Hoare annotation [2020-07-17 22:32:33,767 WARN L170 areAnnotationChecker]: ldv_is_in_setEXIT has no Hoare annotation [2020-07-17 22:32:33,767 WARN L170 areAnnotationChecker]: L656-2 has no Hoare annotation [2020-07-17 22:32:33,767 WARN L170 areAnnotationChecker]: L656-2 has no Hoare annotation [2020-07-17 22:32:33,767 WARN L170 areAnnotationChecker]: L656-4 has no Hoare annotation [2020-07-17 22:32:33,767 WARN L170 areAnnotationChecker]: L624-1 has no Hoare annotation [2020-07-17 22:32:33,768 WARN L170 areAnnotationChecker]: ldv_set_addEXIT has no Hoare annotation [2020-07-17 22:32:33,768 WARN L170 areAnnotationChecker]: fooEXIT has no Hoare annotation [2020-07-17 22:32:33,768 WARN L170 areAnnotationChecker]: L626 has no Hoare annotation [2020-07-17 22:32:33,768 WARN L170 areAnnotationChecker]: L626 has no Hoare annotation [2020-07-17 22:32:33,768 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-17 22:32:33,771 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 17.07 10:32:33 BoogieIcfgContainer [2020-07-17 22:32:33,771 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-17 22:32:33,773 INFO L168 Benchmark]: Toolchain (without parser) took 9748.59 ms. Allocated memory was 137.4 MB in the beginning and 334.5 MB in the end (delta: 197.1 MB). Free memory was 99.6 MB in the beginning and 225.6 MB in the end (delta: -126.0 MB). Peak memory consumption was 71.1 MB. Max. memory is 7.1 GB. [2020-07-17 22:32:33,774 INFO L168 Benchmark]: CDTParser took 0.22 ms. Allocated memory is still 137.4 MB. Free memory was 119.2 MB in the beginning and 119.0 MB in the end (delta: 210.1 kB). Peak memory consumption was 210.1 kB. Max. memory is 7.1 GB. [2020-07-17 22:32:33,775 INFO L168 Benchmark]: CACSL2BoogieTranslator took 802.23 ms. Allocated memory was 137.4 MB in the beginning and 202.9 MB in the end (delta: 65.5 MB). Free memory was 99.2 MB in the beginning and 163.6 MB in the end (delta: -64.4 MB). Peak memory consumption was 26.0 MB. Max. memory is 7.1 GB. [2020-07-17 22:32:33,776 INFO L168 Benchmark]: Boogie Preprocessor took 95.83 ms. Allocated memory is still 202.9 MB. Free memory was 163.6 MB in the beginning and 159.4 MB in the end (delta: 4.2 MB). Peak memory consumption was 4.2 MB. Max. memory is 7.1 GB. [2020-07-17 22:32:33,777 INFO L168 Benchmark]: RCFGBuilder took 962.73 ms. Allocated memory was 202.9 MB in the beginning and 233.3 MB in the end (delta: 30.4 MB). Free memory was 159.4 MB in the beginning and 198.8 MB in the end (delta: -39.4 MB). Peak memory consumption was 78.6 MB. Max. memory is 7.1 GB. [2020-07-17 22:32:33,778 INFO L168 Benchmark]: TraceAbstraction took 7880.42 ms. Allocated memory was 233.3 MB in the beginning and 334.5 MB in the end (delta: 101.2 MB). Free memory was 198.8 MB in the beginning and 225.6 MB in the end (delta: -26.8 MB). Peak memory consumption was 74.4 MB. Max. memory is 7.1 GB. [2020-07-17 22:32:33,781 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.22 ms. Allocated memory is still 137.4 MB. Free memory was 119.2 MB in the beginning and 119.0 MB in the end (delta: 210.1 kB). Peak memory consumption was 210.1 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 802.23 ms. Allocated memory was 137.4 MB in the beginning and 202.9 MB in the end (delta: 65.5 MB). Free memory was 99.2 MB in the beginning and 163.6 MB in the end (delta: -64.4 MB). Peak memory consumption was 26.0 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 95.83 ms. Allocated memory is still 202.9 MB. Free memory was 163.6 MB in the beginning and 159.4 MB in the end (delta: 4.2 MB). Peak memory consumption was 4.2 MB. Max. memory is 7.1 GB. * RCFGBuilder took 962.73 ms. Allocated memory was 202.9 MB in the beginning and 233.3 MB in the end (delta: 30.4 MB). Free memory was 159.4 MB in the beginning and 198.8 MB in the end (delta: -39.4 MB). Peak memory consumption was 78.6 MB. Max. memory is 7.1 GB. * TraceAbstraction took 7880.42 ms. Allocated memory was 233.3 MB in the beginning and 334.5 MB in the end (delta: 101.2 MB). Free memory was 198.8 MB in the beginning and 225.6 MB in the end (delta: -26.8 MB). Peak memory consumption was 74.4 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - 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# - 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# * 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.4s, 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.5s 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...