/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-regression/rule60_list2.c_1.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-267fbe0 [2020-07-17 22:29:01,765 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-17 22:29:01,769 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-17 22:29:01,787 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-17 22:29:01,788 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-17 22:29:01,790 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-17 22:29:01,792 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-17 22:29:01,806 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-17 22:29:01,808 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-17 22:29:01,810 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-17 22:29:01,811 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-17 22:29:01,813 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-17 22:29:01,814 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-17 22:29:01,817 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-17 22:29:01,819 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-17 22:29:01,822 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-17 22:29:01,825 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-17 22:29:01,826 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-17 22:29:01,827 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-17 22:29:01,834 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-17 22:29:01,839 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-17 22:29:01,840 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-17 22:29:01,842 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-17 22:29:01,842 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-17 22:29:01,845 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-17 22:29:01,845 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-17 22:29:01,845 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-17 22:29:01,849 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-17 22:29:01,849 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-17 22:29:01,850 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-17 22:29:01,850 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-17 22:29:01,851 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-17 22:29:01,853 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-17 22:29:01,853 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-17 22:29:01,856 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-17 22:29:01,856 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-17 22:29:01,859 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-17 22:29:01,859 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-17 22:29:01,859 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-17 22:29:01,860 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-17 22:29:01,862 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-17 22:29:01,863 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:29:01,886 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-17 22:29:01,887 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-17 22:29:01,888 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-17 22:29:01,889 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-17 22:29:01,889 INFO L138 SettingsManager]: * Use SBE=true [2020-07-17 22:29:01,890 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-17 22:29:01,890 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-17 22:29:01,890 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-17 22:29:01,891 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-17 22:29:01,891 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-17 22:29:01,892 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-17 22:29:01,892 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-17 22:29:01,892 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-17 22:29:01,893 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-17 22:29:01,893 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-17 22:29:01,893 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-17 22:29:01,893 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-17 22:29:01,894 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-17 22:29:01,894 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-17 22:29:01,894 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-17 22:29:01,894 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-17 22:29:01,894 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-17 22:29:01,895 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-17 22:29:01,896 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-17 22:29:01,896 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-17 22:29:01,896 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-17 22:29:01,896 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-17 22:29:01,897 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-17 22:29:01,897 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-17 22:29:01,897 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-17 22:29:02,226 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-17 22:29:02,237 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-17 22:29:02,240 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-17 22:29:02,241 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-17 22:29:02,242 INFO L275 PluginConnector]: CDTParser initialized [2020-07-17 22:29:02,242 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/ldv-regression/rule60_list2.c_1.i [2020-07-17 22:29:02,307 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d8b3a1539/9cdebf1af1e94b5d9951aa736d827192/FLAG304ee4a02 [2020-07-17 22:29:02,809 INFO L306 CDTParser]: Found 1 translation units. [2020-07-17 22:29:02,809 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ldv-regression/rule60_list2.c_1.i [2020-07-17 22:29:02,826 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d8b3a1539/9cdebf1af1e94b5d9951aa736d827192/FLAG304ee4a02 [2020-07-17 22:29:03,178 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d8b3a1539/9cdebf1af1e94b5d9951aa736d827192 [2020-07-17 22:29:03,189 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-17 22:29:03,192 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-17 22:29:03,193 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-17 22:29:03,193 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-17 22:29:03,197 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-17 22:29:03,199 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.07 10:29:03" (1/1) ... [2020-07-17 22:29:03,202 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@44a8793 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:29:03, skipping insertion in model container [2020-07-17 22:29:03,202 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.07 10:29:03" (1/1) ... [2020-07-17 22:29:03,210 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-17 22:29:03,255 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-17 22:29:03,703 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-17 22:29:03,712 INFO L203 MainTranslator]: Completed pre-run [2020-07-17 22:29:03,798 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-17 22:29:03,862 INFO L208 MainTranslator]: Completed translation [2020-07-17 22:29:03,862 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:29:03 WrapperNode [2020-07-17 22:29:03,863 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-17 22:29:03,863 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-17 22:29:03,864 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-17 22:29:03,864 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-17 22:29:03,877 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:29:03" (1/1) ... [2020-07-17 22:29:03,878 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:29:03" (1/1) ... [2020-07-17 22:29:03,893 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:29:03" (1/1) ... [2020-07-17 22:29:03,894 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:29:03" (1/1) ... [2020-07-17 22:29:03,916 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:29:03" (1/1) ... [2020-07-17 22:29:03,918 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:29:03" (1/1) ... [2020-07-17 22:29:03,922 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:29:03" (1/1) ... [2020-07-17 22:29:03,929 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-17 22:29:03,929 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-17 22:29:03,930 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-17 22:29:03,930 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-17 22:29:03,931 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:29:03" (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:29:03,990 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-17 22:29:03,990 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-17 22:29:03,990 INFO L138 BoogieDeclarations]: Found implementation of procedure __blast_assert [2020-07-17 22:29:03,991 INFO L138 BoogieDeclarations]: Found implementation of procedure __getMemory [2020-07-17 22:29:03,991 INFO L138 BoogieDeclarations]: Found implementation of procedure my_malloc [2020-07-17 22:29:03,991 INFO L138 BoogieDeclarations]: Found implementation of procedure list_add [2020-07-17 22:29:03,991 INFO L138 BoogieDeclarations]: Found implementation of procedure list_del [2020-07-17 22:29:03,991 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-17 22:29:03,991 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-17 22:29:03,991 INFO L130 BoogieDeclarations]: Found specification of procedure __blast_assert [2020-07-17 22:29:03,991 INFO L130 BoogieDeclarations]: Found specification of procedure __underflow [2020-07-17 22:29:03,992 INFO L130 BoogieDeclarations]: Found specification of procedure __uflow [2020-07-17 22:29:03,992 INFO L130 BoogieDeclarations]: Found specification of procedure __overflow [2020-07-17 22:29:03,992 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_getc [2020-07-17 22:29:03,992 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_putc [2020-07-17 22:29:03,992 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_feof [2020-07-17 22:29:03,992 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_ferror [2020-07-17 22:29:03,993 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_peekc_locked [2020-07-17 22:29:03,993 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_flockfile [2020-07-17 22:29:03,993 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_funlockfile [2020-07-17 22:29:03,993 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_ftrylockfile [2020-07-17 22:29:03,993 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_vfscanf [2020-07-17 22:29:03,993 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_vfprintf [2020-07-17 22:29:03,993 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_padn [2020-07-17 22:29:03,994 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_sgetn [2020-07-17 22:29:03,994 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_seekoff [2020-07-17 22:29:03,994 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_seekpos [2020-07-17 22:29:03,994 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_free_backup_area [2020-07-17 22:29:03,994 INFO L130 BoogieDeclarations]: Found specification of procedure remove [2020-07-17 22:29:03,994 INFO L130 BoogieDeclarations]: Found specification of procedure rename [2020-07-17 22:29:03,994 INFO L130 BoogieDeclarations]: Found specification of procedure renameat [2020-07-17 22:29:03,994 INFO L130 BoogieDeclarations]: Found specification of procedure tmpfile [2020-07-17 22:29:03,995 INFO L130 BoogieDeclarations]: Found specification of procedure tmpnam [2020-07-17 22:29:03,995 INFO L130 BoogieDeclarations]: Found specification of procedure tmpnam_r [2020-07-17 22:29:03,995 INFO L130 BoogieDeclarations]: Found specification of procedure tempnam [2020-07-17 22:29:03,995 INFO L130 BoogieDeclarations]: Found specification of procedure fclose [2020-07-17 22:29:03,995 INFO L130 BoogieDeclarations]: Found specification of procedure fflush [2020-07-17 22:29:03,995 INFO L130 BoogieDeclarations]: Found specification of procedure fflush_unlocked [2020-07-17 22:29:03,995 INFO L130 BoogieDeclarations]: Found specification of procedure fopen [2020-07-17 22:29:03,995 INFO L130 BoogieDeclarations]: Found specification of procedure freopen [2020-07-17 22:29:03,995 INFO L130 BoogieDeclarations]: Found specification of procedure fdopen [2020-07-17 22:29:03,996 INFO L130 BoogieDeclarations]: Found specification of procedure fmemopen [2020-07-17 22:29:03,996 INFO L130 BoogieDeclarations]: Found specification of procedure open_memstream [2020-07-17 22:29:03,996 INFO L130 BoogieDeclarations]: Found specification of procedure setbuf [2020-07-17 22:29:03,996 INFO L130 BoogieDeclarations]: Found specification of procedure setvbuf [2020-07-17 22:29:03,996 INFO L130 BoogieDeclarations]: Found specification of procedure setbuffer [2020-07-17 22:29:03,996 INFO L130 BoogieDeclarations]: Found specification of procedure setlinebuf [2020-07-17 22:29:03,996 INFO L130 BoogieDeclarations]: Found specification of procedure fprintf [2020-07-17 22:29:03,996 INFO L130 BoogieDeclarations]: Found specification of procedure printf [2020-07-17 22:29:03,996 INFO L130 BoogieDeclarations]: Found specification of procedure sprintf [2020-07-17 22:29:03,996 INFO L130 BoogieDeclarations]: Found specification of procedure vfprintf [2020-07-17 22:29:03,997 INFO L130 BoogieDeclarations]: Found specification of procedure vprintf [2020-07-17 22:29:03,997 INFO L130 BoogieDeclarations]: Found specification of procedure vsprintf [2020-07-17 22:29:03,997 INFO L130 BoogieDeclarations]: Found specification of procedure snprintf [2020-07-17 22:29:03,997 INFO L130 BoogieDeclarations]: Found specification of procedure vsnprintf [2020-07-17 22:29:03,997 INFO L130 BoogieDeclarations]: Found specification of procedure vdprintf [2020-07-17 22:29:03,997 INFO L130 BoogieDeclarations]: Found specification of procedure dprintf [2020-07-17 22:29:03,997 INFO L130 BoogieDeclarations]: Found specification of procedure fscanf [2020-07-17 22:29:03,997 INFO L130 BoogieDeclarations]: Found specification of procedure scanf [2020-07-17 22:29:03,998 INFO L130 BoogieDeclarations]: Found specification of procedure sscanf [2020-07-17 22:29:03,998 INFO L130 BoogieDeclarations]: Found specification of procedure vfscanf [2020-07-17 22:29:03,998 INFO L130 BoogieDeclarations]: Found specification of procedure vscanf [2020-07-17 22:29:03,998 INFO L130 BoogieDeclarations]: Found specification of procedure vsscanf [2020-07-17 22:29:03,998 INFO L130 BoogieDeclarations]: Found specification of procedure fgetc [2020-07-17 22:29:03,998 INFO L130 BoogieDeclarations]: Found specification of procedure getc [2020-07-17 22:29:03,999 INFO L130 BoogieDeclarations]: Found specification of procedure getchar [2020-07-17 22:29:03,999 INFO L130 BoogieDeclarations]: Found specification of procedure getc_unlocked [2020-07-17 22:29:03,999 INFO L130 BoogieDeclarations]: Found specification of procedure getchar_unlocked [2020-07-17 22:29:03,999 INFO L130 BoogieDeclarations]: Found specification of procedure fgetc_unlocked [2020-07-17 22:29:03,999 INFO L130 BoogieDeclarations]: Found specification of procedure fputc [2020-07-17 22:29:03,999 INFO L130 BoogieDeclarations]: Found specification of procedure putc [2020-07-17 22:29:03,999 INFO L130 BoogieDeclarations]: Found specification of procedure putchar [2020-07-17 22:29:04,000 INFO L130 BoogieDeclarations]: Found specification of procedure fputc_unlocked [2020-07-17 22:29:04,000 INFO L130 BoogieDeclarations]: Found specification of procedure putc_unlocked [2020-07-17 22:29:04,000 INFO L130 BoogieDeclarations]: Found specification of procedure putchar_unlocked [2020-07-17 22:29:04,000 INFO L130 BoogieDeclarations]: Found specification of procedure getw [2020-07-17 22:29:04,000 INFO L130 BoogieDeclarations]: Found specification of procedure putw [2020-07-17 22:29:04,000 INFO L130 BoogieDeclarations]: Found specification of procedure fgets [2020-07-17 22:29:04,001 INFO L130 BoogieDeclarations]: Found specification of procedure gets [2020-07-17 22:29:04,001 INFO L130 BoogieDeclarations]: Found specification of procedure __getdelim [2020-07-17 22:29:04,001 INFO L130 BoogieDeclarations]: Found specification of procedure getdelim [2020-07-17 22:29:04,001 INFO L130 BoogieDeclarations]: Found specification of procedure getline [2020-07-17 22:29:04,001 INFO L130 BoogieDeclarations]: Found specification of procedure fputs [2020-07-17 22:29:04,001 INFO L130 BoogieDeclarations]: Found specification of procedure puts [2020-07-17 22:29:04,001 INFO L130 BoogieDeclarations]: Found specification of procedure ungetc [2020-07-17 22:29:04,002 INFO L130 BoogieDeclarations]: Found specification of procedure fread [2020-07-17 22:29:04,002 INFO L130 BoogieDeclarations]: Found specification of procedure fwrite [2020-07-17 22:29:04,002 INFO L130 BoogieDeclarations]: Found specification of procedure fread_unlocked [2020-07-17 22:29:04,002 INFO L130 BoogieDeclarations]: Found specification of procedure fwrite_unlocked [2020-07-17 22:29:04,002 INFO L130 BoogieDeclarations]: Found specification of procedure fseek [2020-07-17 22:29:04,002 INFO L130 BoogieDeclarations]: Found specification of procedure ftell [2020-07-17 22:29:04,003 INFO L130 BoogieDeclarations]: Found specification of procedure rewind [2020-07-17 22:29:04,003 INFO L130 BoogieDeclarations]: Found specification of procedure fseeko [2020-07-17 22:29:04,003 INFO L130 BoogieDeclarations]: Found specification of procedure ftello [2020-07-17 22:29:04,003 INFO L130 BoogieDeclarations]: Found specification of procedure fgetpos [2020-07-17 22:29:04,003 INFO L130 BoogieDeclarations]: Found specification of procedure fsetpos [2020-07-17 22:29:04,003 INFO L130 BoogieDeclarations]: Found specification of procedure clearerr [2020-07-17 22:29:04,003 INFO L130 BoogieDeclarations]: Found specification of procedure feof [2020-07-17 22:29:04,004 INFO L130 BoogieDeclarations]: Found specification of procedure ferror [2020-07-17 22:29:04,004 INFO L130 BoogieDeclarations]: Found specification of procedure clearerr_unlocked [2020-07-17 22:29:04,004 INFO L130 BoogieDeclarations]: Found specification of procedure feof_unlocked [2020-07-17 22:29:04,004 INFO L130 BoogieDeclarations]: Found specification of procedure ferror_unlocked [2020-07-17 22:29:04,004 INFO L130 BoogieDeclarations]: Found specification of procedure perror [2020-07-17 22:29:04,004 INFO L130 BoogieDeclarations]: Found specification of procedure fileno [2020-07-17 22:29:04,005 INFO L130 BoogieDeclarations]: Found specification of procedure fileno_unlocked [2020-07-17 22:29:04,005 INFO L130 BoogieDeclarations]: Found specification of procedure popen [2020-07-17 22:29:04,005 INFO L130 BoogieDeclarations]: Found specification of procedure pclose [2020-07-17 22:29:04,005 INFO L130 BoogieDeclarations]: Found specification of procedure ctermid [2020-07-17 22:29:04,005 INFO L130 BoogieDeclarations]: Found specification of procedure flockfile [2020-07-17 22:29:04,005 INFO L130 BoogieDeclarations]: Found specification of procedure ftrylockfile [2020-07-17 22:29:04,005 INFO L130 BoogieDeclarations]: Found specification of procedure funlockfile [2020-07-17 22:29:04,006 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-17 22:29:04,006 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-17 22:29:04,006 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-17 22:29:04,006 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-17 22:29:04,006 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-17 22:29:04,006 INFO L130 BoogieDeclarations]: Found specification of procedure memalign [2020-07-17 22:29:04,006 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-17 22:29:04,007 INFO L130 BoogieDeclarations]: Found specification of procedure pvalloc [2020-07-17 22:29:04,007 INFO L130 BoogieDeclarations]: Found specification of procedure __default_morecore [2020-07-17 22:29:04,007 INFO L130 BoogieDeclarations]: Found specification of procedure mallinfo [2020-07-17 22:29:04,007 INFO L130 BoogieDeclarations]: Found specification of procedure mallopt [2020-07-17 22:29:04,007 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_trim [2020-07-17 22:29:04,007 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_usable_size [2020-07-17 22:29:04,007 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_stats [2020-07-17 22:29:04,008 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_info [2020-07-17 22:29:04,008 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_get_state [2020-07-17 22:29:04,008 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_set_state [2020-07-17 22:29:04,008 INFO L130 BoogieDeclarations]: Found specification of procedure __malloc_check_init [2020-07-17 22:29:04,008 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-17 22:29:04,008 INFO L130 BoogieDeclarations]: Found specification of procedure __getMemory [2020-07-17 22:29:04,009 INFO L130 BoogieDeclarations]: Found specification of procedure my_malloc [2020-07-17 22:29:04,009 INFO L130 BoogieDeclarations]: Found specification of procedure list_add [2020-07-17 22:29:04,009 INFO L130 BoogieDeclarations]: Found specification of procedure list_del [2020-07-17 22:29:04,009 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-17 22:29:04,009 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-17 22:29:04,009 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-17 22:29:04,009 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2020-07-17 22:29:04,010 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-17 22:29:04,010 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-17 22:29:04,010 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-17 22:29:04,010 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-17 22:29:04,669 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-17 22:29:04,669 INFO L295 CfgBuilder]: Removed 0 assume(true) statements. [2020-07-17 22:29:04,674 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.07 10:29:04 BoogieIcfgContainer [2020-07-17 22:29:04,674 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-17 22:29:04,675 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-17 22:29:04,675 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-17 22:29:04,679 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-17 22:29:04,679 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 17.07 10:29:03" (1/3) ... [2020-07-17 22:29:04,680 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@46b3f680 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.07 10:29:04, skipping insertion in model container [2020-07-17 22:29:04,680 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:29:03" (2/3) ... [2020-07-17 22:29:04,681 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@46b3f680 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.07 10:29:04, skipping insertion in model container [2020-07-17 22:29:04,681 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.07 10:29:04" (3/3) ... [2020-07-17 22:29:04,683 INFO L109 eAbstractionObserver]: Analyzing ICFG rule60_list2.c_1.i [2020-07-17 22:29:04,695 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-17 22:29:04,704 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-17 22:29:04,719 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-17 22:29:04,740 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-17 22:29:04,741 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-17 22:29:04,741 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-17 22:29:04,741 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-17 22:29:04,741 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-17 22:29:04,742 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-17 22:29:04,742 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-17 22:29:04,742 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-17 22:29:04,762 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states. [2020-07-17 22:29:04,768 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2020-07-17 22:29:04,769 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:29:04,770 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:29:04,770 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:29:04,777 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:29:04,777 INFO L82 PathProgramCache]: Analyzing trace with hash -573637036, now seen corresponding path program 1 times [2020-07-17 22:29:04,786 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:29:04,787 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [233612996] [2020-07-17 22:29:04,787 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:29:04,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:05,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:05,171 INFO L280 TraceCheckUtils]: 0: Hoare triple {60#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {51#true} is VALID [2020-07-17 22:29:05,171 INFO L280 TraceCheckUtils]: 1: Hoare triple {51#true} assume true; {51#true} is VALID [2020-07-17 22:29:05,172 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {51#true} {51#true} #89#return; {51#true} is VALID [2020-07-17 22:29:05,176 INFO L263 TraceCheckUtils]: 0: Hoare triple {51#true} call ULTIMATE.init(); {60#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:05,177 INFO L280 TraceCheckUtils]: 1: Hoare triple {60#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {51#true} is VALID [2020-07-17 22:29:05,178 INFO L280 TraceCheckUtils]: 2: Hoare triple {51#true} assume true; {51#true} is VALID [2020-07-17 22:29:05,178 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {51#true} {51#true} #89#return; {51#true} is VALID [2020-07-17 22:29:05,179 INFO L263 TraceCheckUtils]: 4: Hoare triple {51#true} call #t~ret34 := main(); {51#true} is VALID [2020-07-17 22:29:05,179 INFO L280 TraceCheckUtils]: 5: Hoare triple {51#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {51#true} is VALID [2020-07-17 22:29:05,180 INFO L263 TraceCheckUtils]: 6: Hoare triple {51#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {56#(= 8 |my_malloc_#in~size|)} is VALID [2020-07-17 22:29:05,182 INFO L280 TraceCheckUtils]: 7: Hoare triple {56#(= 8 |my_malloc_#in~size|)} ~size := #in~size; {57#(= 8 my_malloc_~size)} is VALID [2020-07-17 22:29:05,184 INFO L263 TraceCheckUtils]: 8: Hoare triple {57#(= 8 my_malloc_~size)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {58#(= 8 |__getMemory_#in~size|)} is VALID [2020-07-17 22:29:05,186 INFO L280 TraceCheckUtils]: 9: Hoare triple {58#(= 8 |__getMemory_#in~size|)} ~size := #in~size; {59#(= 8 __getMemory_~size)} is VALID [2020-07-17 22:29:05,188 INFO L280 TraceCheckUtils]: 10: Hoare triple {59#(= 8 __getMemory_~size)} assume !(~size > 0); {52#false} is VALID [2020-07-17 22:29:05,188 INFO L263 TraceCheckUtils]: 11: Hoare triple {52#false} call __blast_assert(); {52#false} is VALID [2020-07-17 22:29:05,189 INFO L280 TraceCheckUtils]: 12: Hoare triple {52#false} assume !false; {52#false} is VALID [2020-07-17 22:29:05,191 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:29:05,192 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [233612996] [2020-07-17 22:29:05,194 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:29:05,194 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-17 22:29:05,195 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [559391158] [2020-07-17 22:29:05,202 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 13 [2020-07-17 22:29:05,204 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:29:05,209 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-17 22:29:05,237 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:29:05,238 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-17 22:29:05,238 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:29:05,247 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-17 22:29:05,248 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-17 22:29:05,250 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 7 states. [2020-07-17 22:29:06,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:06,383 INFO L93 Difference]: Finished difference Result 90 states and 119 transitions. [2020-07-17 22:29:06,383 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-17 22:29:06,383 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 13 [2020-07-17 22:29:06,384 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:29:06,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-17 22:29:06,404 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 119 transitions. [2020-07-17 22:29:06,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-17 22:29:06,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 119 transitions. [2020-07-17 22:29:06,415 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 119 transitions. [2020-07-17 22:29:06,611 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:29:06,625 INFO L225 Difference]: With dead ends: 90 [2020-07-17 22:29:06,626 INFO L226 Difference]: Without dead ends: 44 [2020-07-17 22:29:06,630 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2020-07-17 22:29:06,648 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2020-07-17 22:29:06,721 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 40. [2020-07-17 22:29:06,721 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:29:06,722 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 40 states. [2020-07-17 22:29:06,723 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 40 states. [2020-07-17 22:29:06,723 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 40 states. [2020-07-17 22:29:06,733 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:06,733 INFO L93 Difference]: Finished difference Result 44 states and 52 transitions. [2020-07-17 22:29:06,733 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 52 transitions. [2020-07-17 22:29:06,734 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:29:06,735 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:29:06,735 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 44 states. [2020-07-17 22:29:06,735 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 44 states. [2020-07-17 22:29:06,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:06,741 INFO L93 Difference]: Finished difference Result 44 states and 52 transitions. [2020-07-17 22:29:06,741 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 52 transitions. [2020-07-17 22:29:06,742 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:29:06,743 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:29:06,743 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:29:06,743 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:29:06,743 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2020-07-17 22:29:06,747 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 46 transitions. [2020-07-17 22:29:06,749 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 46 transitions. Word has length 13 [2020-07-17 22:29:06,749 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:29:06,749 INFO L479 AbstractCegarLoop]: Abstraction has 40 states and 46 transitions. [2020-07-17 22:29:06,749 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-17 22:29:06,750 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 46 transitions. [2020-07-17 22:29:06,751 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2020-07-17 22:29:06,751 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:29:06,751 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:29:06,777 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-17 22:29:06,777 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:29:06,778 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:29:06,778 INFO L82 PathProgramCache]: Analyzing trace with hash 1917870949, now seen corresponding path program 1 times [2020-07-17 22:29:06,778 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:29:06,778 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [827056118] [2020-07-17 22:29:06,778 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:29:06,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:06,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:06,943 INFO L280 TraceCheckUtils]: 0: Hoare triple {372#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {343#true} is VALID [2020-07-17 22:29:06,943 INFO L280 TraceCheckUtils]: 1: Hoare triple {343#true} assume true; {343#true} is VALID [2020-07-17 22:29:06,944 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {343#true} {343#true} #89#return; {343#true} is VALID [2020-07-17 22:29:06,969 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:07,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:07,085 INFO L280 TraceCheckUtils]: 0: Hoare triple {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {343#true} is VALID [2020-07-17 22:29:07,086 INFO L280 TraceCheckUtils]: 1: Hoare triple {343#true} assume ~size > 0; {343#true} is VALID [2020-07-17 22:29:07,086 INFO L280 TraceCheckUtils]: 2: Hoare triple {343#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {343#true} is VALID [2020-07-17 22:29:07,087 INFO L280 TraceCheckUtils]: 3: Hoare triple {343#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-17 22:29:07,088 INFO L280 TraceCheckUtils]: 4: Hoare triple {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-17 22:29:07,090 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {343#true} #69#return; {380#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-17 22:29:07,090 INFO L280 TraceCheckUtils]: 0: Hoare triple {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {343#true} is VALID [2020-07-17 22:29:07,091 INFO L263 TraceCheckUtils]: 1: Hoare triple {343#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:07,092 INFO L280 TraceCheckUtils]: 2: Hoare triple {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {343#true} is VALID [2020-07-17 22:29:07,092 INFO L280 TraceCheckUtils]: 3: Hoare triple {343#true} assume ~size > 0; {343#true} is VALID [2020-07-17 22:29:07,092 INFO L280 TraceCheckUtils]: 4: Hoare triple {343#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {343#true} is VALID [2020-07-17 22:29:07,093 INFO L280 TraceCheckUtils]: 5: Hoare triple {343#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-17 22:29:07,094 INFO L280 TraceCheckUtils]: 6: Hoare triple {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-17 22:29:07,095 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {343#true} #69#return; {380#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-17 22:29:07,096 INFO L280 TraceCheckUtils]: 8: Hoare triple {380#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {381#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-17 22:29:07,097 INFO L280 TraceCheckUtils]: 9: Hoare triple {381#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {381#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-17 22:29:07,099 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {381#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {343#true} #71#return; {359#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} is VALID [2020-07-17 22:29:07,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:07,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:07,150 INFO L280 TraceCheckUtils]: 0: Hoare triple {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {343#true} is VALID [2020-07-17 22:29:07,151 INFO L280 TraceCheckUtils]: 1: Hoare triple {343#true} assume ~size > 0; {343#true} is VALID [2020-07-17 22:29:07,151 INFO L280 TraceCheckUtils]: 2: Hoare triple {343#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {343#true} is VALID [2020-07-17 22:29:07,151 INFO L280 TraceCheckUtils]: 3: Hoare triple {343#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {343#true} is VALID [2020-07-17 22:29:07,152 INFO L280 TraceCheckUtils]: 4: Hoare triple {343#true} assume true; {343#true} is VALID [2020-07-17 22:29:07,152 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {343#true} {343#true} #69#return; {343#true} is VALID [2020-07-17 22:29:07,152 INFO L280 TraceCheckUtils]: 0: Hoare triple {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {343#true} is VALID [2020-07-17 22:29:07,154 INFO L263 TraceCheckUtils]: 1: Hoare triple {343#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:07,155 INFO L280 TraceCheckUtils]: 2: Hoare triple {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {343#true} is VALID [2020-07-17 22:29:07,155 INFO L280 TraceCheckUtils]: 3: Hoare triple {343#true} assume ~size > 0; {343#true} is VALID [2020-07-17 22:29:07,155 INFO L280 TraceCheckUtils]: 4: Hoare triple {343#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {343#true} is VALID [2020-07-17 22:29:07,156 INFO L280 TraceCheckUtils]: 5: Hoare triple {343#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {343#true} is VALID [2020-07-17 22:29:07,156 INFO L280 TraceCheckUtils]: 6: Hoare triple {343#true} assume true; {343#true} is VALID [2020-07-17 22:29:07,156 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {343#true} {343#true} #69#return; {343#true} is VALID [2020-07-17 22:29:07,156 INFO L280 TraceCheckUtils]: 8: Hoare triple {343#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {343#true} is VALID [2020-07-17 22:29:07,157 INFO L280 TraceCheckUtils]: 9: Hoare triple {343#true} assume true; {343#true} is VALID [2020-07-17 22:29:07,163 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {343#true} {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} #73#return; {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-17 22:29:07,165 INFO L263 TraceCheckUtils]: 0: Hoare triple {343#true} call ULTIMATE.init(); {372#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:07,165 INFO L280 TraceCheckUtils]: 1: Hoare triple {372#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {343#true} is VALID [2020-07-17 22:29:07,166 INFO L280 TraceCheckUtils]: 2: Hoare triple {343#true} assume true; {343#true} is VALID [2020-07-17 22:29:07,166 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {343#true} {343#true} #89#return; {343#true} is VALID [2020-07-17 22:29:07,166 INFO L263 TraceCheckUtils]: 4: Hoare triple {343#true} call #t~ret34 := main(); {343#true} is VALID [2020-07-17 22:29:07,167 INFO L280 TraceCheckUtils]: 5: Hoare triple {343#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {343#true} is VALID [2020-07-17 22:29:07,168 INFO L263 TraceCheckUtils]: 6: Hoare triple {343#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:07,168 INFO L280 TraceCheckUtils]: 7: Hoare triple {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {343#true} is VALID [2020-07-17 22:29:07,169 INFO L263 TraceCheckUtils]: 8: Hoare triple {343#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:07,169 INFO L280 TraceCheckUtils]: 9: Hoare triple {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {343#true} is VALID [2020-07-17 22:29:07,169 INFO L280 TraceCheckUtils]: 10: Hoare triple {343#true} assume ~size > 0; {343#true} is VALID [2020-07-17 22:29:07,170 INFO L280 TraceCheckUtils]: 11: Hoare triple {343#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {343#true} is VALID [2020-07-17 22:29:07,171 INFO L280 TraceCheckUtils]: 12: Hoare triple {343#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-17 22:29:07,171 INFO L280 TraceCheckUtils]: 13: Hoare triple {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-17 22:29:07,172 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {343#true} #69#return; {380#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-17 22:29:07,173 INFO L280 TraceCheckUtils]: 15: Hoare triple {380#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {381#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-17 22:29:07,174 INFO L280 TraceCheckUtils]: 16: Hoare triple {381#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {381#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-17 22:29:07,176 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {381#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {343#true} #71#return; {359#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} is VALID [2020-07-17 22:29:07,176 INFO L280 TraceCheckUtils]: 18: Hoare triple {359#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-17 22:29:07,179 INFO L263 TraceCheckUtils]: 19: Hoare triple {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:07,180 INFO L280 TraceCheckUtils]: 20: Hoare triple {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {343#true} is VALID [2020-07-17 22:29:07,181 INFO L263 TraceCheckUtils]: 21: Hoare triple {343#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:07,181 INFO L280 TraceCheckUtils]: 22: Hoare triple {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {343#true} is VALID [2020-07-17 22:29:07,182 INFO L280 TraceCheckUtils]: 23: Hoare triple {343#true} assume ~size > 0; {343#true} is VALID [2020-07-17 22:29:07,182 INFO L280 TraceCheckUtils]: 24: Hoare triple {343#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {343#true} is VALID [2020-07-17 22:29:07,182 INFO L280 TraceCheckUtils]: 25: Hoare triple {343#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {343#true} is VALID [2020-07-17 22:29:07,182 INFO L280 TraceCheckUtils]: 26: Hoare triple {343#true} assume true; {343#true} is VALID [2020-07-17 22:29:07,183 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {343#true} {343#true} #69#return; {343#true} is VALID [2020-07-17 22:29:07,183 INFO L280 TraceCheckUtils]: 28: Hoare triple {343#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {343#true} is VALID [2020-07-17 22:29:07,183 INFO L280 TraceCheckUtils]: 29: Hoare triple {343#true} assume true; {343#true} is VALID [2020-07-17 22:29:07,184 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {343#true} {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} #73#return; {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-17 22:29:07,185 INFO L280 TraceCheckUtils]: 31: Hoare triple {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-17 22:29:07,186 INFO L280 TraceCheckUtils]: 32: Hoare triple {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {344#false} is VALID [2020-07-17 22:29:07,187 INFO L263 TraceCheckUtils]: 33: Hoare triple {344#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {344#false} is VALID [2020-07-17 22:29:07,187 INFO L280 TraceCheckUtils]: 34: Hoare triple {344#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {344#false} is VALID [2020-07-17 22:29:07,187 INFO L280 TraceCheckUtils]: 35: Hoare triple {344#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {344#false} is VALID [2020-07-17 22:29:07,187 INFO L263 TraceCheckUtils]: 36: Hoare triple {344#false} call __blast_assert(); {344#false} is VALID [2020-07-17 22:29:07,188 INFO L280 TraceCheckUtils]: 37: Hoare triple {344#false} assume !false; {344#false} is VALID [2020-07-17 22:29:07,192 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2020-07-17 22:29:07,192 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [827056118] [2020-07-17 22:29:07,192 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1062688711] [2020-07-17 22:29:07,192 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:29:07,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:07,315 INFO L264 TraceCheckSpWp]: Trace formula consists of 232 conjuncts, 21 conjunts are in the unsatisfiable core [2020-07-17 22:29:07,336 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:07,343 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:29:07,460 INFO L263 TraceCheckUtils]: 0: Hoare triple {343#true} call ULTIMATE.init(); {343#true} is VALID [2020-07-17 22:29:07,460 INFO L280 TraceCheckUtils]: 1: Hoare triple {343#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {343#true} is VALID [2020-07-17 22:29:07,461 INFO L280 TraceCheckUtils]: 2: Hoare triple {343#true} assume true; {343#true} is VALID [2020-07-17 22:29:07,461 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {343#true} {343#true} #89#return; {343#true} is VALID [2020-07-17 22:29:07,461 INFO L263 TraceCheckUtils]: 4: Hoare triple {343#true} call #t~ret34 := main(); {343#true} is VALID [2020-07-17 22:29:07,462 INFO L280 TraceCheckUtils]: 5: Hoare triple {343#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {343#true} is VALID [2020-07-17 22:29:07,462 INFO L263 TraceCheckUtils]: 6: Hoare triple {343#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {343#true} is VALID [2020-07-17 22:29:07,462 INFO L280 TraceCheckUtils]: 7: Hoare triple {343#true} ~size := #in~size; {343#true} is VALID [2020-07-17 22:29:07,462 INFO L263 TraceCheckUtils]: 8: Hoare triple {343#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {343#true} is VALID [2020-07-17 22:29:07,463 INFO L280 TraceCheckUtils]: 9: Hoare triple {343#true} ~size := #in~size; {343#true} is VALID [2020-07-17 22:29:07,463 INFO L280 TraceCheckUtils]: 10: Hoare triple {343#true} assume ~size > 0; {343#true} is VALID [2020-07-17 22:29:07,463 INFO L280 TraceCheckUtils]: 11: Hoare triple {343#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {343#true} is VALID [2020-07-17 22:29:07,464 INFO L280 TraceCheckUtils]: 12: Hoare triple {343#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-17 22:29:07,465 INFO L280 TraceCheckUtils]: 13: Hoare triple {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-17 22:29:07,467 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {343#true} #69#return; {380#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-17 22:29:07,468 INFO L280 TraceCheckUtils]: 15: Hoare triple {380#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {381#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-17 22:29:07,469 INFO L280 TraceCheckUtils]: 16: Hoare triple {381#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {381#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-17 22:29:07,470 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {381#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {343#true} #71#return; {359#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} is VALID [2020-07-17 22:29:07,471 INFO L280 TraceCheckUtils]: 18: Hoare triple {359#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-17 22:29:07,471 INFO L263 TraceCheckUtils]: 19: Hoare triple {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {343#true} is VALID [2020-07-17 22:29:07,471 INFO L280 TraceCheckUtils]: 20: Hoare triple {343#true} ~size := #in~size; {343#true} is VALID [2020-07-17 22:29:07,472 INFO L263 TraceCheckUtils]: 21: Hoare triple {343#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {343#true} is VALID [2020-07-17 22:29:07,472 INFO L280 TraceCheckUtils]: 22: Hoare triple {343#true} ~size := #in~size; {343#true} is VALID [2020-07-17 22:29:07,472 INFO L280 TraceCheckUtils]: 23: Hoare triple {343#true} assume ~size > 0; {343#true} is VALID [2020-07-17 22:29:07,473 INFO L280 TraceCheckUtils]: 24: Hoare triple {343#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {343#true} is VALID [2020-07-17 22:29:07,473 INFO L280 TraceCheckUtils]: 25: Hoare triple {343#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {343#true} is VALID [2020-07-17 22:29:07,473 INFO L280 TraceCheckUtils]: 26: Hoare triple {343#true} assume true; {343#true} is VALID [2020-07-17 22:29:07,473 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {343#true} {343#true} #69#return; {343#true} is VALID [2020-07-17 22:29:07,474 INFO L280 TraceCheckUtils]: 28: Hoare triple {343#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {343#true} is VALID [2020-07-17 22:29:07,474 INFO L280 TraceCheckUtils]: 29: Hoare triple {343#true} assume true; {343#true} is VALID [2020-07-17 22:29:07,476 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {343#true} {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} #73#return; {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-17 22:29:07,477 INFO L280 TraceCheckUtils]: 31: Hoare triple {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-17 22:29:07,477 INFO L280 TraceCheckUtils]: 32: Hoare triple {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {344#false} is VALID [2020-07-17 22:29:07,478 INFO L263 TraceCheckUtils]: 33: Hoare triple {344#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {344#false} is VALID [2020-07-17 22:29:07,478 INFO L280 TraceCheckUtils]: 34: Hoare triple {344#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {344#false} is VALID [2020-07-17 22:29:07,478 INFO L280 TraceCheckUtils]: 35: Hoare triple {344#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {344#false} is VALID [2020-07-17 22:29:07,478 INFO L263 TraceCheckUtils]: 36: Hoare triple {344#false} call __blast_assert(); {344#false} is VALID [2020-07-17 22:29:07,479 INFO L280 TraceCheckUtils]: 37: Hoare triple {344#false} assume !false; {344#false} is VALID [2020-07-17 22:29:07,481 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2020-07-17 22:29:07,482 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:29:07,482 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 7] total 9 [2020-07-17 22:29:07,483 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1984560635] [2020-07-17 22:29:07,484 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 38 [2020-07-17 22:29:07,489 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:29:07,490 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-17 22:29:07,577 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:29:07,577 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-17 22:29:07,579 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:29:07,579 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-17 22:29:07,580 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-17 22:29:07,580 INFO L87 Difference]: Start difference. First operand 40 states and 46 transitions. Second operand 9 states. [2020-07-17 22:29:08,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:08,492 INFO L93 Difference]: Finished difference Result 71 states and 86 transitions. [2020-07-17 22:29:08,492 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-17 22:29:08,493 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 38 [2020-07-17 22:29:08,493 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:29:08,493 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:29:08,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2020-07-17 22:29:08,499 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:29:08,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2020-07-17 22:29:08,504 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2020-07-17 22:29:08,671 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:29:08,674 INFO L225 Difference]: With dead ends: 71 [2020-07-17 22:29:08,674 INFO L226 Difference]: Without dead ends: 49 [2020-07-17 22:29:08,678 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 45 SyntacticMatches, 2 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-17 22:29:08,678 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2020-07-17 22:29:08,739 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 45. [2020-07-17 22:29:08,739 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:29:08,739 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand 45 states. [2020-07-17 22:29:08,739 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 45 states. [2020-07-17 22:29:08,740 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 45 states. [2020-07-17 22:29:08,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:08,745 INFO L93 Difference]: Finished difference Result 49 states and 57 transitions. [2020-07-17 22:29:08,745 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 57 transitions. [2020-07-17 22:29:08,746 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:29:08,746 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:29:08,746 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 49 states. [2020-07-17 22:29:08,746 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 49 states. [2020-07-17 22:29:08,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:08,751 INFO L93 Difference]: Finished difference Result 49 states and 57 transitions. [2020-07-17 22:29:08,751 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 57 transitions. [2020-07-17 22:29:08,752 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:29:08,752 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:29:08,753 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:29:08,753 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:29:08,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2020-07-17 22:29:08,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 51 transitions. [2020-07-17 22:29:08,756 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 51 transitions. Word has length 38 [2020-07-17 22:29:08,756 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:29:08,757 INFO L479 AbstractCegarLoop]: Abstraction has 45 states and 51 transitions. [2020-07-17 22:29:08,757 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-17 22:29:08,757 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 51 transitions. [2020-07-17 22:29:08,758 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2020-07-17 22:29:08,758 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:29:08,758 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:29:08,970 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable1 [2020-07-17 22:29:08,971 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:29:08,971 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:29:08,972 INFO L82 PathProgramCache]: Analyzing trace with hash 1948890756, now seen corresponding path program 1 times [2020-07-17 22:29:08,972 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:29:08,972 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1327690836] [2020-07-17 22:29:08,973 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:29:09,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:09,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:09,118 INFO L280 TraceCheckUtils]: 0: Hoare triple {791#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {762#true} is VALID [2020-07-17 22:29:09,118 INFO L280 TraceCheckUtils]: 1: Hoare triple {762#true} assume true; {762#true} is VALID [2020-07-17 22:29:09,119 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {762#true} {762#true} #89#return; {762#true} is VALID [2020-07-17 22:29:09,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:09,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:09,157 INFO L280 TraceCheckUtils]: 0: Hoare triple {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {762#true} is VALID [2020-07-17 22:29:09,158 INFO L280 TraceCheckUtils]: 1: Hoare triple {762#true} assume ~size > 0; {762#true} is VALID [2020-07-17 22:29:09,158 INFO L280 TraceCheckUtils]: 2: Hoare triple {762#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {762#true} is VALID [2020-07-17 22:29:09,158 INFO L280 TraceCheckUtils]: 3: Hoare triple {762#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {762#true} is VALID [2020-07-17 22:29:09,158 INFO L280 TraceCheckUtils]: 4: Hoare triple {762#true} assume true; {762#true} is VALID [2020-07-17 22:29:09,159 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {762#true} {762#true} #69#return; {762#true} is VALID [2020-07-17 22:29:09,159 INFO L280 TraceCheckUtils]: 0: Hoare triple {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {762#true} is VALID [2020-07-17 22:29:09,160 INFO L263 TraceCheckUtils]: 1: Hoare triple {762#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:09,160 INFO L280 TraceCheckUtils]: 2: Hoare triple {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {762#true} is VALID [2020-07-17 22:29:09,161 INFO L280 TraceCheckUtils]: 3: Hoare triple {762#true} assume ~size > 0; {762#true} is VALID [2020-07-17 22:29:09,161 INFO L280 TraceCheckUtils]: 4: Hoare triple {762#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {762#true} is VALID [2020-07-17 22:29:09,161 INFO L280 TraceCheckUtils]: 5: Hoare triple {762#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {762#true} is VALID [2020-07-17 22:29:09,161 INFO L280 TraceCheckUtils]: 6: Hoare triple {762#true} assume true; {762#true} is VALID [2020-07-17 22:29:09,162 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {762#true} {762#true} #69#return; {762#true} is VALID [2020-07-17 22:29:09,162 INFO L280 TraceCheckUtils]: 8: Hoare triple {762#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {762#true} is VALID [2020-07-17 22:29:09,162 INFO L280 TraceCheckUtils]: 9: Hoare triple {762#true} assume true; {762#true} is VALID [2020-07-17 22:29:09,162 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {762#true} {762#true} #71#return; {762#true} is VALID [2020-07-17 22:29:09,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:09,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:09,298 INFO L280 TraceCheckUtils]: 0: Hoare triple {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {762#true} is VALID [2020-07-17 22:29:09,298 INFO L280 TraceCheckUtils]: 1: Hoare triple {762#true} assume ~size > 0; {762#true} is VALID [2020-07-17 22:29:09,298 INFO L280 TraceCheckUtils]: 2: Hoare triple {762#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {762#true} is VALID [2020-07-17 22:29:09,299 INFO L280 TraceCheckUtils]: 3: Hoare triple {762#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-17 22:29:09,300 INFO L280 TraceCheckUtils]: 4: Hoare triple {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-17 22:29:09,301 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {762#true} #69#return; {805#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-17 22:29:09,302 INFO L280 TraceCheckUtils]: 0: Hoare triple {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {762#true} is VALID [2020-07-17 22:29:09,303 INFO L263 TraceCheckUtils]: 1: Hoare triple {762#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:09,303 INFO L280 TraceCheckUtils]: 2: Hoare triple {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {762#true} is VALID [2020-07-17 22:29:09,303 INFO L280 TraceCheckUtils]: 3: Hoare triple {762#true} assume ~size > 0; {762#true} is VALID [2020-07-17 22:29:09,304 INFO L280 TraceCheckUtils]: 4: Hoare triple {762#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {762#true} is VALID [2020-07-17 22:29:09,304 INFO L280 TraceCheckUtils]: 5: Hoare triple {762#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-17 22:29:09,305 INFO L280 TraceCheckUtils]: 6: Hoare triple {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-17 22:29:09,307 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {762#true} #69#return; {805#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-17 22:29:09,307 INFO L280 TraceCheckUtils]: 8: Hoare triple {805#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {806#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-17 22:29:09,308 INFO L280 TraceCheckUtils]: 9: Hoare triple {806#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {806#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-17 22:29:09,310 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {806#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {762#true} #73#return; {789#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} is VALID [2020-07-17 22:29:09,311 INFO L263 TraceCheckUtils]: 0: Hoare triple {762#true} call ULTIMATE.init(); {791#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:09,312 INFO L280 TraceCheckUtils]: 1: Hoare triple {791#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {762#true} is VALID [2020-07-17 22:29:09,312 INFO L280 TraceCheckUtils]: 2: Hoare triple {762#true} assume true; {762#true} is VALID [2020-07-17 22:29:09,312 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {762#true} {762#true} #89#return; {762#true} is VALID [2020-07-17 22:29:09,313 INFO L263 TraceCheckUtils]: 4: Hoare triple {762#true} call #t~ret34 := main(); {762#true} is VALID [2020-07-17 22:29:09,313 INFO L280 TraceCheckUtils]: 5: Hoare triple {762#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {762#true} is VALID [2020-07-17 22:29:09,314 INFO L263 TraceCheckUtils]: 6: Hoare triple {762#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:09,314 INFO L280 TraceCheckUtils]: 7: Hoare triple {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {762#true} is VALID [2020-07-17 22:29:09,315 INFO L263 TraceCheckUtils]: 8: Hoare triple {762#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:09,315 INFO L280 TraceCheckUtils]: 9: Hoare triple {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {762#true} is VALID [2020-07-17 22:29:09,316 INFO L280 TraceCheckUtils]: 10: Hoare triple {762#true} assume ~size > 0; {762#true} is VALID [2020-07-17 22:29:09,316 INFO L280 TraceCheckUtils]: 11: Hoare triple {762#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {762#true} is VALID [2020-07-17 22:29:09,316 INFO L280 TraceCheckUtils]: 12: Hoare triple {762#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {762#true} is VALID [2020-07-17 22:29:09,316 INFO L280 TraceCheckUtils]: 13: Hoare triple {762#true} assume true; {762#true} is VALID [2020-07-17 22:29:09,317 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {762#true} {762#true} #69#return; {762#true} is VALID [2020-07-17 22:29:09,317 INFO L280 TraceCheckUtils]: 15: Hoare triple {762#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {762#true} is VALID [2020-07-17 22:29:09,317 INFO L280 TraceCheckUtils]: 16: Hoare triple {762#true} assume true; {762#true} is VALID [2020-07-17 22:29:09,317 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {762#true} {762#true} #71#return; {762#true} is VALID [2020-07-17 22:29:09,318 INFO L280 TraceCheckUtils]: 18: Hoare triple {762#true} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {762#true} is VALID [2020-07-17 22:29:09,319 INFO L263 TraceCheckUtils]: 19: Hoare triple {762#true} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:09,319 INFO L280 TraceCheckUtils]: 20: Hoare triple {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {762#true} is VALID [2020-07-17 22:29:09,320 INFO L263 TraceCheckUtils]: 21: Hoare triple {762#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:09,320 INFO L280 TraceCheckUtils]: 22: Hoare triple {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {762#true} is VALID [2020-07-17 22:29:09,321 INFO L280 TraceCheckUtils]: 23: Hoare triple {762#true} assume ~size > 0; {762#true} is VALID [2020-07-17 22:29:09,321 INFO L280 TraceCheckUtils]: 24: Hoare triple {762#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {762#true} is VALID [2020-07-17 22:29:09,322 INFO L280 TraceCheckUtils]: 25: Hoare triple {762#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-17 22:29:09,322 INFO L280 TraceCheckUtils]: 26: Hoare triple {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-17 22:29:09,324 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {762#true} #69#return; {805#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-17 22:29:09,325 INFO L280 TraceCheckUtils]: 28: Hoare triple {805#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {806#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-17 22:29:09,325 INFO L280 TraceCheckUtils]: 29: Hoare triple {806#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {806#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-17 22:29:09,327 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {806#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {762#true} #73#return; {789#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} is VALID [2020-07-17 22:29:09,328 INFO L280 TraceCheckUtils]: 31: Hoare triple {789#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {790#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} is VALID [2020-07-17 22:29:09,329 INFO L280 TraceCheckUtils]: 32: Hoare triple {790#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {763#false} is VALID [2020-07-17 22:29:09,329 INFO L263 TraceCheckUtils]: 33: Hoare triple {763#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {763#false} is VALID [2020-07-17 22:29:09,329 INFO L280 TraceCheckUtils]: 34: Hoare triple {763#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {763#false} is VALID [2020-07-17 22:29:09,329 INFO L280 TraceCheckUtils]: 35: Hoare triple {763#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {763#false} is VALID [2020-07-17 22:29:09,330 INFO L263 TraceCheckUtils]: 36: Hoare triple {763#false} call __blast_assert(); {763#false} is VALID [2020-07-17 22:29:09,330 INFO L280 TraceCheckUtils]: 37: Hoare triple {763#false} assume !false; {763#false} is VALID [2020-07-17 22:29:09,332 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2020-07-17 22:29:09,333 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1327690836] [2020-07-17 22:29:09,333 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:29:09,333 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-17 22:29:09,333 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1442466333] [2020-07-17 22:29:09,334 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 38 [2020-07-17 22:29:09,334 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:29:09,335 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-17 22:29:09,383 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:29:09,384 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-17 22:29:09,384 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:29:09,384 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-17 22:29:09,385 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-17 22:29:09,385 INFO L87 Difference]: Start difference. First operand 45 states and 51 transitions. Second operand 9 states. [2020-07-17 22:29:10,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:10,227 INFO L93 Difference]: Finished difference Result 69 states and 81 transitions. [2020-07-17 22:29:10,227 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-17 22:29:10,227 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 38 [2020-07-17 22:29:10,227 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:29:10,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:29:10,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2020-07-17 22:29:10,232 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:29:10,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2020-07-17 22:29:10,236 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 81 transitions. [2020-07-17 22:29:10,356 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:29:10,360 INFO L225 Difference]: With dead ends: 69 [2020-07-17 22:29:10,360 INFO L226 Difference]: Without dead ends: 44 [2020-07-17 22:29:10,361 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-17 22:29:10,361 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2020-07-17 22:29:10,412 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 40. [2020-07-17 22:29:10,412 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:29:10,413 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 40 states. [2020-07-17 22:29:10,413 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 40 states. [2020-07-17 22:29:10,413 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 40 states. [2020-07-17 22:29:10,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:10,417 INFO L93 Difference]: Finished difference Result 44 states and 51 transitions. [2020-07-17 22:29:10,417 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 51 transitions. [2020-07-17 22:29:10,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:29:10,418 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:29:10,418 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 44 states. [2020-07-17 22:29:10,418 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 44 states. [2020-07-17 22:29:10,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:10,422 INFO L93 Difference]: Finished difference Result 44 states and 51 transitions. [2020-07-17 22:29:10,422 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 51 transitions. [2020-07-17 22:29:10,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:29:10,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:29:10,423 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:29:10,423 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:29:10,423 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2020-07-17 22:29:10,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 45 transitions. [2020-07-17 22:29:10,426 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 45 transitions. Word has length 38 [2020-07-17 22:29:10,426 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:29:10,426 INFO L479 AbstractCegarLoop]: Abstraction has 40 states and 45 transitions. [2020-07-17 22:29:10,426 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-17 22:29:10,426 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 45 transitions. [2020-07-17 22:29:10,427 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2020-07-17 22:29:10,428 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:29:10,428 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:29:10,428 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-17 22:29:10,428 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:29:10,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:29:10,429 INFO L82 PathProgramCache]: Analyzing trace with hash 1655487749, now seen corresponding path program 1 times [2020-07-17 22:29:10,429 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:29:10,429 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [983273005] [2020-07-17 22:29:10,429 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:29:10,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:10,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:10,668 INFO L280 TraceCheckUtils]: 0: Hoare triple {1085#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:10,669 INFO L280 TraceCheckUtils]: 1: Hoare triple {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} assume true; {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:10,670 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} {1052#true} #89#return; {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:10,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:10,732 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:10,745 INFO L280 TraceCheckUtils]: 0: Hoare triple {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:10,746 INFO L280 TraceCheckUtils]: 1: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:10,747 INFO L280 TraceCheckUtils]: 2: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:10,748 INFO L280 TraceCheckUtils]: 3: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:10,749 INFO L280 TraceCheckUtils]: 4: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:10,750 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:10,752 INFO L280 TraceCheckUtils]: 0: Hoare triple {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:10,753 INFO L263 TraceCheckUtils]: 1: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:10,754 INFO L280 TraceCheckUtils]: 2: Hoare triple {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:10,755 INFO L280 TraceCheckUtils]: 3: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:10,756 INFO L280 TraceCheckUtils]: 4: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:10,756 INFO L280 TraceCheckUtils]: 5: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:10,757 INFO L280 TraceCheckUtils]: 6: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:10,759 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:10,759 INFO L280 TraceCheckUtils]: 8: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:10,760 INFO L280 TraceCheckUtils]: 9: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:10,762 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} #71#return; {1069#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:10,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:10,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:10,867 INFO L280 TraceCheckUtils]: 0: Hoare triple {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:10,868 INFO L280 TraceCheckUtils]: 1: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:10,869 INFO L280 TraceCheckUtils]: 2: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:10,870 INFO L280 TraceCheckUtils]: 3: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:10,871 INFO L280 TraceCheckUtils]: 4: Hoare triple {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:10,872 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {1101#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-17 22:29:10,873 INFO L280 TraceCheckUtils]: 0: Hoare triple {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:10,874 INFO L263 TraceCheckUtils]: 1: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:10,874 INFO L280 TraceCheckUtils]: 2: Hoare triple {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:10,875 INFO L280 TraceCheckUtils]: 3: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:10,876 INFO L280 TraceCheckUtils]: 4: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:10,877 INFO L280 TraceCheckUtils]: 5: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:10,877 INFO L280 TraceCheckUtils]: 6: Hoare triple {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:10,879 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {1101#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-17 22:29:10,880 INFO L280 TraceCheckUtils]: 8: Hoare triple {1101#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1102#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:10,880 INFO L280 TraceCheckUtils]: 9: Hoare triple {1102#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {1102#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:10,882 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1102#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {1069#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} #73#return; {1081#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} is VALID [2020-07-17 22:29:10,884 INFO L263 TraceCheckUtils]: 0: Hoare triple {1052#true} call ULTIMATE.init(); {1085#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:10,887 INFO L280 TraceCheckUtils]: 1: Hoare triple {1085#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:10,888 INFO L280 TraceCheckUtils]: 2: Hoare triple {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} assume true; {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:10,889 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} {1052#true} #89#return; {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:10,890 INFO L263 TraceCheckUtils]: 4: Hoare triple {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} call #t~ret34 := main(); {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:10,891 INFO L280 TraceCheckUtils]: 5: Hoare triple {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:10,892 INFO L263 TraceCheckUtils]: 6: Hoare triple {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:10,893 INFO L280 TraceCheckUtils]: 7: Hoare triple {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:10,894 INFO L263 TraceCheckUtils]: 8: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:10,895 INFO L280 TraceCheckUtils]: 9: Hoare triple {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:10,896 INFO L280 TraceCheckUtils]: 10: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:10,897 INFO L280 TraceCheckUtils]: 11: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:10,897 INFO L280 TraceCheckUtils]: 12: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:10,898 INFO L280 TraceCheckUtils]: 13: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:10,900 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:10,900 INFO L280 TraceCheckUtils]: 15: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:10,901 INFO L280 TraceCheckUtils]: 16: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:10,903 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} #71#return; {1069#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:10,904 INFO L280 TraceCheckUtils]: 18: Hoare triple {1069#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {1069#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:10,905 INFO L263 TraceCheckUtils]: 19: Hoare triple {1069#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:10,906 INFO L280 TraceCheckUtils]: 20: Hoare triple {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:10,907 INFO L263 TraceCheckUtils]: 21: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:10,908 INFO L280 TraceCheckUtils]: 22: Hoare triple {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:10,909 INFO L280 TraceCheckUtils]: 23: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:10,909 INFO L280 TraceCheckUtils]: 24: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:10,911 INFO L280 TraceCheckUtils]: 25: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:10,912 INFO L280 TraceCheckUtils]: 26: Hoare triple {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:10,913 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {1101#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-17 22:29:10,914 INFO L280 TraceCheckUtils]: 28: Hoare triple {1101#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1102#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:10,915 INFO L280 TraceCheckUtils]: 29: Hoare triple {1102#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {1102#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:10,917 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {1102#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {1069#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} #73#return; {1081#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} is VALID [2020-07-17 22:29:10,918 INFO L280 TraceCheckUtils]: 31: Hoare triple {1081#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {1082#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-17 22:29:10,919 INFO L280 TraceCheckUtils]: 32: Hoare triple {1082#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {1082#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-17 22:29:10,921 INFO L263 TraceCheckUtils]: 33: Hoare triple {1082#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {1083#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} is VALID [2020-07-17 22:29:10,922 INFO L280 TraceCheckUtils]: 34: Hoare triple {1083#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {1084#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-17 22:29:10,923 INFO L280 TraceCheckUtils]: 35: Hoare triple {1084#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {1053#false} is VALID [2020-07-17 22:29:10,923 INFO L263 TraceCheckUtils]: 36: Hoare triple {1053#false} call __blast_assert(); {1053#false} is VALID [2020-07-17 22:29:10,924 INFO L280 TraceCheckUtils]: 37: Hoare triple {1053#false} assume !false; {1053#false} is VALID [2020-07-17 22:29:10,945 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2020-07-17 22:29:10,945 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [983273005] [2020-07-17 22:29:10,945 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1764074820] [2020-07-17 22:29:10,946 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:29:11,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:11,062 INFO L264 TraceCheckSpWp]: Trace formula consists of 230 conjuncts, 26 conjunts are in the unsatisfiable core [2020-07-17 22:29:11,078 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:11,081 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:29:11,650 INFO L263 TraceCheckUtils]: 0: Hoare triple {1052#true} call ULTIMATE.init(); {1052#true} is VALID [2020-07-17 22:29:11,651 INFO L280 TraceCheckUtils]: 1: Hoare triple {1052#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,651 INFO L280 TraceCheckUtils]: 2: Hoare triple {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} assume true; {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,652 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} {1052#true} #89#return; {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,652 INFO L263 TraceCheckUtils]: 4: Hoare triple {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} call #t~ret34 := main(); {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,653 INFO L280 TraceCheckUtils]: 5: Hoare triple {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,654 INFO L263 TraceCheckUtils]: 6: Hoare triple {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,654 INFO L280 TraceCheckUtils]: 7: Hoare triple {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} ~size := #in~size; {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,655 INFO L263 TraceCheckUtils]: 8: Hoare triple {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,655 INFO L280 TraceCheckUtils]: 9: Hoare triple {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} ~size := #in~size; {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,656 INFO L280 TraceCheckUtils]: 10: Hoare triple {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} assume ~size > 0; {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,657 INFO L280 TraceCheckUtils]: 11: Hoare triple {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,657 INFO L280 TraceCheckUtils]: 12: Hoare triple {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,659 INFO L280 TraceCheckUtils]: 13: Hoare triple {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} assume true; {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,660 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} #69#return; {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,661 INFO L280 TraceCheckUtils]: 15: Hoare triple {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,662 INFO L280 TraceCheckUtils]: 16: Hoare triple {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} assume true; {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,663 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} #71#return; {1161#(and (<= ~elem~0.offset 0) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:11,663 INFO L280 TraceCheckUtils]: 18: Hoare triple {1161#(and (<= ~elem~0.offset 0) (<= 1 ~guard_malloc_counter~0.offset))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {1161#(and (<= ~elem~0.offset 0) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:11,664 INFO L263 TraceCheckUtils]: 19: Hoare triple {1161#(and (<= ~elem~0.offset 0) (<= 1 ~guard_malloc_counter~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,665 INFO L280 TraceCheckUtils]: 20: Hoare triple {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} ~size := #in~size; {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,666 INFO L263 TraceCheckUtils]: 21: Hoare triple {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,666 INFO L280 TraceCheckUtils]: 22: Hoare triple {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} ~size := #in~size; {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,667 INFO L280 TraceCheckUtils]: 23: Hoare triple {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} assume ~size > 0; {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,668 INFO L280 TraceCheckUtils]: 24: Hoare triple {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,668 INFO L280 TraceCheckUtils]: 25: Hoare triple {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1186#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,669 INFO L280 TraceCheckUtils]: 26: Hoare triple {1186#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|) (<= ~elem~0.offset 0))} assume true; {1186#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,670 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1186#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|) (<= ~elem~0.offset 0))} {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} #69#return; {1193#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,670 INFO L280 TraceCheckUtils]: 28: Hoare triple {1193#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|) (<= ~elem~0.offset 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1197#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,672 INFO L280 TraceCheckUtils]: 29: Hoare triple {1197#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|) (<= ~elem~0.offset 0))} assume true; {1197#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,674 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {1197#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|) (<= ~elem~0.offset 0))} {1161#(and (<= ~elem~0.offset 0) (<= 1 ~guard_malloc_counter~0.offset))} #73#return; {1204#(and (<= 2 |main_#t~ret33.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,675 INFO L280 TraceCheckUtils]: 31: Hoare triple {1204#(and (<= 2 |main_#t~ret33.offset|) (<= ~elem~0.offset 0))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {1208#(and (<= 2 main_~dev2~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,675 INFO L280 TraceCheckUtils]: 32: Hoare triple {1208#(and (<= 2 main_~dev2~0.offset) (<= ~elem~0.offset 0))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {1208#(and (<= 2 main_~dev2~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,676 INFO L263 TraceCheckUtils]: 33: Hoare triple {1208#(and (<= 2 main_~dev2~0.offset) (<= ~elem~0.offset 0))} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {1215#(and (<= 2 |list_add_#in~new.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,677 INFO L280 TraceCheckUtils]: 34: Hoare triple {1215#(and (<= 2 |list_add_#in~new.offset|) (<= ~elem~0.offset 0))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {1219#(and (<= 2 list_add_~new.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:11,677 INFO L280 TraceCheckUtils]: 35: Hoare triple {1219#(and (<= 2 list_add_~new.offset) (<= ~elem~0.offset 0))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {1053#false} is VALID [2020-07-17 22:29:11,677 INFO L263 TraceCheckUtils]: 36: Hoare triple {1053#false} call __blast_assert(); {1053#false} is VALID [2020-07-17 22:29:11,677 INFO L280 TraceCheckUtils]: 37: Hoare triple {1053#false} assume !false; {1053#false} is VALID [2020-07-17 22:29:11,681 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2020-07-17 22:29:11,682 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-17 22:29:11,682 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [14] total 26 [2020-07-17 22:29:11,682 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [193013506] [2020-07-17 22:29:11,683 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 38 [2020-07-17 22:29:11,683 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:29:11,684 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2020-07-17 22:29:11,727 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:29:11,727 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2020-07-17 22:29:11,728 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:29:11,728 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2020-07-17 22:29:11,728 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=576, Unknown=0, NotChecked=0, Total=650 [2020-07-17 22:29:11,728 INFO L87 Difference]: Start difference. First operand 40 states and 45 transitions. Second operand 13 states. [2020-07-17 22:29:13,675 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:13,675 INFO L93 Difference]: Finished difference Result 73 states and 85 transitions. [2020-07-17 22:29:13,675 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-17 22:29:13,676 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 38 [2020-07-17 22:29:13,676 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:29:13,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-17 22:29:13,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 85 transitions. [2020-07-17 22:29:13,680 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-17 22:29:13,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 85 transitions. [2020-07-17 22:29:13,683 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 85 transitions. [2020-07-17 22:29:13,803 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:29:13,807 INFO L225 Difference]: With dead ends: 73 [2020-07-17 22:29:13,807 INFO L226 Difference]: Without dead ends: 70 [2020-07-17 22:29:13,808 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 37 SyntacticMatches, 0 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 175 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=169, Invalid=1091, Unknown=0, NotChecked=0, Total=1260 [2020-07-17 22:29:13,808 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2020-07-17 22:29:13,905 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 60. [2020-07-17 22:29:13,905 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:29:13,906 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand 60 states. [2020-07-17 22:29:13,906 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 60 states. [2020-07-17 22:29:13,906 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 60 states. [2020-07-17 22:29:13,910 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:13,910 INFO L93 Difference]: Finished difference Result 70 states and 82 transitions. [2020-07-17 22:29:13,911 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 82 transitions. [2020-07-17 22:29:13,911 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:29:13,912 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:29:13,912 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand 70 states. [2020-07-17 22:29:13,912 INFO L87 Difference]: Start difference. First operand 60 states. Second operand 70 states. [2020-07-17 22:29:13,916 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:13,916 INFO L93 Difference]: Finished difference Result 70 states and 82 transitions. [2020-07-17 22:29:13,916 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 82 transitions. [2020-07-17 22:29:13,917 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:29:13,917 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:29:13,918 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:29:13,918 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:29:13,918 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 60 states. [2020-07-17 22:29:13,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 72 transitions. [2020-07-17 22:29:13,921 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 72 transitions. Word has length 38 [2020-07-17 22:29:13,921 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:29:13,922 INFO L479 AbstractCegarLoop]: Abstraction has 60 states and 72 transitions. [2020-07-17 22:29:13,922 INFO L480 AbstractCegarLoop]: Interpolant automaton has 13 states. [2020-07-17 22:29:13,922 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 72 transitions. [2020-07-17 22:29:13,923 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2020-07-17 22:29:13,923 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:29:13,923 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:29:14,138 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:29:14,139 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:29:14,140 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:29:14,140 INFO L82 PathProgramCache]: Analyzing trace with hash 1321471087, now seen corresponding path program 1 times [2020-07-17 22:29:14,140 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:29:14,141 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1884638899] [2020-07-17 22:29:14,141 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:29:14,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:14,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:14,352 INFO L280 TraceCheckUtils]: 0: Hoare triple {1618#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {1578#true} is VALID [2020-07-17 22:29:14,352 INFO L280 TraceCheckUtils]: 1: Hoare triple {1578#true} assume true; {1578#true} is VALID [2020-07-17 22:29:14,353 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1578#true} {1578#true} #89#return; {1578#true} is VALID [2020-07-17 22:29:14,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:14,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:14,453 INFO L280 TraceCheckUtils]: 0: Hoare triple {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1578#true} is VALID [2020-07-17 22:29:14,454 INFO L280 TraceCheckUtils]: 1: Hoare triple {1578#true} assume ~size > 0; {1578#true} is VALID [2020-07-17 22:29:14,454 INFO L280 TraceCheckUtils]: 2: Hoare triple {1578#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1578#true} is VALID [2020-07-17 22:29:14,455 INFO L280 TraceCheckUtils]: 3: Hoare triple {1578#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:14,455 INFO L280 TraceCheckUtils]: 4: Hoare triple {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:14,457 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {1578#true} #69#return; {1626#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:14,457 INFO L280 TraceCheckUtils]: 0: Hoare triple {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1578#true} is VALID [2020-07-17 22:29:14,458 INFO L263 TraceCheckUtils]: 1: Hoare triple {1578#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:14,458 INFO L280 TraceCheckUtils]: 2: Hoare triple {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1578#true} is VALID [2020-07-17 22:29:14,458 INFO L280 TraceCheckUtils]: 3: Hoare triple {1578#true} assume ~size > 0; {1578#true} is VALID [2020-07-17 22:29:14,458 INFO L280 TraceCheckUtils]: 4: Hoare triple {1578#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1578#true} is VALID [2020-07-17 22:29:14,459 INFO L280 TraceCheckUtils]: 5: Hoare triple {1578#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:14,460 INFO L280 TraceCheckUtils]: 6: Hoare triple {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:14,461 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {1578#true} #69#return; {1626#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:14,462 INFO L280 TraceCheckUtils]: 8: Hoare triple {1626#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:14,462 INFO L280 TraceCheckUtils]: 9: Hoare triple {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:14,464 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {1578#true} #71#return; {1594#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:14,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:14,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:14,593 INFO L280 TraceCheckUtils]: 0: Hoare triple {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:14,594 INFO L280 TraceCheckUtils]: 1: Hoare triple {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:14,595 INFO L280 TraceCheckUtils]: 2: Hoare triple {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1638#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:14,596 INFO L280 TraceCheckUtils]: 3: Hoare triple {1638#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:14,596 INFO L280 TraceCheckUtils]: 4: Hoare triple {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:14,597 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {1636#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-17 22:29:14,598 INFO L280 TraceCheckUtils]: 0: Hoare triple {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:14,599 INFO L263 TraceCheckUtils]: 1: Hoare triple {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:14,600 INFO L280 TraceCheckUtils]: 2: Hoare triple {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:14,600 INFO L280 TraceCheckUtils]: 3: Hoare triple {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:14,601 INFO L280 TraceCheckUtils]: 4: Hoare triple {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1638#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:14,602 INFO L280 TraceCheckUtils]: 5: Hoare triple {1638#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:14,603 INFO L280 TraceCheckUtils]: 6: Hoare triple {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:14,604 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {1636#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-17 22:29:14,605 INFO L280 TraceCheckUtils]: 8: Hoare triple {1636#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1637#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:14,606 INFO L280 TraceCheckUtils]: 9: Hoare triple {1637#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {1637#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:14,607 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1637#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {1595#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #73#return; {1607#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-17 22:29:14,637 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:14,689 INFO L280 TraceCheckUtils]: 0: Hoare triple {1640#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:14,690 INFO L280 TraceCheckUtils]: 1: Hoare triple {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:14,690 INFO L280 TraceCheckUtils]: 2: Hoare triple {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:14,691 INFO L280 TraceCheckUtils]: 3: Hoare triple {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {1642#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:14,692 INFO L280 TraceCheckUtils]: 4: Hoare triple {1642#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {1642#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:14,693 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1642#(= ~elem~0.offset |list_add_#in~new.offset|)} {1608#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #75#return; {1615#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} is VALID [2020-07-17 22:29:14,695 INFO L263 TraceCheckUtils]: 0: Hoare triple {1578#true} call ULTIMATE.init(); {1618#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:14,695 INFO L280 TraceCheckUtils]: 1: Hoare triple {1618#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {1578#true} is VALID [2020-07-17 22:29:14,695 INFO L280 TraceCheckUtils]: 2: Hoare triple {1578#true} assume true; {1578#true} is VALID [2020-07-17 22:29:14,695 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1578#true} {1578#true} #89#return; {1578#true} is VALID [2020-07-17 22:29:14,696 INFO L263 TraceCheckUtils]: 4: Hoare triple {1578#true} call #t~ret34 := main(); {1578#true} is VALID [2020-07-17 22:29:14,696 INFO L280 TraceCheckUtils]: 5: Hoare triple {1578#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {1578#true} is VALID [2020-07-17 22:29:14,697 INFO L263 TraceCheckUtils]: 6: Hoare triple {1578#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:14,697 INFO L280 TraceCheckUtils]: 7: Hoare triple {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1578#true} is VALID [2020-07-17 22:29:14,698 INFO L263 TraceCheckUtils]: 8: Hoare triple {1578#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:14,698 INFO L280 TraceCheckUtils]: 9: Hoare triple {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1578#true} is VALID [2020-07-17 22:29:14,698 INFO L280 TraceCheckUtils]: 10: Hoare triple {1578#true} assume ~size > 0; {1578#true} is VALID [2020-07-17 22:29:14,698 INFO L280 TraceCheckUtils]: 11: Hoare triple {1578#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1578#true} is VALID [2020-07-17 22:29:14,700 INFO L280 TraceCheckUtils]: 12: Hoare triple {1578#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:14,701 INFO L280 TraceCheckUtils]: 13: Hoare triple {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:14,702 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {1578#true} #69#return; {1626#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:14,702 INFO L280 TraceCheckUtils]: 15: Hoare triple {1626#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:14,703 INFO L280 TraceCheckUtils]: 16: Hoare triple {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:14,704 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {1578#true} #71#return; {1594#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:14,705 INFO L280 TraceCheckUtils]: 18: Hoare triple {1594#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {1595#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:14,706 INFO L263 TraceCheckUtils]: 19: Hoare triple {1595#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:14,707 INFO L280 TraceCheckUtils]: 20: Hoare triple {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:14,708 INFO L263 TraceCheckUtils]: 21: Hoare triple {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:14,709 INFO L280 TraceCheckUtils]: 22: Hoare triple {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:14,710 INFO L280 TraceCheckUtils]: 23: Hoare triple {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:14,712 INFO L280 TraceCheckUtils]: 24: Hoare triple {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1638#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:14,713 INFO L280 TraceCheckUtils]: 25: Hoare triple {1638#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:14,714 INFO L280 TraceCheckUtils]: 26: Hoare triple {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:14,715 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {1636#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-17 22:29:14,716 INFO L280 TraceCheckUtils]: 28: Hoare triple {1636#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1637#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:14,723 INFO L280 TraceCheckUtils]: 29: Hoare triple {1637#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {1637#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:14,724 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {1637#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {1595#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #73#return; {1607#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-17 22:29:14,725 INFO L280 TraceCheckUtils]: 31: Hoare triple {1607#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {1608#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:14,725 INFO L280 TraceCheckUtils]: 32: Hoare triple {1608#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {1608#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:14,727 INFO L263 TraceCheckUtils]: 33: Hoare triple {1608#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {1640#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:14,727 INFO L280 TraceCheckUtils]: 34: Hoare triple {1640#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:14,728 INFO L280 TraceCheckUtils]: 35: Hoare triple {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:14,728 INFO L280 TraceCheckUtils]: 36: Hoare triple {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:14,729 INFO L280 TraceCheckUtils]: 37: Hoare triple {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {1642#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:14,729 INFO L280 TraceCheckUtils]: 38: Hoare triple {1642#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {1642#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:14,731 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {1642#(= ~elem~0.offset |list_add_#in~new.offset|)} {1608#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #75#return; {1615#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} is VALID [2020-07-17 22:29:14,732 INFO L263 TraceCheckUtils]: 40: Hoare triple {1615#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {1616#(<= (+ |list_add_#in~new.offset| 1) ~elem~0.offset)} is VALID [2020-07-17 22:29:14,733 INFO L280 TraceCheckUtils]: 41: Hoare triple {1616#(<= (+ |list_add_#in~new.offset| 1) ~elem~0.offset)} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {1617#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-17 22:29:14,734 INFO L280 TraceCheckUtils]: 42: Hoare triple {1617#(not (= ~elem~0.offset list_add_~new.offset))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {1579#false} is VALID [2020-07-17 22:29:14,734 INFO L263 TraceCheckUtils]: 43: Hoare triple {1579#false} call __blast_assert(); {1579#false} is VALID [2020-07-17 22:29:14,734 INFO L280 TraceCheckUtils]: 44: Hoare triple {1579#false} assume !false; {1579#false} is VALID [2020-07-17 22:29:14,737 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 4 proven. 7 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-17 22:29:14,738 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1884638899] [2020-07-17 22:29:14,738 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [263500685] [2020-07-17 22:29:14,738 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:29:14,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:14,858 INFO L264 TraceCheckSpWp]: Trace formula consists of 264 conjuncts, 23 conjunts are in the unsatisfiable core [2020-07-17 22:29:14,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:14,876 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:29:15,424 INFO L263 TraceCheckUtils]: 0: Hoare triple {1578#true} call ULTIMATE.init(); {1578#true} is VALID [2020-07-17 22:29:15,424 INFO L280 TraceCheckUtils]: 1: Hoare triple {1578#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {1578#true} is VALID [2020-07-17 22:29:15,425 INFO L280 TraceCheckUtils]: 2: Hoare triple {1578#true} assume true; {1578#true} is VALID [2020-07-17 22:29:15,425 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1578#true} {1578#true} #89#return; {1578#true} is VALID [2020-07-17 22:29:15,425 INFO L263 TraceCheckUtils]: 4: Hoare triple {1578#true} call #t~ret34 := main(); {1578#true} is VALID [2020-07-17 22:29:15,425 INFO L280 TraceCheckUtils]: 5: Hoare triple {1578#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {1578#true} is VALID [2020-07-17 22:29:15,425 INFO L263 TraceCheckUtils]: 6: Hoare triple {1578#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {1578#true} is VALID [2020-07-17 22:29:15,426 INFO L280 TraceCheckUtils]: 7: Hoare triple {1578#true} ~size := #in~size; {1578#true} is VALID [2020-07-17 22:29:15,426 INFO L263 TraceCheckUtils]: 8: Hoare triple {1578#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1578#true} is VALID [2020-07-17 22:29:15,426 INFO L280 TraceCheckUtils]: 9: Hoare triple {1578#true} ~size := #in~size; {1578#true} is VALID [2020-07-17 22:29:15,426 INFO L280 TraceCheckUtils]: 10: Hoare triple {1578#true} assume ~size > 0; {1578#true} is VALID [2020-07-17 22:29:15,426 INFO L280 TraceCheckUtils]: 11: Hoare triple {1578#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1578#true} is VALID [2020-07-17 22:29:15,427 INFO L280 TraceCheckUtils]: 12: Hoare triple {1578#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:15,428 INFO L280 TraceCheckUtils]: 13: Hoare triple {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:15,429 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {1578#true} #69#return; {1626#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:15,430 INFO L280 TraceCheckUtils]: 15: Hoare triple {1626#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:15,431 INFO L280 TraceCheckUtils]: 16: Hoare triple {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:15,432 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {1578#true} #71#return; {1594#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:15,432 INFO L280 TraceCheckUtils]: 18: Hoare triple {1594#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {1595#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:15,433 INFO L263 TraceCheckUtils]: 19: Hoare triple {1595#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:15,434 INFO L280 TraceCheckUtils]: 20: Hoare triple {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} ~size := #in~size; {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:15,434 INFO L263 TraceCheckUtils]: 21: Hoare triple {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:15,435 INFO L280 TraceCheckUtils]: 22: Hoare triple {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} ~size := #in~size; {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:15,436 INFO L280 TraceCheckUtils]: 23: Hoare triple {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} assume ~size > 0; {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:15,437 INFO L280 TraceCheckUtils]: 24: Hoare triple {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1638#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:15,437 INFO L280 TraceCheckUtils]: 25: Hoare triple {1638#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1722#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} is VALID [2020-07-17 22:29:15,438 INFO L280 TraceCheckUtils]: 26: Hoare triple {1722#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} assume true; {1722#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} is VALID [2020-07-17 22:29:15,439 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1722#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} #69#return; {1729#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|))} is VALID [2020-07-17 22:29:15,442 INFO L280 TraceCheckUtils]: 28: Hoare triple {1729#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1733#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} is VALID [2020-07-17 22:29:15,443 INFO L280 TraceCheckUtils]: 29: Hoare triple {1733#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} assume true; {1733#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} is VALID [2020-07-17 22:29:15,445 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {1733#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} {1595#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #73#return; {1607#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-17 22:29:15,446 INFO L280 TraceCheckUtils]: 31: Hoare triple {1607#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {1608#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:15,447 INFO L280 TraceCheckUtils]: 32: Hoare triple {1608#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {1608#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:15,447 INFO L263 TraceCheckUtils]: 33: Hoare triple {1608#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {1578#true} is VALID [2020-07-17 22:29:15,448 INFO L280 TraceCheckUtils]: 34: Hoare triple {1578#true} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {1752#(<= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:15,448 INFO L280 TraceCheckUtils]: 35: Hoare triple {1752#(<= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {1752#(<= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:15,449 INFO L280 TraceCheckUtils]: 36: Hoare triple {1752#(<= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {1752#(<= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:15,449 INFO L280 TraceCheckUtils]: 37: Hoare triple {1752#(<= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {1762#(<= |list_add_#in~new.offset| ~elem~0.offset)} is VALID [2020-07-17 22:29:15,450 INFO L280 TraceCheckUtils]: 38: Hoare triple {1762#(<= |list_add_#in~new.offset| ~elem~0.offset)} assume true; {1762#(<= |list_add_#in~new.offset| ~elem~0.offset)} is VALID [2020-07-17 22:29:15,452 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {1762#(<= |list_add_#in~new.offset| ~elem~0.offset)} {1608#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #75#return; {1615#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} is VALID [2020-07-17 22:29:15,454 INFO L263 TraceCheckUtils]: 40: Hoare triple {1615#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {1616#(<= (+ |list_add_#in~new.offset| 1) ~elem~0.offset)} is VALID [2020-07-17 22:29:15,455 INFO L280 TraceCheckUtils]: 41: Hoare triple {1616#(<= (+ |list_add_#in~new.offset| 1) ~elem~0.offset)} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {1775#(<= (+ list_add_~new.offset 1) ~elem~0.offset)} is VALID [2020-07-17 22:29:15,456 INFO L280 TraceCheckUtils]: 42: Hoare triple {1775#(<= (+ list_add_~new.offset 1) ~elem~0.offset)} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {1579#false} is VALID [2020-07-17 22:29:15,456 INFO L263 TraceCheckUtils]: 43: Hoare triple {1579#false} call __blast_assert(); {1579#false} is VALID [2020-07-17 22:29:15,456 INFO L280 TraceCheckUtils]: 44: Hoare triple {1579#false} assume !false; {1579#false} is VALID [2020-07-17 22:29:15,460 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 7 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:29:15,460 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:29:15,460 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 19] total 29 [2020-07-17 22:29:15,461 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [947623510] [2020-07-17 22:29:15,462 INFO L78 Accepts]: Start accepts. Automaton has 29 states. Word has length 45 [2020-07-17 22:29:15,468 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:29:15,469 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states. [2020-07-17 22:29:15,557 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:29:15,558 INFO L459 AbstractCegarLoop]: Interpolant automaton has 29 states [2020-07-17 22:29:15,558 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:29:15,558 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2020-07-17 22:29:15,559 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=736, Unknown=0, NotChecked=0, Total=812 [2020-07-17 22:29:15,559 INFO L87 Difference]: Start difference. First operand 60 states and 72 transitions. Second operand 29 states. [2020-07-17 22:29:21,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:21,704 INFO L93 Difference]: Finished difference Result 80 states and 99 transitions. [2020-07-17 22:29:21,704 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2020-07-17 22:29:21,705 INFO L78 Accepts]: Start accepts. Automaton has 29 states. Word has length 45 [2020-07-17 22:29:21,705 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:29:21,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2020-07-17 22:29:21,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 77 transitions. [2020-07-17 22:29:21,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2020-07-17 22:29:21,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 77 transitions. [2020-07-17 22:29:21,713 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 77 transitions. [2020-07-17 22:29:21,890 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:29:21,894 INFO L225 Difference]: With dead ends: 80 [2020-07-17 22:29:21,895 INFO L226 Difference]: Without dead ends: 76 [2020-07-17 22:29:21,896 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 46 SyntacticMatches, 0 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 208 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=210, Invalid=1682, Unknown=0, NotChecked=0, Total=1892 [2020-07-17 22:29:21,896 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2020-07-17 22:29:22,042 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 72. [2020-07-17 22:29:22,043 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:29:22,043 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand 72 states. [2020-07-17 22:29:22,043 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 72 states. [2020-07-17 22:29:22,043 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 72 states. [2020-07-17 22:29:22,047 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:22,047 INFO L93 Difference]: Finished difference Result 76 states and 90 transitions. [2020-07-17 22:29:22,047 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 90 transitions. [2020-07-17 22:29:22,048 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:29:22,048 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:29:22,048 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 76 states. [2020-07-17 22:29:22,049 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 76 states. [2020-07-17 22:29:22,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:22,053 INFO L93 Difference]: Finished difference Result 76 states and 90 transitions. [2020-07-17 22:29:22,053 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 90 transitions. [2020-07-17 22:29:22,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:29:22,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:29:22,054 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:29:22,054 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:29:22,054 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 72 states. [2020-07-17 22:29:22,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 85 transitions. [2020-07-17 22:29:22,059 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 85 transitions. Word has length 45 [2020-07-17 22:29:22,059 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:29:22,059 INFO L479 AbstractCegarLoop]: Abstraction has 72 states and 85 transitions. [2020-07-17 22:29:22,059 INFO L480 AbstractCegarLoop]: Interpolant automaton has 29 states. [2020-07-17 22:29:22,059 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 85 transitions. [2020-07-17 22:29:22,060 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2020-07-17 22:29:22,060 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:29:22,060 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:29:22,273 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:29:22,274 INFO L427 AbstractCegarLoop]: === Iteration 6 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:29:22,275 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:29:22,275 INFO L82 PathProgramCache]: Analyzing trace with hash 512124461, now seen corresponding path program 1 times [2020-07-17 22:29:22,275 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:29:22,276 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1773775613] [2020-07-17 22:29:22,276 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:29:22,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:22,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:22,499 INFO L280 TraceCheckUtils]: 0: Hoare triple {2217#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:22,500 INFO L280 TraceCheckUtils]: 1: Hoare triple {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} assume true; {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:22,501 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} {2179#true} #89#return; {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:22,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:22,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:22,671 INFO L280 TraceCheckUtils]: 0: Hoare triple {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:22,673 INFO L280 TraceCheckUtils]: 1: Hoare triple {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:22,676 INFO L280 TraceCheckUtils]: 2: Hoare triple {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2228#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:22,678 INFO L280 TraceCheckUtils]: 3: Hoare triple {2228#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:22,679 INFO L280 TraceCheckUtils]: 4: Hoare triple {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:22,680 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {2226#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-17 22:29:22,682 INFO L280 TraceCheckUtils]: 0: Hoare triple {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:22,684 INFO L263 TraceCheckUtils]: 1: Hoare triple {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:22,685 INFO L280 TraceCheckUtils]: 2: Hoare triple {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:22,685 INFO L280 TraceCheckUtils]: 3: Hoare triple {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:22,686 INFO L280 TraceCheckUtils]: 4: Hoare triple {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2228#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:22,688 INFO L280 TraceCheckUtils]: 5: Hoare triple {2228#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:22,688 INFO L280 TraceCheckUtils]: 6: Hoare triple {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:22,690 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {2226#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-17 22:29:22,692 INFO L280 TraceCheckUtils]: 8: Hoare triple {2226#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2227#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:22,693 INFO L280 TraceCheckUtils]: 9: Hoare triple {2227#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {2227#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:22,695 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2227#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} #71#return; {2196#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} is VALID [2020-07-17 22:29:22,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:22,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:22,713 INFO L280 TraceCheckUtils]: 0: Hoare triple {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2179#true} is VALID [2020-07-17 22:29:22,713 INFO L280 TraceCheckUtils]: 1: Hoare triple {2179#true} assume ~size > 0; {2179#true} is VALID [2020-07-17 22:29:22,713 INFO L280 TraceCheckUtils]: 2: Hoare triple {2179#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2179#true} is VALID [2020-07-17 22:29:22,714 INFO L280 TraceCheckUtils]: 3: Hoare triple {2179#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2179#true} is VALID [2020-07-17 22:29:22,714 INFO L280 TraceCheckUtils]: 4: Hoare triple {2179#true} assume true; {2179#true} is VALID [2020-07-17 22:29:22,714 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2179#true} {2179#true} #69#return; {2179#true} is VALID [2020-07-17 22:29:22,714 INFO L280 TraceCheckUtils]: 0: Hoare triple {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2179#true} is VALID [2020-07-17 22:29:22,715 INFO L263 TraceCheckUtils]: 1: Hoare triple {2179#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:22,716 INFO L280 TraceCheckUtils]: 2: Hoare triple {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2179#true} is VALID [2020-07-17 22:29:22,716 INFO L280 TraceCheckUtils]: 3: Hoare triple {2179#true} assume ~size > 0; {2179#true} is VALID [2020-07-17 22:29:22,716 INFO L280 TraceCheckUtils]: 4: Hoare triple {2179#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2179#true} is VALID [2020-07-17 22:29:22,716 INFO L280 TraceCheckUtils]: 5: Hoare triple {2179#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2179#true} is VALID [2020-07-17 22:29:22,717 INFO L280 TraceCheckUtils]: 6: Hoare triple {2179#true} assume true; {2179#true} is VALID [2020-07-17 22:29:22,717 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {2179#true} {2179#true} #69#return; {2179#true} is VALID [2020-07-17 22:29:22,717 INFO L280 TraceCheckUtils]: 8: Hoare triple {2179#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2179#true} is VALID [2020-07-17 22:29:22,717 INFO L280 TraceCheckUtils]: 9: Hoare triple {2179#true} assume true; {2179#true} is VALID [2020-07-17 22:29:22,719 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2179#true} {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #73#return; {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-17 22:29:22,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:22,790 INFO L280 TraceCheckUtils]: 0: Hoare triple {2236#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-17 22:29:22,791 INFO L280 TraceCheckUtils]: 1: Hoare triple {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-17 22:29:22,792 INFO L280 TraceCheckUtils]: 2: Hoare triple {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-17 22:29:22,793 INFO L280 TraceCheckUtils]: 3: Hoare triple {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31);havoc #t~nondet31; {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-17 22:29:22,793 INFO L280 TraceCheckUtils]: 4: Hoare triple {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-17 22:29:22,795 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #75#return; {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-17 22:29:22,797 INFO L263 TraceCheckUtils]: 0: Hoare triple {2179#true} call ULTIMATE.init(); {2217#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:22,798 INFO L280 TraceCheckUtils]: 1: Hoare triple {2217#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:22,800 INFO L280 TraceCheckUtils]: 2: Hoare triple {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} assume true; {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:22,800 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} {2179#true} #89#return; {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:22,801 INFO L263 TraceCheckUtils]: 4: Hoare triple {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} call #t~ret34 := main(); {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:22,802 INFO L280 TraceCheckUtils]: 5: Hoare triple {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-17 22:29:22,803 INFO L263 TraceCheckUtils]: 6: Hoare triple {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:22,805 INFO L280 TraceCheckUtils]: 7: Hoare triple {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:22,806 INFO L263 TraceCheckUtils]: 8: Hoare triple {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:22,807 INFO L280 TraceCheckUtils]: 9: Hoare triple {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:22,808 INFO L280 TraceCheckUtils]: 10: Hoare triple {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:22,810 INFO L280 TraceCheckUtils]: 11: Hoare triple {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2228#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:22,811 INFO L280 TraceCheckUtils]: 12: Hoare triple {2228#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:22,812 INFO L280 TraceCheckUtils]: 13: Hoare triple {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:22,813 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {2226#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-17 22:29:22,814 INFO L280 TraceCheckUtils]: 15: Hoare triple {2226#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2227#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:22,815 INFO L280 TraceCheckUtils]: 16: Hoare triple {2227#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {2227#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:22,817 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {2227#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} #71#return; {2196#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} is VALID [2020-07-17 22:29:22,818 INFO L280 TraceCheckUtils]: 18: Hoare triple {2196#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-17 22:29:22,819 INFO L263 TraceCheckUtils]: 19: Hoare triple {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:22,819 INFO L280 TraceCheckUtils]: 20: Hoare triple {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2179#true} is VALID [2020-07-17 22:29:22,820 INFO L263 TraceCheckUtils]: 21: Hoare triple {2179#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:22,821 INFO L280 TraceCheckUtils]: 22: Hoare triple {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2179#true} is VALID [2020-07-17 22:29:22,821 INFO L280 TraceCheckUtils]: 23: Hoare triple {2179#true} assume ~size > 0; {2179#true} is VALID [2020-07-17 22:29:22,821 INFO L280 TraceCheckUtils]: 24: Hoare triple {2179#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2179#true} is VALID [2020-07-17 22:29:22,821 INFO L280 TraceCheckUtils]: 25: Hoare triple {2179#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2179#true} is VALID [2020-07-17 22:29:22,821 INFO L280 TraceCheckUtils]: 26: Hoare triple {2179#true} assume true; {2179#true} is VALID [2020-07-17 22:29:22,822 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {2179#true} {2179#true} #69#return; {2179#true} is VALID [2020-07-17 22:29:22,822 INFO L280 TraceCheckUtils]: 28: Hoare triple {2179#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2179#true} is VALID [2020-07-17 22:29:22,822 INFO L280 TraceCheckUtils]: 29: Hoare triple {2179#true} assume true; {2179#true} is VALID [2020-07-17 22:29:22,823 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {2179#true} {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #73#return; {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-17 22:29:22,824 INFO L280 TraceCheckUtils]: 31: Hoare triple {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-17 22:29:22,824 INFO L280 TraceCheckUtils]: 32: Hoare triple {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-17 22:29:22,826 INFO L263 TraceCheckUtils]: 33: Hoare triple {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {2236#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:22,826 INFO L280 TraceCheckUtils]: 34: Hoare triple {2236#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-17 22:29:22,827 INFO L280 TraceCheckUtils]: 35: Hoare triple {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-17 22:29:22,828 INFO L280 TraceCheckUtils]: 36: Hoare triple {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-17 22:29:22,829 INFO L280 TraceCheckUtils]: 37: Hoare triple {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31);havoc #t~nondet31; {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-17 22:29:22,829 INFO L280 TraceCheckUtils]: 38: Hoare triple {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-17 22:29:22,831 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #75#return; {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-17 22:29:22,833 INFO L263 TraceCheckUtils]: 40: Hoare triple {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {2215#(and (= 0 ~elem~0.offset) (<= 1 |list_add_#in~new.offset|))} is VALID [2020-07-17 22:29:22,833 INFO L280 TraceCheckUtils]: 41: Hoare triple {2215#(and (= 0 ~elem~0.offset) (<= 1 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2216#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-17 22:29:22,834 INFO L280 TraceCheckUtils]: 42: Hoare triple {2216#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {2180#false} is VALID [2020-07-17 22:29:22,834 INFO L263 TraceCheckUtils]: 43: Hoare triple {2180#false} call __blast_assert(); {2180#false} is VALID [2020-07-17 22:29:22,835 INFO L280 TraceCheckUtils]: 44: Hoare triple {2180#false} assume !false; {2180#false} is VALID [2020-07-17 22:29:22,838 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-17 22:29:22,839 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1773775613] [2020-07-17 22:29:22,839 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [879485970] [2020-07-17 22:29:22,839 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:29:22,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:22,973 INFO L264 TraceCheckSpWp]: Trace formula consists of 261 conjuncts, 23 conjunts are in the unsatisfiable core [2020-07-17 22:29:23,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:23,009 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:29:23,582 INFO L263 TraceCheckUtils]: 0: Hoare triple {2179#true} call ULTIMATE.init(); {2179#true} is VALID [2020-07-17 22:29:23,583 INFO L280 TraceCheckUtils]: 1: Hoare triple {2179#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,584 INFO L280 TraceCheckUtils]: 2: Hoare triple {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} assume true; {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,584 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} {2179#true} #89#return; {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,585 INFO L263 TraceCheckUtils]: 4: Hoare triple {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} call #t~ret34 := main(); {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,586 INFO L280 TraceCheckUtils]: 5: Hoare triple {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,587 INFO L263 TraceCheckUtils]: 6: Hoare triple {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,587 INFO L280 TraceCheckUtils]: 7: Hoare triple {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} ~size := #in~size; {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,588 INFO L263 TraceCheckUtils]: 8: Hoare triple {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,588 INFO L280 TraceCheckUtils]: 9: Hoare triple {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} ~size := #in~size; {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,589 INFO L280 TraceCheckUtils]: 10: Hoare triple {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} assume ~size > 0; {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,590 INFO L280 TraceCheckUtils]: 11: Hoare triple {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2276#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,590 INFO L280 TraceCheckUtils]: 12: Hoare triple {2276#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2280#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,591 INFO L280 TraceCheckUtils]: 13: Hoare triple {2280#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|) (<= ~elem~0.offset 0))} assume true; {2280#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,592 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {2280#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|) (<= ~elem~0.offset 0))} {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} #69#return; {2287#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,592 INFO L280 TraceCheckUtils]: 15: Hoare triple {2287#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|) (<= ~elem~0.offset 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2291#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,593 INFO L280 TraceCheckUtils]: 16: Hoare triple {2291#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|) (<= ~elem~0.offset 0))} assume true; {2291#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,594 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {2291#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|) (<= ~elem~0.offset 0))} {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} #71#return; {2298#(and (<= 1 |main_#t~ret32.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,594 INFO L280 TraceCheckUtils]: 18: Hoare triple {2298#(and (<= 1 |main_#t~ret32.offset|) (<= ~elem~0.offset 0))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,595 INFO L263 TraceCheckUtils]: 19: Hoare triple {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-17 22:29:23,596 INFO L280 TraceCheckUtils]: 20: Hoare triple {2306#(<= ~elem~0.offset 0)} ~size := #in~size; {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-17 22:29:23,596 INFO L263 TraceCheckUtils]: 21: Hoare triple {2306#(<= ~elem~0.offset 0)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-17 22:29:23,597 INFO L280 TraceCheckUtils]: 22: Hoare triple {2306#(<= ~elem~0.offset 0)} ~size := #in~size; {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-17 22:29:23,597 INFO L280 TraceCheckUtils]: 23: Hoare triple {2306#(<= ~elem~0.offset 0)} assume ~size > 0; {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-17 22:29:23,598 INFO L280 TraceCheckUtils]: 24: Hoare triple {2306#(<= ~elem~0.offset 0)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-17 22:29:23,598 INFO L280 TraceCheckUtils]: 25: Hoare triple {2306#(<= ~elem~0.offset 0)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-17 22:29:23,599 INFO L280 TraceCheckUtils]: 26: Hoare triple {2306#(<= ~elem~0.offset 0)} assume true; {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-17 22:29:23,600 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {2306#(<= ~elem~0.offset 0)} {2306#(<= ~elem~0.offset 0)} #69#return; {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-17 22:29:23,600 INFO L280 TraceCheckUtils]: 28: Hoare triple {2306#(<= ~elem~0.offset 0)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-17 22:29:23,600 INFO L280 TraceCheckUtils]: 29: Hoare triple {2306#(<= ~elem~0.offset 0)} assume true; {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-17 22:29:23,601 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {2306#(<= ~elem~0.offset 0)} {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} #73#return; {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,602 INFO L280 TraceCheckUtils]: 31: Hoare triple {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,602 INFO L280 TraceCheckUtils]: 32: Hoare triple {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,603 INFO L263 TraceCheckUtils]: 33: Hoare triple {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-17 22:29:23,603 INFO L280 TraceCheckUtils]: 34: Hoare triple {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-17 22:29:23,604 INFO L280 TraceCheckUtils]: 35: Hoare triple {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-17 22:29:23,604 INFO L280 TraceCheckUtils]: 36: Hoare triple {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-17 22:29:23,605 INFO L280 TraceCheckUtils]: 37: Hoare triple {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} assume !(0 != #t~nondet31);havoc #t~nondet31; {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-17 22:29:23,605 INFO L280 TraceCheckUtils]: 38: Hoare triple {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} assume true; {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-17 22:29:23,607 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} #75#return; {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,607 INFO L263 TraceCheckUtils]: 40: Hoare triple {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {2371#(and (<= 1 |list_add_#in~new.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,608 INFO L280 TraceCheckUtils]: 41: Hoare triple {2371#(and (<= 1 |list_add_#in~new.offset|) (<= ~elem~0.offset 0))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2375#(and (<= 1 list_add_~new.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:23,609 INFO L280 TraceCheckUtils]: 42: Hoare triple {2375#(and (<= 1 list_add_~new.offset) (<= ~elem~0.offset 0))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {2180#false} is VALID [2020-07-17 22:29:23,609 INFO L263 TraceCheckUtils]: 43: Hoare triple {2180#false} call __blast_assert(); {2180#false} is VALID [2020-07-17 22:29:23,609 INFO L280 TraceCheckUtils]: 44: Hoare triple {2180#false} assume !false; {2180#false} is VALID [2020-07-17 22:29:23,613 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 0 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:29:23,613 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:29:23,613 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 14] total 28 [2020-07-17 22:29:23,613 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1294500390] [2020-07-17 22:29:23,614 INFO L78 Accepts]: Start accepts. Automaton has 28 states. Word has length 45 [2020-07-17 22:29:23,614 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:29:23,615 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 28 states. [2020-07-17 22:29:23,730 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:29:23,730 INFO L459 AbstractCegarLoop]: Interpolant automaton has 28 states [2020-07-17 22:29:23,731 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:29:23,731 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2020-07-17 22:29:23,732 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=95, Invalid=661, Unknown=0, NotChecked=0, Total=756 [2020-07-17 22:29:23,732 INFO L87 Difference]: Start difference. First operand 72 states and 85 transitions. Second operand 28 states. [2020-07-17 22:29:28,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:28,671 INFO L93 Difference]: Finished difference Result 90 states and 104 transitions. [2020-07-17 22:29:28,671 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2020-07-17 22:29:28,672 INFO L78 Accepts]: Start accepts. Automaton has 28 states. Word has length 45 [2020-07-17 22:29:28,672 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:29:28,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2020-07-17 22:29:28,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 94 transitions. [2020-07-17 22:29:28,677 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2020-07-17 22:29:28,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 94 transitions. [2020-07-17 22:29:28,680 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 94 transitions. [2020-07-17 22:29:28,869 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:29:28,872 INFO L225 Difference]: With dead ends: 90 [2020-07-17 22:29:28,872 INFO L226 Difference]: Without dead ends: 74 [2020-07-17 22:29:28,874 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 43 SyntacticMatches, 0 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 225 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=271, Invalid=1369, Unknown=0, NotChecked=0, Total=1640 [2020-07-17 22:29:28,874 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2020-07-17 22:29:29,006 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 63. [2020-07-17 22:29:29,006 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:29:29,006 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand 63 states. [2020-07-17 22:29:29,006 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 63 states. [2020-07-17 22:29:29,006 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 63 states. [2020-07-17 22:29:29,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:29,011 INFO L93 Difference]: Finished difference Result 74 states and 84 transitions. [2020-07-17 22:29:29,012 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 84 transitions. [2020-07-17 22:29:29,012 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:29:29,012 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:29:29,012 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 74 states. [2020-07-17 22:29:29,013 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 74 states. [2020-07-17 22:29:29,016 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:29,017 INFO L93 Difference]: Finished difference Result 74 states and 84 transitions. [2020-07-17 22:29:29,017 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 84 transitions. [2020-07-17 22:29:29,019 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:29:29,019 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:29:29,019 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:29:29,019 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:29:29,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 63 states. [2020-07-17 22:29:29,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 72 transitions. [2020-07-17 22:29:29,023 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 72 transitions. Word has length 45 [2020-07-17 22:29:29,023 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:29:29,023 INFO L479 AbstractCegarLoop]: Abstraction has 63 states and 72 transitions. [2020-07-17 22:29:29,023 INFO L480 AbstractCegarLoop]: Interpolant automaton has 28 states. [2020-07-17 22:29:29,023 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 72 transitions. [2020-07-17 22:29:29,026 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2020-07-17 22:29:29,026 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:29:29,027 INFO L422 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:29:29,241 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:29:29,242 INFO L427 AbstractCegarLoop]: === Iteration 7 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:29:29,243 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:29:29,243 INFO L82 PathProgramCache]: Analyzing trace with hash 1069126843, now seen corresponding path program 1 times [2020-07-17 22:29:29,243 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:29:29,244 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [264971720] [2020-07-17 22:29:29,244 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:29:29,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:29,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:29,468 INFO L280 TraceCheckUtils]: 0: Hoare triple {2823#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {2773#true} is VALID [2020-07-17 22:29:29,468 INFO L280 TraceCheckUtils]: 1: Hoare triple {2773#true} assume true; {2773#true} is VALID [2020-07-17 22:29:29,469 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2773#true} {2773#true} #89#return; {2773#true} is VALID [2020-07-17 22:29:29,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:29,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:29,581 INFO L280 TraceCheckUtils]: 0: Hoare triple {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2773#true} is VALID [2020-07-17 22:29:29,581 INFO L280 TraceCheckUtils]: 1: Hoare triple {2773#true} assume ~size > 0; {2773#true} is VALID [2020-07-17 22:29:29,582 INFO L280 TraceCheckUtils]: 2: Hoare triple {2773#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2773#true} is VALID [2020-07-17 22:29:29,583 INFO L280 TraceCheckUtils]: 3: Hoare triple {2773#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:29,584 INFO L280 TraceCheckUtils]: 4: Hoare triple {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:29,585 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {2773#true} #69#return; {2831#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:29,586 INFO L280 TraceCheckUtils]: 0: Hoare triple {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2773#true} is VALID [2020-07-17 22:29:29,587 INFO L263 TraceCheckUtils]: 1: Hoare triple {2773#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:29,587 INFO L280 TraceCheckUtils]: 2: Hoare triple {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2773#true} is VALID [2020-07-17 22:29:29,587 INFO L280 TraceCheckUtils]: 3: Hoare triple {2773#true} assume ~size > 0; {2773#true} is VALID [2020-07-17 22:29:29,588 INFO L280 TraceCheckUtils]: 4: Hoare triple {2773#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2773#true} is VALID [2020-07-17 22:29:29,588 INFO L280 TraceCheckUtils]: 5: Hoare triple {2773#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:29,589 INFO L280 TraceCheckUtils]: 6: Hoare triple {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:29,590 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {2773#true} #69#return; {2831#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:29,591 INFO L280 TraceCheckUtils]: 8: Hoare triple {2831#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:29,592 INFO L280 TraceCheckUtils]: 9: Hoare triple {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:29,593 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {2773#true} #71#return; {2789#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:29,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:29,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:29,748 INFO L280 TraceCheckUtils]: 0: Hoare triple {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:29,748 INFO L280 TraceCheckUtils]: 1: Hoare triple {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:29,749 INFO L280 TraceCheckUtils]: 2: Hoare triple {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2843#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:29,750 INFO L280 TraceCheckUtils]: 3: Hoare triple {2843#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:29,751 INFO L280 TraceCheckUtils]: 4: Hoare triple {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:29,752 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {2841#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-17 22:29:29,752 INFO L280 TraceCheckUtils]: 0: Hoare triple {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:29,753 INFO L263 TraceCheckUtils]: 1: Hoare triple {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:29,754 INFO L280 TraceCheckUtils]: 2: Hoare triple {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:29,754 INFO L280 TraceCheckUtils]: 3: Hoare triple {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:29,755 INFO L280 TraceCheckUtils]: 4: Hoare triple {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2843#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:29,756 INFO L280 TraceCheckUtils]: 5: Hoare triple {2843#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:29,757 INFO L280 TraceCheckUtils]: 6: Hoare triple {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:29,758 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {2841#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-17 22:29:29,759 INFO L280 TraceCheckUtils]: 8: Hoare triple {2841#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2842#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:29,759 INFO L280 TraceCheckUtils]: 9: Hoare triple {2842#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {2842#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:29,761 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2842#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {2790#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #73#return; {2802#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-17 22:29:29,788 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:29,793 INFO L280 TraceCheckUtils]: 0: Hoare triple {2845#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2773#true} is VALID [2020-07-17 22:29:29,794 INFO L280 TraceCheckUtils]: 1: Hoare triple {2773#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2773#true} is VALID [2020-07-17 22:29:29,794 INFO L280 TraceCheckUtils]: 2: Hoare triple {2773#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2773#true} is VALID [2020-07-17 22:29:29,794 INFO L280 TraceCheckUtils]: 3: Hoare triple {2773#true} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {2773#true} is VALID [2020-07-17 22:29:29,794 INFO L280 TraceCheckUtils]: 4: Hoare triple {2773#true} assume true; {2773#true} is VALID [2020-07-17 22:29:29,795 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2773#true} {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #75#return; {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:29,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:29,855 INFO L280 TraceCheckUtils]: 0: Hoare triple {2845#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:29,856 INFO L280 TraceCheckUtils]: 1: Hoare triple {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:29,856 INFO L280 TraceCheckUtils]: 2: Hoare triple {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:29,857 INFO L280 TraceCheckUtils]: 3: Hoare triple {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {2847#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:29,858 INFO L280 TraceCheckUtils]: 4: Hoare triple {2847#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {2847#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:29,859 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2847#(= ~elem~0.offset |list_add_#in~new.offset|)} {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #77#return; {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:29,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:29,891 INFO L280 TraceCheckUtils]: 0: Hoare triple {2845#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-17 22:29:29,892 INFO L280 TraceCheckUtils]: 1: Hoare triple {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-17 22:29:29,893 INFO L280 TraceCheckUtils]: 2: Hoare triple {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-17 22:29:29,894 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #79#return; {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:29,895 INFO L263 TraceCheckUtils]: 0: Hoare triple {2773#true} call ULTIMATE.init(); {2823#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:29,895 INFO L280 TraceCheckUtils]: 1: Hoare triple {2823#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {2773#true} is VALID [2020-07-17 22:29:29,896 INFO L280 TraceCheckUtils]: 2: Hoare triple {2773#true} assume true; {2773#true} is VALID [2020-07-17 22:29:29,896 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2773#true} {2773#true} #89#return; {2773#true} is VALID [2020-07-17 22:29:29,896 INFO L263 TraceCheckUtils]: 4: Hoare triple {2773#true} call #t~ret34 := main(); {2773#true} is VALID [2020-07-17 22:29:29,896 INFO L280 TraceCheckUtils]: 5: Hoare triple {2773#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {2773#true} is VALID [2020-07-17 22:29:29,898 INFO L263 TraceCheckUtils]: 6: Hoare triple {2773#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:29,898 INFO L280 TraceCheckUtils]: 7: Hoare triple {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2773#true} is VALID [2020-07-17 22:29:29,899 INFO L263 TraceCheckUtils]: 8: Hoare triple {2773#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:29,899 INFO L280 TraceCheckUtils]: 9: Hoare triple {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2773#true} is VALID [2020-07-17 22:29:29,900 INFO L280 TraceCheckUtils]: 10: Hoare triple {2773#true} assume ~size > 0; {2773#true} is VALID [2020-07-17 22:29:29,900 INFO L280 TraceCheckUtils]: 11: Hoare triple {2773#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2773#true} is VALID [2020-07-17 22:29:29,901 INFO L280 TraceCheckUtils]: 12: Hoare triple {2773#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:29,901 INFO L280 TraceCheckUtils]: 13: Hoare triple {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:29,903 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {2773#true} #69#return; {2831#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:29,904 INFO L280 TraceCheckUtils]: 15: Hoare triple {2831#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:29,904 INFO L280 TraceCheckUtils]: 16: Hoare triple {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:29,905 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {2773#true} #71#return; {2789#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:29,906 INFO L280 TraceCheckUtils]: 18: Hoare triple {2789#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {2790#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:29,907 INFO L263 TraceCheckUtils]: 19: Hoare triple {2790#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:29,908 INFO L280 TraceCheckUtils]: 20: Hoare triple {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:29,909 INFO L263 TraceCheckUtils]: 21: Hoare triple {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:29,909 INFO L280 TraceCheckUtils]: 22: Hoare triple {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:29,910 INFO L280 TraceCheckUtils]: 23: Hoare triple {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:29,911 INFO L280 TraceCheckUtils]: 24: Hoare triple {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2843#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:29,912 INFO L280 TraceCheckUtils]: 25: Hoare triple {2843#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:29,912 INFO L280 TraceCheckUtils]: 26: Hoare triple {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:29,914 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {2841#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-17 22:29:29,914 INFO L280 TraceCheckUtils]: 28: Hoare triple {2841#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2842#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:29,915 INFO L280 TraceCheckUtils]: 29: Hoare triple {2842#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {2842#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:29,916 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {2842#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {2790#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #73#return; {2802#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-17 22:29:29,917 INFO L280 TraceCheckUtils]: 31: Hoare triple {2802#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:29,917 INFO L280 TraceCheckUtils]: 32: Hoare triple {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:29,919 INFO L263 TraceCheckUtils]: 33: Hoare triple {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {2845#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:29,919 INFO L280 TraceCheckUtils]: 34: Hoare triple {2845#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2773#true} is VALID [2020-07-17 22:29:29,919 INFO L280 TraceCheckUtils]: 35: Hoare triple {2773#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2773#true} is VALID [2020-07-17 22:29:29,919 INFO L280 TraceCheckUtils]: 36: Hoare triple {2773#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2773#true} is VALID [2020-07-17 22:29:29,919 INFO L280 TraceCheckUtils]: 37: Hoare triple {2773#true} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {2773#true} is VALID [2020-07-17 22:29:29,920 INFO L280 TraceCheckUtils]: 38: Hoare triple {2773#true} assume true; {2773#true} is VALID [2020-07-17 22:29:29,921 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {2773#true} {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #75#return; {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:29,922 INFO L263 TraceCheckUtils]: 40: Hoare triple {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {2845#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:29,923 INFO L280 TraceCheckUtils]: 41: Hoare triple {2845#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:29,923 INFO L280 TraceCheckUtils]: 42: Hoare triple {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:29,924 INFO L280 TraceCheckUtils]: 43: Hoare triple {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:29,924 INFO L280 TraceCheckUtils]: 44: Hoare triple {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {2847#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:29,925 INFO L280 TraceCheckUtils]: 45: Hoare triple {2847#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {2847#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:29,926 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {2847#(= ~elem~0.offset |list_add_#in~new.offset|)} {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #77#return; {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:29,927 INFO L263 TraceCheckUtils]: 47: Hoare triple {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {2845#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:29,928 INFO L280 TraceCheckUtils]: 48: Hoare triple {2845#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-17 22:29:29,929 INFO L280 TraceCheckUtils]: 49: Hoare triple {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-17 22:29:29,929 INFO L280 TraceCheckUtils]: 50: Hoare triple {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-17 22:29:29,930 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #79#return; {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:29,932 INFO L263 TraceCheckUtils]: 52: Hoare triple {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {2821#(<= (+ ~elem~0.offset 1) |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:29,933 INFO L280 TraceCheckUtils]: 53: Hoare triple {2821#(<= (+ ~elem~0.offset 1) |list_add_#in~new.offset|)} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2822#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-17 22:29:29,934 INFO L280 TraceCheckUtils]: 54: Hoare triple {2822#(not (= ~elem~0.offset list_add_~new.offset))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {2774#false} is VALID [2020-07-17 22:29:29,934 INFO L263 TraceCheckUtils]: 55: Hoare triple {2774#false} call __blast_assert(); {2774#false} is VALID [2020-07-17 22:29:29,934 INFO L280 TraceCheckUtils]: 56: Hoare triple {2774#false} assume !false; {2774#false} is VALID [2020-07-17 22:29:29,939 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 10 proven. 8 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2020-07-17 22:29:29,940 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [264971720] [2020-07-17 22:29:29,940 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [275142414] [2020-07-17 22:29:29,940 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:29:30,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:30,065 INFO L264 TraceCheckSpWp]: Trace formula consists of 317 conjuncts, 25 conjunts are in the unsatisfiable core [2020-07-17 22:29:30,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:30,104 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:29:30,597 INFO L263 TraceCheckUtils]: 0: Hoare triple {2773#true} call ULTIMATE.init(); {2773#true} is VALID [2020-07-17 22:29:30,597 INFO L280 TraceCheckUtils]: 1: Hoare triple {2773#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {2773#true} is VALID [2020-07-17 22:29:30,598 INFO L280 TraceCheckUtils]: 2: Hoare triple {2773#true} assume true; {2773#true} is VALID [2020-07-17 22:29:30,598 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2773#true} {2773#true} #89#return; {2773#true} is VALID [2020-07-17 22:29:30,598 INFO L263 TraceCheckUtils]: 4: Hoare triple {2773#true} call #t~ret34 := main(); {2773#true} is VALID [2020-07-17 22:29:30,598 INFO L280 TraceCheckUtils]: 5: Hoare triple {2773#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {2773#true} is VALID [2020-07-17 22:29:30,599 INFO L263 TraceCheckUtils]: 6: Hoare triple {2773#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {2773#true} is VALID [2020-07-17 22:29:30,599 INFO L280 TraceCheckUtils]: 7: Hoare triple {2773#true} ~size := #in~size; {2773#true} is VALID [2020-07-17 22:29:30,599 INFO L263 TraceCheckUtils]: 8: Hoare triple {2773#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2773#true} is VALID [2020-07-17 22:29:30,599 INFO L280 TraceCheckUtils]: 9: Hoare triple {2773#true} ~size := #in~size; {2773#true} is VALID [2020-07-17 22:29:30,600 INFO L280 TraceCheckUtils]: 10: Hoare triple {2773#true} assume ~size > 0; {2773#true} is VALID [2020-07-17 22:29:30,600 INFO L280 TraceCheckUtils]: 11: Hoare triple {2773#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2773#true} is VALID [2020-07-17 22:29:30,600 INFO L280 TraceCheckUtils]: 12: Hoare triple {2773#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:30,601 INFO L280 TraceCheckUtils]: 13: Hoare triple {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:30,602 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {2773#true} #69#return; {2831#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:30,602 INFO L280 TraceCheckUtils]: 15: Hoare triple {2831#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:30,603 INFO L280 TraceCheckUtils]: 16: Hoare triple {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:30,604 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {2773#true} #71#return; {2789#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:30,605 INFO L280 TraceCheckUtils]: 18: Hoare triple {2789#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {2790#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:30,606 INFO L263 TraceCheckUtils]: 19: Hoare triple {2790#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:30,607 INFO L280 TraceCheckUtils]: 20: Hoare triple {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} ~size := #in~size; {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:30,607 INFO L263 TraceCheckUtils]: 21: Hoare triple {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:30,608 INFO L280 TraceCheckUtils]: 22: Hoare triple {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} ~size := #in~size; {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:30,609 INFO L280 TraceCheckUtils]: 23: Hoare triple {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} assume ~size > 0; {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:30,610 INFO L280 TraceCheckUtils]: 24: Hoare triple {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2843#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:30,611 INFO L280 TraceCheckUtils]: 25: Hoare triple {2843#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2928#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} is VALID [2020-07-17 22:29:30,611 INFO L280 TraceCheckUtils]: 26: Hoare triple {2928#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} assume true; {2928#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} is VALID [2020-07-17 22:29:30,612 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {2928#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} #69#return; {2935#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|))} is VALID [2020-07-17 22:29:30,613 INFO L280 TraceCheckUtils]: 28: Hoare triple {2935#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2939#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} is VALID [2020-07-17 22:29:30,613 INFO L280 TraceCheckUtils]: 29: Hoare triple {2939#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} assume true; {2939#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} is VALID [2020-07-17 22:29:30,614 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {2939#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} {2790#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #73#return; {2802#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-17 22:29:30,614 INFO L280 TraceCheckUtils]: 31: Hoare triple {2802#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:30,615 INFO L280 TraceCheckUtils]: 32: Hoare triple {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:30,615 INFO L263 TraceCheckUtils]: 33: Hoare triple {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {2773#true} is VALID [2020-07-17 22:29:30,615 INFO L280 TraceCheckUtils]: 34: Hoare triple {2773#true} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2773#true} is VALID [2020-07-17 22:29:30,615 INFO L280 TraceCheckUtils]: 35: Hoare triple {2773#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2773#true} is VALID [2020-07-17 22:29:30,615 INFO L280 TraceCheckUtils]: 36: Hoare triple {2773#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2773#true} is VALID [2020-07-17 22:29:30,616 INFO L280 TraceCheckUtils]: 37: Hoare triple {2773#true} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {2773#true} is VALID [2020-07-17 22:29:30,616 INFO L280 TraceCheckUtils]: 38: Hoare triple {2773#true} assume true; {2773#true} is VALID [2020-07-17 22:29:30,616 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {2773#true} {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #75#return; {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:30,616 INFO L263 TraceCheckUtils]: 40: Hoare triple {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {2773#true} is VALID [2020-07-17 22:29:30,617 INFO L280 TraceCheckUtils]: 41: Hoare triple {2773#true} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2979#(<= list_add_~new.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:30,617 INFO L280 TraceCheckUtils]: 42: Hoare triple {2979#(<= list_add_~new.offset |list_add_#in~new.offset|)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2979#(<= list_add_~new.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:30,618 INFO L280 TraceCheckUtils]: 43: Hoare triple {2979#(<= list_add_~new.offset |list_add_#in~new.offset|)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2979#(<= list_add_~new.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:30,618 INFO L280 TraceCheckUtils]: 44: Hoare triple {2979#(<= list_add_~new.offset |list_add_#in~new.offset|)} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {2989#(<= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:30,619 INFO L280 TraceCheckUtils]: 45: Hoare triple {2989#(<= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {2989#(<= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:30,620 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {2989#(<= ~elem~0.offset |list_add_#in~new.offset|)} {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #77#return; {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:30,620 INFO L263 TraceCheckUtils]: 47: Hoare triple {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {2999#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-17 22:29:30,621 INFO L280 TraceCheckUtils]: 48: Hoare triple {2999#(<= ~elem~0.offset |old(~elem~0.offset)|)} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {2999#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-17 22:29:30,621 INFO L280 TraceCheckUtils]: 49: Hoare triple {2999#(<= ~elem~0.offset |old(~elem~0.offset)|)} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {2999#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-17 22:29:30,621 INFO L280 TraceCheckUtils]: 50: Hoare triple {2999#(<= ~elem~0.offset |old(~elem~0.offset)|)} assume true; {2999#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-17 22:29:30,622 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {2999#(<= ~elem~0.offset |old(~elem~0.offset)|)} {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #79#return; {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:30,623 INFO L263 TraceCheckUtils]: 52: Hoare triple {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {2821#(<= (+ ~elem~0.offset 1) |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:30,624 INFO L280 TraceCheckUtils]: 53: Hoare triple {2821#(<= (+ ~elem~0.offset 1) |list_add_#in~new.offset|)} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {3018#(<= (+ ~elem~0.offset 1) list_add_~new.offset)} is VALID [2020-07-17 22:29:30,624 INFO L280 TraceCheckUtils]: 54: Hoare triple {3018#(<= (+ ~elem~0.offset 1) list_add_~new.offset)} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {2774#false} is VALID [2020-07-17 22:29:30,625 INFO L263 TraceCheckUtils]: 55: Hoare triple {2774#false} call __blast_assert(); {2774#false} is VALID [2020-07-17 22:29:30,625 INFO L280 TraceCheckUtils]: 56: Hoare triple {2774#false} assume !false; {2774#false} is VALID [2020-07-17 22:29:30,629 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 14 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-17 22:29:30,629 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:29:30,630 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 20] total 31 [2020-07-17 22:29:30,630 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1326053259] [2020-07-17 22:29:30,630 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 57 [2020-07-17 22:29:30,634 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:29:30,634 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states. [2020-07-17 22:29:30,748 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:29:30,749 INFO L459 AbstractCegarLoop]: Interpolant automaton has 31 states [2020-07-17 22:29:30,749 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:29:30,749 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2020-07-17 22:29:30,750 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=85, Invalid=845, Unknown=0, NotChecked=0, Total=930 [2020-07-17 22:29:30,750 INFO L87 Difference]: Start difference. First operand 63 states and 72 transitions. Second operand 31 states. [2020-07-17 22:29:35,776 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:35,776 INFO L93 Difference]: Finished difference Result 74 states and 84 transitions. [2020-07-17 22:29:35,777 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2020-07-17 22:29:35,777 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 57 [2020-07-17 22:29:35,777 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:29:35,777 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2020-07-17 22:29:35,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 67 transitions. [2020-07-17 22:29:35,780 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2020-07-17 22:29:35,782 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 67 transitions. [2020-07-17 22:29:35,783 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 67 transitions. [2020-07-17 22:29:35,921 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:29:35,924 INFO L225 Difference]: With dead ends: 74 [2020-07-17 22:29:35,924 INFO L226 Difference]: Without dead ends: 71 [2020-07-17 22:29:35,926 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 63 SyntacticMatches, 0 SemanticMatches, 44 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 223 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=243, Invalid=1827, Unknown=0, NotChecked=0, Total=2070 [2020-07-17 22:29:35,926 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2020-07-17 22:29:36,059 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 70. [2020-07-17 22:29:36,059 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:29:36,059 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand 70 states. [2020-07-17 22:29:36,060 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 70 states. [2020-07-17 22:29:36,060 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 70 states. [2020-07-17 22:29:36,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:36,064 INFO L93 Difference]: Finished difference Result 71 states and 81 transitions. [2020-07-17 22:29:36,064 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 81 transitions. [2020-07-17 22:29:36,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:29:36,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:29:36,065 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 71 states. [2020-07-17 22:29:36,065 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 71 states. [2020-07-17 22:29:36,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:36,069 INFO L93 Difference]: Finished difference Result 71 states and 81 transitions. [2020-07-17 22:29:36,069 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 81 transitions. [2020-07-17 22:29:36,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:29:36,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:29:36,070 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:29:36,070 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:29:36,070 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 70 states. [2020-07-17 22:29:36,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 80 transitions. [2020-07-17 22:29:36,073 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 80 transitions. Word has length 57 [2020-07-17 22:29:36,074 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:29:36,074 INFO L479 AbstractCegarLoop]: Abstraction has 70 states and 80 transitions. [2020-07-17 22:29:36,074 INFO L480 AbstractCegarLoop]: Interpolant automaton has 31 states. [2020-07-17 22:29:36,074 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 80 transitions. [2020-07-17 22:29:36,075 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2020-07-17 22:29:36,075 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:29:36,075 INFO L422 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:29:36,288 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable6 [2020-07-17 22:29:36,289 INFO L427 AbstractCegarLoop]: === Iteration 8 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:29:36,290 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:29:36,290 INFO L82 PathProgramCache]: Analyzing trace with hash 1878473469, now seen corresponding path program 1 times [2020-07-17 22:29:36,290 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:29:36,291 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1523971081] [2020-07-17 22:29:36,291 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:29:36,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:36,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:36,417 INFO L280 TraceCheckUtils]: 0: Hoare triple {3448#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {3400#true} is VALID [2020-07-17 22:29:36,417 INFO L280 TraceCheckUtils]: 1: Hoare triple {3400#true} assume true; {3400#true} is VALID [2020-07-17 22:29:36,418 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {3400#true} {3400#true} #89#return; {3400#true} is VALID [2020-07-17 22:29:36,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:36,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:36,498 INFO L280 TraceCheckUtils]: 0: Hoare triple {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3400#true} is VALID [2020-07-17 22:29:36,499 INFO L280 TraceCheckUtils]: 1: Hoare triple {3400#true} assume ~size > 0; {3400#true} is VALID [2020-07-17 22:29:36,499 INFO L280 TraceCheckUtils]: 2: Hoare triple {3400#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3400#true} is VALID [2020-07-17 22:29:36,500 INFO L280 TraceCheckUtils]: 3: Hoare triple {3400#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:36,500 INFO L280 TraceCheckUtils]: 4: Hoare triple {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:36,501 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3400#true} #69#return; {3456#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:36,502 INFO L280 TraceCheckUtils]: 0: Hoare triple {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3400#true} is VALID [2020-07-17 22:29:36,502 INFO L263 TraceCheckUtils]: 1: Hoare triple {3400#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:36,503 INFO L280 TraceCheckUtils]: 2: Hoare triple {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3400#true} is VALID [2020-07-17 22:29:36,503 INFO L280 TraceCheckUtils]: 3: Hoare triple {3400#true} assume ~size > 0; {3400#true} is VALID [2020-07-17 22:29:36,503 INFO L280 TraceCheckUtils]: 4: Hoare triple {3400#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3400#true} is VALID [2020-07-17 22:29:36,505 INFO L280 TraceCheckUtils]: 5: Hoare triple {3400#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:36,505 INFO L280 TraceCheckUtils]: 6: Hoare triple {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:36,506 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3400#true} #69#return; {3456#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:36,507 INFO L280 TraceCheckUtils]: 8: Hoare triple {3456#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:36,507 INFO L280 TraceCheckUtils]: 9: Hoare triple {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:36,508 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3400#true} #71#return; {3416#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:36,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:36,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:36,629 INFO L280 TraceCheckUtils]: 0: Hoare triple {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:36,630 INFO L280 TraceCheckUtils]: 1: Hoare triple {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:36,631 INFO L280 TraceCheckUtils]: 2: Hoare triple {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3468#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:36,632 INFO L280 TraceCheckUtils]: 3: Hoare triple {3468#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:36,632 INFO L280 TraceCheckUtils]: 4: Hoare triple {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:36,633 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {3466#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-17 22:29:36,633 INFO L280 TraceCheckUtils]: 0: Hoare triple {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:36,634 INFO L263 TraceCheckUtils]: 1: Hoare triple {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:36,635 INFO L280 TraceCheckUtils]: 2: Hoare triple {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:36,635 INFO L280 TraceCheckUtils]: 3: Hoare triple {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:36,636 INFO L280 TraceCheckUtils]: 4: Hoare triple {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3468#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:36,637 INFO L280 TraceCheckUtils]: 5: Hoare triple {3468#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:36,637 INFO L280 TraceCheckUtils]: 6: Hoare triple {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:36,643 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {3466#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-17 22:29:36,644 INFO L280 TraceCheckUtils]: 8: Hoare triple {3466#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {3467#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:36,645 INFO L280 TraceCheckUtils]: 9: Hoare triple {3467#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {3467#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:36,646 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3467#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {3417#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #73#return; {3429#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-17 22:29:36,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:36,673 INFO L280 TraceCheckUtils]: 0: Hoare triple {3470#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {3400#true} is VALID [2020-07-17 22:29:36,674 INFO L280 TraceCheckUtils]: 1: Hoare triple {3400#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3400#true} is VALID [2020-07-17 22:29:36,674 INFO L280 TraceCheckUtils]: 2: Hoare triple {3400#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3400#true} is VALID [2020-07-17 22:29:36,674 INFO L280 TraceCheckUtils]: 3: Hoare triple {3400#true} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3400#true} is VALID [2020-07-17 22:29:36,674 INFO L280 TraceCheckUtils]: 4: Hoare triple {3400#true} assume true; {3400#true} is VALID [2020-07-17 22:29:36,675 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {3400#true} {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #75#return; {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:36,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:36,723 INFO L280 TraceCheckUtils]: 0: Hoare triple {3470#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:36,724 INFO L280 TraceCheckUtils]: 1: Hoare triple {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:36,724 INFO L280 TraceCheckUtils]: 2: Hoare triple {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:36,725 INFO L280 TraceCheckUtils]: 3: Hoare triple {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3472#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:36,725 INFO L280 TraceCheckUtils]: 4: Hoare triple {3472#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {3472#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:36,727 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {3472#(= ~elem~0.offset |list_add_#in~new.offset|)} {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #77#return; {3443#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:36,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:36,793 INFO L280 TraceCheckUtils]: 0: Hoare triple {3470#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {3473#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-17 22:29:36,794 INFO L280 TraceCheckUtils]: 1: Hoare triple {3473#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset;~elem~0.base, ~elem~0.offset := 0, 0; {3474#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-17 22:29:36,795 INFO L280 TraceCheckUtils]: 2: Hoare triple {3474#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} assume true; {3474#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-17 22:29:36,795 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3474#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} {3443#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #79#return; {3401#false} is VALID [2020-07-17 22:29:36,797 INFO L263 TraceCheckUtils]: 0: Hoare triple {3400#true} call ULTIMATE.init(); {3448#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:36,797 INFO L280 TraceCheckUtils]: 1: Hoare triple {3448#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {3400#true} is VALID [2020-07-17 22:29:36,797 INFO L280 TraceCheckUtils]: 2: Hoare triple {3400#true} assume true; {3400#true} is VALID [2020-07-17 22:29:36,797 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3400#true} {3400#true} #89#return; {3400#true} is VALID [2020-07-17 22:29:36,797 INFO L263 TraceCheckUtils]: 4: Hoare triple {3400#true} call #t~ret34 := main(); {3400#true} is VALID [2020-07-17 22:29:36,797 INFO L280 TraceCheckUtils]: 5: Hoare triple {3400#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {3400#true} is VALID [2020-07-17 22:29:36,798 INFO L263 TraceCheckUtils]: 6: Hoare triple {3400#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:36,798 INFO L280 TraceCheckUtils]: 7: Hoare triple {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3400#true} is VALID [2020-07-17 22:29:36,799 INFO L263 TraceCheckUtils]: 8: Hoare triple {3400#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:36,799 INFO L280 TraceCheckUtils]: 9: Hoare triple {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3400#true} is VALID [2020-07-17 22:29:36,799 INFO L280 TraceCheckUtils]: 10: Hoare triple {3400#true} assume ~size > 0; {3400#true} is VALID [2020-07-17 22:29:36,799 INFO L280 TraceCheckUtils]: 11: Hoare triple {3400#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3400#true} is VALID [2020-07-17 22:29:36,799 INFO L280 TraceCheckUtils]: 12: Hoare triple {3400#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:36,800 INFO L280 TraceCheckUtils]: 13: Hoare triple {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:36,801 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3400#true} #69#return; {3456#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:36,803 INFO L280 TraceCheckUtils]: 15: Hoare triple {3456#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:36,809 INFO L280 TraceCheckUtils]: 16: Hoare triple {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:36,811 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3400#true} #71#return; {3416#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:36,811 INFO L280 TraceCheckUtils]: 18: Hoare triple {3416#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {3417#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:36,812 INFO L263 TraceCheckUtils]: 19: Hoare triple {3417#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:36,813 INFO L280 TraceCheckUtils]: 20: Hoare triple {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:36,814 INFO L263 TraceCheckUtils]: 21: Hoare triple {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:36,814 INFO L280 TraceCheckUtils]: 22: Hoare triple {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:36,815 INFO L280 TraceCheckUtils]: 23: Hoare triple {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:36,816 INFO L280 TraceCheckUtils]: 24: Hoare triple {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3468#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:36,816 INFO L280 TraceCheckUtils]: 25: Hoare triple {3468#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:36,817 INFO L280 TraceCheckUtils]: 26: Hoare triple {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:36,818 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {3466#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-17 22:29:36,819 INFO L280 TraceCheckUtils]: 28: Hoare triple {3466#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {3467#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:36,819 INFO L280 TraceCheckUtils]: 29: Hoare triple {3467#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {3467#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:36,821 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {3467#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {3417#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #73#return; {3429#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-17 22:29:36,821 INFO L280 TraceCheckUtils]: 31: Hoare triple {3429#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:36,822 INFO L280 TraceCheckUtils]: 32: Hoare triple {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:36,823 INFO L263 TraceCheckUtils]: 33: Hoare triple {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {3470#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:36,823 INFO L280 TraceCheckUtils]: 34: Hoare triple {3470#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {3400#true} is VALID [2020-07-17 22:29:36,824 INFO L280 TraceCheckUtils]: 35: Hoare triple {3400#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3400#true} is VALID [2020-07-17 22:29:36,824 INFO L280 TraceCheckUtils]: 36: Hoare triple {3400#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3400#true} is VALID [2020-07-17 22:29:36,824 INFO L280 TraceCheckUtils]: 37: Hoare triple {3400#true} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3400#true} is VALID [2020-07-17 22:29:36,824 INFO L280 TraceCheckUtils]: 38: Hoare triple {3400#true} assume true; {3400#true} is VALID [2020-07-17 22:29:36,825 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {3400#true} {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #75#return; {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:36,827 INFO L263 TraceCheckUtils]: 40: Hoare triple {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {3470#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:36,827 INFO L280 TraceCheckUtils]: 41: Hoare triple {3470#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:36,828 INFO L280 TraceCheckUtils]: 42: Hoare triple {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:36,828 INFO L280 TraceCheckUtils]: 43: Hoare triple {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-17 22:29:36,829 INFO L280 TraceCheckUtils]: 44: Hoare triple {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3472#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:36,830 INFO L280 TraceCheckUtils]: 45: Hoare triple {3472#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {3472#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:36,831 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {3472#(= ~elem~0.offset |list_add_#in~new.offset|)} {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #77#return; {3443#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:36,832 INFO L263 TraceCheckUtils]: 47: Hoare triple {3443#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {3470#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:36,833 INFO L280 TraceCheckUtils]: 48: Hoare triple {3470#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {3473#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-17 22:29:36,833 INFO L280 TraceCheckUtils]: 49: Hoare triple {3473#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset;~elem~0.base, ~elem~0.offset := 0, 0; {3474#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-17 22:29:36,834 INFO L280 TraceCheckUtils]: 50: Hoare triple {3474#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} assume true; {3474#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-17 22:29:36,835 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {3474#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} {3443#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #79#return; {3401#false} is VALID [2020-07-17 22:29:36,835 INFO L263 TraceCheckUtils]: 52: Hoare triple {3401#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {3401#false} is VALID [2020-07-17 22:29:36,835 INFO L280 TraceCheckUtils]: 53: Hoare triple {3401#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {3401#false} is VALID [2020-07-17 22:29:36,835 INFO L280 TraceCheckUtils]: 54: Hoare triple {3401#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {3401#false} is VALID [2020-07-17 22:29:36,836 INFO L263 TraceCheckUtils]: 55: Hoare triple {3401#false} call __blast_assert(); {3401#false} is VALID [2020-07-17 22:29:36,836 INFO L280 TraceCheckUtils]: 56: Hoare triple {3401#false} assume !false; {3401#false} is VALID [2020-07-17 22:29:36,840 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 5 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2020-07-17 22:29:36,840 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1523971081] [2020-07-17 22:29:36,841 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [956677024] [2020-07-17 22:29:36,841 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:29:36,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:36,960 INFO L264 TraceCheckSpWp]: Trace formula consists of 324 conjuncts, 23 conjunts are in the unsatisfiable core [2020-07-17 22:29:36,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:36,983 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:29:37,512 INFO L263 TraceCheckUtils]: 0: Hoare triple {3400#true} call ULTIMATE.init(); {3400#true} is VALID [2020-07-17 22:29:37,512 INFO L280 TraceCheckUtils]: 1: Hoare triple {3400#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {3400#true} is VALID [2020-07-17 22:29:37,512 INFO L280 TraceCheckUtils]: 2: Hoare triple {3400#true} assume true; {3400#true} is VALID [2020-07-17 22:29:37,512 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3400#true} {3400#true} #89#return; {3400#true} is VALID [2020-07-17 22:29:37,512 INFO L263 TraceCheckUtils]: 4: Hoare triple {3400#true} call #t~ret34 := main(); {3400#true} is VALID [2020-07-17 22:29:37,513 INFO L280 TraceCheckUtils]: 5: Hoare triple {3400#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {3400#true} is VALID [2020-07-17 22:29:37,513 INFO L263 TraceCheckUtils]: 6: Hoare triple {3400#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {3400#true} is VALID [2020-07-17 22:29:37,513 INFO L280 TraceCheckUtils]: 7: Hoare triple {3400#true} ~size := #in~size; {3400#true} is VALID [2020-07-17 22:29:37,513 INFO L263 TraceCheckUtils]: 8: Hoare triple {3400#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3400#true} is VALID [2020-07-17 22:29:37,513 INFO L280 TraceCheckUtils]: 9: Hoare triple {3400#true} ~size := #in~size; {3400#true} is VALID [2020-07-17 22:29:37,514 INFO L280 TraceCheckUtils]: 10: Hoare triple {3400#true} assume ~size > 0; {3400#true} is VALID [2020-07-17 22:29:37,514 INFO L280 TraceCheckUtils]: 11: Hoare triple {3400#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3400#true} is VALID [2020-07-17 22:29:37,515 INFO L280 TraceCheckUtils]: 12: Hoare triple {3400#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:37,515 INFO L280 TraceCheckUtils]: 13: Hoare triple {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:37,516 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3400#true} #69#return; {3456#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:37,517 INFO L280 TraceCheckUtils]: 15: Hoare triple {3456#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:37,517 INFO L280 TraceCheckUtils]: 16: Hoare triple {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:37,518 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3400#true} #71#return; {3416#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:37,519 INFO L280 TraceCheckUtils]: 18: Hoare triple {3416#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {3417#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:37,519 INFO L263 TraceCheckUtils]: 19: Hoare triple {3417#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:37,520 INFO L280 TraceCheckUtils]: 20: Hoare triple {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} ~size := #in~size; {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:37,520 INFO L263 TraceCheckUtils]: 21: Hoare triple {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:37,521 INFO L280 TraceCheckUtils]: 22: Hoare triple {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} ~size := #in~size; {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:37,521 INFO L280 TraceCheckUtils]: 23: Hoare triple {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} assume ~size > 0; {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:37,522 INFO L280 TraceCheckUtils]: 24: Hoare triple {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3468#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:37,523 INFO L280 TraceCheckUtils]: 25: Hoare triple {3468#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3554#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} is VALID [2020-07-17 22:29:37,524 INFO L280 TraceCheckUtils]: 26: Hoare triple {3554#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} assume true; {3554#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} is VALID [2020-07-17 22:29:37,525 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {3554#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} #69#return; {3561#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|))} is VALID [2020-07-17 22:29:37,525 INFO L280 TraceCheckUtils]: 28: Hoare triple {3561#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {3565#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} is VALID [2020-07-17 22:29:37,526 INFO L280 TraceCheckUtils]: 29: Hoare triple {3565#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} assume true; {3565#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} is VALID [2020-07-17 22:29:37,527 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {3565#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} {3417#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #73#return; {3429#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-17 22:29:37,527 INFO L280 TraceCheckUtils]: 31: Hoare triple {3429#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:37,528 INFO L280 TraceCheckUtils]: 32: Hoare triple {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:37,528 INFO L263 TraceCheckUtils]: 33: Hoare triple {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {3400#true} is VALID [2020-07-17 22:29:37,528 INFO L280 TraceCheckUtils]: 34: Hoare triple {3400#true} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {3400#true} is VALID [2020-07-17 22:29:37,529 INFO L280 TraceCheckUtils]: 35: Hoare triple {3400#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3400#true} is VALID [2020-07-17 22:29:37,529 INFO L280 TraceCheckUtils]: 36: Hoare triple {3400#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3400#true} is VALID [2020-07-17 22:29:37,529 INFO L280 TraceCheckUtils]: 37: Hoare triple {3400#true} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3400#true} is VALID [2020-07-17 22:29:37,529 INFO L280 TraceCheckUtils]: 38: Hoare triple {3400#true} assume true; {3400#true} is VALID [2020-07-17 22:29:37,530 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {3400#true} {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #75#return; {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:37,530 INFO L263 TraceCheckUtils]: 40: Hoare triple {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {3400#true} is VALID [2020-07-17 22:29:37,530 INFO L280 TraceCheckUtils]: 41: Hoare triple {3400#true} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {3605#(<= list_add_~new.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:37,531 INFO L280 TraceCheckUtils]: 42: Hoare triple {3605#(<= list_add_~new.offset |list_add_#in~new.offset|)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3605#(<= list_add_~new.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:37,536 INFO L280 TraceCheckUtils]: 43: Hoare triple {3605#(<= list_add_~new.offset |list_add_#in~new.offset|)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3605#(<= list_add_~new.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:37,536 INFO L280 TraceCheckUtils]: 44: Hoare triple {3605#(<= list_add_~new.offset |list_add_#in~new.offset|)} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3615#(<= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:37,537 INFO L280 TraceCheckUtils]: 45: Hoare triple {3615#(<= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {3615#(<= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-17 22:29:37,538 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {3615#(<= ~elem~0.offset |list_add_#in~new.offset|)} {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #77#return; {3443#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-17 22:29:37,539 INFO L263 TraceCheckUtils]: 47: Hoare triple {3443#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {3625#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-17 22:29:37,540 INFO L280 TraceCheckUtils]: 48: Hoare triple {3625#(<= ~elem~0.offset |old(~elem~0.offset)|)} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {3629#(and (<= ~elem~0.offset |old(~elem~0.offset)|) (<= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-17 22:29:37,540 INFO L280 TraceCheckUtils]: 49: Hoare triple {3629#(and (<= ~elem~0.offset |old(~elem~0.offset)|) (<= |list_del_#in~entry.offset| list_del_~entry.offset))} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset;~elem~0.base, ~elem~0.offset := 0, 0; {3633#(<= |list_del_#in~entry.offset| |old(~elem~0.offset)|)} is VALID [2020-07-17 22:29:37,541 INFO L280 TraceCheckUtils]: 50: Hoare triple {3633#(<= |list_del_#in~entry.offset| |old(~elem~0.offset)|)} assume true; {3633#(<= |list_del_#in~entry.offset| |old(~elem~0.offset)|)} is VALID [2020-07-17 22:29:37,542 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {3633#(<= |list_del_#in~entry.offset| |old(~elem~0.offset)|)} {3443#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #79#return; {3401#false} is VALID [2020-07-17 22:29:37,542 INFO L263 TraceCheckUtils]: 52: Hoare triple {3401#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {3401#false} is VALID [2020-07-17 22:29:37,542 INFO L280 TraceCheckUtils]: 53: Hoare triple {3401#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {3401#false} is VALID [2020-07-17 22:29:37,542 INFO L280 TraceCheckUtils]: 54: Hoare triple {3401#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {3401#false} is VALID [2020-07-17 22:29:37,543 INFO L263 TraceCheckUtils]: 55: Hoare triple {3401#false} call __blast_assert(); {3401#false} is VALID [2020-07-17 22:29:37,543 INFO L280 TraceCheckUtils]: 56: Hoare triple {3401#false} assume !false; {3401#false} is VALID [2020-07-17 22:29:37,546 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 15 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-17 22:29:37,546 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:29:37,547 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 20] total 31 [2020-07-17 22:29:37,547 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1100398147] [2020-07-17 22:29:37,547 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 57 [2020-07-17 22:29:37,551 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:29:37,551 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states. [2020-07-17 22:29:37,659 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:29:37,660 INFO L459 AbstractCegarLoop]: Interpolant automaton has 31 states [2020-07-17 22:29:37,660 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:29:37,660 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2020-07-17 22:29:37,661 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=84, Invalid=846, Unknown=0, NotChecked=0, Total=930 [2020-07-17 22:29:37,661 INFO L87 Difference]: Start difference. First operand 70 states and 80 transitions. Second operand 31 states. [2020-07-17 22:29:44,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:44,739 INFO L93 Difference]: Finished difference Result 84 states and 94 transitions. [2020-07-17 22:29:44,739 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2020-07-17 22:29:44,739 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 57 [2020-07-17 22:29:44,739 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:29:44,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2020-07-17 22:29:44,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 76 transitions. [2020-07-17 22:29:44,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2020-07-17 22:29:44,745 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 76 transitions. [2020-07-17 22:29:44,745 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 76 transitions. [2020-07-17 22:29:44,996 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:29:44,999 INFO L225 Difference]: With dead ends: 84 [2020-07-17 22:29:44,999 INFO L226 Difference]: Without dead ends: 71 [2020-07-17 22:29:45,001 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 61 SyntacticMatches, 0 SemanticMatches, 46 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 260 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=245, Invalid=2011, Unknown=0, NotChecked=0, Total=2256 [2020-07-17 22:29:45,001 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2020-07-17 22:29:45,214 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 70. [2020-07-17 22:29:45,215 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:29:45,215 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand 70 states. [2020-07-17 22:29:45,215 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 70 states. [2020-07-17 22:29:45,216 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 70 states. [2020-07-17 22:29:45,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:45,219 INFO L93 Difference]: Finished difference Result 71 states and 80 transitions. [2020-07-17 22:29:45,219 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 80 transitions. [2020-07-17 22:29:45,220 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:29:45,220 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:29:45,220 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 71 states. [2020-07-17 22:29:45,221 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 71 states. [2020-07-17 22:29:45,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:45,225 INFO L93 Difference]: Finished difference Result 71 states and 80 transitions. [2020-07-17 22:29:45,226 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 80 transitions. [2020-07-17 22:29:45,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:29:45,227 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:29:45,227 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:29:45,227 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:29:45,227 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 70 states. [2020-07-17 22:29:45,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 79 transitions. [2020-07-17 22:29:45,232 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 79 transitions. Word has length 57 [2020-07-17 22:29:45,232 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:29:45,233 INFO L479 AbstractCegarLoop]: Abstraction has 70 states and 79 transitions. [2020-07-17 22:29:45,233 INFO L480 AbstractCegarLoop]: Interpolant automaton has 31 states. [2020-07-17 22:29:45,233 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 79 transitions. [2020-07-17 22:29:45,234 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2020-07-17 22:29:45,234 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:29:45,235 INFO L422 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:29:45,448 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:29:45,449 INFO L427 AbstractCegarLoop]: === Iteration 9 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:29:45,449 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:29:45,449 INFO L82 PathProgramCache]: Analyzing trace with hash 482320829, now seen corresponding path program 1 times [2020-07-17 22:29:45,449 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:29:45,450 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [256257082] [2020-07-17 22:29:45,450 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:29:45,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:45,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:45,568 INFO L280 TraceCheckUtils]: 0: Hoare triple {4088#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {4044#true} is VALID [2020-07-17 22:29:45,569 INFO L280 TraceCheckUtils]: 1: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-17 22:29:45,569 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {4044#true} {4044#true} #89#return; {4044#true} is VALID [2020-07-17 22:29:45,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:45,586 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:45,590 INFO L280 TraceCheckUtils]: 0: Hoare triple {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4044#true} is VALID [2020-07-17 22:29:45,590 INFO L280 TraceCheckUtils]: 1: Hoare triple {4044#true} assume ~size > 0; {4044#true} is VALID [2020-07-17 22:29:45,591 INFO L280 TraceCheckUtils]: 2: Hoare triple {4044#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4044#true} is VALID [2020-07-17 22:29:45,591 INFO L280 TraceCheckUtils]: 3: Hoare triple {4044#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4044#true} is VALID [2020-07-17 22:29:45,591 INFO L280 TraceCheckUtils]: 4: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-17 22:29:45,591 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4044#true} {4044#true} #69#return; {4044#true} is VALID [2020-07-17 22:29:45,592 INFO L280 TraceCheckUtils]: 0: Hoare triple {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4044#true} is VALID [2020-07-17 22:29:45,593 INFO L263 TraceCheckUtils]: 1: Hoare triple {4044#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:45,593 INFO L280 TraceCheckUtils]: 2: Hoare triple {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4044#true} is VALID [2020-07-17 22:29:45,593 INFO L280 TraceCheckUtils]: 3: Hoare triple {4044#true} assume ~size > 0; {4044#true} is VALID [2020-07-17 22:29:45,593 INFO L280 TraceCheckUtils]: 4: Hoare triple {4044#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4044#true} is VALID [2020-07-17 22:29:45,593 INFO L280 TraceCheckUtils]: 5: Hoare triple {4044#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4044#true} is VALID [2020-07-17 22:29:45,594 INFO L280 TraceCheckUtils]: 6: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-17 22:29:45,594 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {4044#true} {4044#true} #69#return; {4044#true} is VALID [2020-07-17 22:29:45,594 INFO L280 TraceCheckUtils]: 8: Hoare triple {4044#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4044#true} is VALID [2020-07-17 22:29:45,594 INFO L280 TraceCheckUtils]: 9: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-17 22:29:45,594 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4044#true} {4044#true} #71#return; {4044#true} is VALID [2020-07-17 22:29:45,596 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:45,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:45,605 INFO L280 TraceCheckUtils]: 0: Hoare triple {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4044#true} is VALID [2020-07-17 22:29:45,606 INFO L280 TraceCheckUtils]: 1: Hoare triple {4044#true} assume ~size > 0; {4044#true} is VALID [2020-07-17 22:29:45,606 INFO L280 TraceCheckUtils]: 2: Hoare triple {4044#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4044#true} is VALID [2020-07-17 22:29:45,606 INFO L280 TraceCheckUtils]: 3: Hoare triple {4044#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4044#true} is VALID [2020-07-17 22:29:45,606 INFO L280 TraceCheckUtils]: 4: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-17 22:29:45,606 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4044#true} {4044#true} #69#return; {4044#true} is VALID [2020-07-17 22:29:45,607 INFO L280 TraceCheckUtils]: 0: Hoare triple {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4044#true} is VALID [2020-07-17 22:29:45,608 INFO L263 TraceCheckUtils]: 1: Hoare triple {4044#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:45,608 INFO L280 TraceCheckUtils]: 2: Hoare triple {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4044#true} is VALID [2020-07-17 22:29:45,608 INFO L280 TraceCheckUtils]: 3: Hoare triple {4044#true} assume ~size > 0; {4044#true} is VALID [2020-07-17 22:29:45,608 INFO L280 TraceCheckUtils]: 4: Hoare triple {4044#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4044#true} is VALID [2020-07-17 22:29:45,608 INFO L280 TraceCheckUtils]: 5: Hoare triple {4044#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4044#true} is VALID [2020-07-17 22:29:45,609 INFO L280 TraceCheckUtils]: 6: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-17 22:29:45,609 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {4044#true} {4044#true} #69#return; {4044#true} is VALID [2020-07-17 22:29:45,609 INFO L280 TraceCheckUtils]: 8: Hoare triple {4044#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4044#true} is VALID [2020-07-17 22:29:45,609 INFO L280 TraceCheckUtils]: 9: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-17 22:29:45,609 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4044#true} {4044#true} #73#return; {4044#true} is VALID [2020-07-17 22:29:45,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:45,666 INFO L280 TraceCheckUtils]: 0: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-17 22:29:45,667 INFO L280 TraceCheckUtils]: 1: Hoare triple {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-17 22:29:45,668 INFO L280 TraceCheckUtils]: 2: Hoare triple {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-17 22:29:45,670 INFO L280 TraceCheckUtils]: 3: Hoare triple {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-17 22:29:45,671 INFO L280 TraceCheckUtils]: 4: Hoare triple {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} assume true; {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-17 22:29:45,673 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} {4044#true} #75#return; {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-17 22:29:45,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:45,700 INFO L280 TraceCheckUtils]: 0: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:45,701 INFO L280 TraceCheckUtils]: 1: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:45,702 INFO L280 TraceCheckUtils]: 2: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:45,702 INFO L280 TraceCheckUtils]: 3: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume !(0 != #t~nondet31);havoc #t~nondet31; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:45,703 INFO L280 TraceCheckUtils]: 4: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume true; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:45,705 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #77#return; {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-17 22:29:45,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:45,754 INFO L280 TraceCheckUtils]: 0: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {4105#(and (= list_del_~entry.base |list_del_#in~entry.base|) (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset) (= |old(~elem~0.base)| ~elem~0.base))} is VALID [2020-07-17 22:29:45,756 INFO L280 TraceCheckUtils]: 1: Hoare triple {4105#(and (= list_del_~entry.base |list_del_#in~entry.base|) (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset) (= |old(~elem~0.base)| ~elem~0.base))} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {4106#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} is VALID [2020-07-17 22:29:45,756 INFO L280 TraceCheckUtils]: 2: Hoare triple {4106#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} assume true; {4106#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} is VALID [2020-07-17 22:29:45,757 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4106#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #79#return; {4045#false} is VALID [2020-07-17 22:29:45,759 INFO L263 TraceCheckUtils]: 0: Hoare triple {4044#true} call ULTIMATE.init(); {4088#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:45,759 INFO L280 TraceCheckUtils]: 1: Hoare triple {4088#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {4044#true} is VALID [2020-07-17 22:29:45,759 INFO L280 TraceCheckUtils]: 2: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-17 22:29:45,759 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4044#true} {4044#true} #89#return; {4044#true} is VALID [2020-07-17 22:29:45,759 INFO L263 TraceCheckUtils]: 4: Hoare triple {4044#true} call #t~ret34 := main(); {4044#true} is VALID [2020-07-17 22:29:45,760 INFO L280 TraceCheckUtils]: 5: Hoare triple {4044#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {4044#true} is VALID [2020-07-17 22:29:45,760 INFO L263 TraceCheckUtils]: 6: Hoare triple {4044#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:45,761 INFO L280 TraceCheckUtils]: 7: Hoare triple {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4044#true} is VALID [2020-07-17 22:29:45,761 INFO L263 TraceCheckUtils]: 8: Hoare triple {4044#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:45,762 INFO L280 TraceCheckUtils]: 9: Hoare triple {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4044#true} is VALID [2020-07-17 22:29:45,762 INFO L280 TraceCheckUtils]: 10: Hoare triple {4044#true} assume ~size > 0; {4044#true} is VALID [2020-07-17 22:29:45,762 INFO L280 TraceCheckUtils]: 11: Hoare triple {4044#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4044#true} is VALID [2020-07-17 22:29:45,762 INFO L280 TraceCheckUtils]: 12: Hoare triple {4044#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4044#true} is VALID [2020-07-17 22:29:45,762 INFO L280 TraceCheckUtils]: 13: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-17 22:29:45,762 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {4044#true} {4044#true} #69#return; {4044#true} is VALID [2020-07-17 22:29:45,763 INFO L280 TraceCheckUtils]: 15: Hoare triple {4044#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4044#true} is VALID [2020-07-17 22:29:45,763 INFO L280 TraceCheckUtils]: 16: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-17 22:29:45,763 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {4044#true} {4044#true} #71#return; {4044#true} is VALID [2020-07-17 22:29:45,763 INFO L280 TraceCheckUtils]: 18: Hoare triple {4044#true} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {4044#true} is VALID [2020-07-17 22:29:45,764 INFO L263 TraceCheckUtils]: 19: Hoare triple {4044#true} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:45,764 INFO L280 TraceCheckUtils]: 20: Hoare triple {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4044#true} is VALID [2020-07-17 22:29:45,765 INFO L263 TraceCheckUtils]: 21: Hoare triple {4044#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:45,765 INFO L280 TraceCheckUtils]: 22: Hoare triple {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4044#true} is VALID [2020-07-17 22:29:45,766 INFO L280 TraceCheckUtils]: 23: Hoare triple {4044#true} assume ~size > 0; {4044#true} is VALID [2020-07-17 22:29:45,766 INFO L280 TraceCheckUtils]: 24: Hoare triple {4044#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4044#true} is VALID [2020-07-17 22:29:45,766 INFO L280 TraceCheckUtils]: 25: Hoare triple {4044#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4044#true} is VALID [2020-07-17 22:29:45,766 INFO L280 TraceCheckUtils]: 26: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-17 22:29:45,766 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4044#true} {4044#true} #69#return; {4044#true} is VALID [2020-07-17 22:29:45,767 INFO L280 TraceCheckUtils]: 28: Hoare triple {4044#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4044#true} is VALID [2020-07-17 22:29:45,767 INFO L280 TraceCheckUtils]: 29: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-17 22:29:45,767 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {4044#true} {4044#true} #73#return; {4044#true} is VALID [2020-07-17 22:29:45,767 INFO L280 TraceCheckUtils]: 31: Hoare triple {4044#true} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {4044#true} is VALID [2020-07-17 22:29:45,767 INFO L280 TraceCheckUtils]: 32: Hoare triple {4044#true} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {4044#true} is VALID [2020-07-17 22:29:45,769 INFO L263 TraceCheckUtils]: 33: Hoare triple {4044#true} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:45,770 INFO L280 TraceCheckUtils]: 34: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-17 22:29:45,770 INFO L280 TraceCheckUtils]: 35: Hoare triple {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-17 22:29:45,771 INFO L280 TraceCheckUtils]: 36: Hoare triple {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-17 22:29:45,772 INFO L280 TraceCheckUtils]: 37: Hoare triple {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-17 22:29:45,773 INFO L280 TraceCheckUtils]: 38: Hoare triple {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} assume true; {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-17 22:29:45,774 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} {4044#true} #75#return; {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-17 22:29:45,775 INFO L263 TraceCheckUtils]: 40: Hoare triple {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:45,776 INFO L280 TraceCheckUtils]: 41: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:45,777 INFO L280 TraceCheckUtils]: 42: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:45,778 INFO L280 TraceCheckUtils]: 43: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:45,778 INFO L280 TraceCheckUtils]: 44: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume !(0 != #t~nondet31);havoc #t~nondet31; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:45,779 INFO L280 TraceCheckUtils]: 45: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume true; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:45,781 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #77#return; {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-17 22:29:45,782 INFO L263 TraceCheckUtils]: 47: Hoare triple {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} call list_del(~dev2~0.base, ~dev2~0.offset); {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:45,783 INFO L280 TraceCheckUtils]: 48: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {4105#(and (= list_del_~entry.base |list_del_#in~entry.base|) (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset) (= |old(~elem~0.base)| ~elem~0.base))} is VALID [2020-07-17 22:29:45,783 INFO L280 TraceCheckUtils]: 49: Hoare triple {4105#(and (= list_del_~entry.base |list_del_#in~entry.base|) (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset) (= |old(~elem~0.base)| ~elem~0.base))} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {4106#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} is VALID [2020-07-17 22:29:45,784 INFO L280 TraceCheckUtils]: 50: Hoare triple {4106#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} assume true; {4106#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} is VALID [2020-07-17 22:29:45,785 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4106#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #79#return; {4045#false} is VALID [2020-07-17 22:29:45,785 INFO L263 TraceCheckUtils]: 52: Hoare triple {4045#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4045#false} is VALID [2020-07-17 22:29:45,785 INFO L280 TraceCheckUtils]: 53: Hoare triple {4045#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4045#false} is VALID [2020-07-17 22:29:45,786 INFO L280 TraceCheckUtils]: 54: Hoare triple {4045#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {4045#false} is VALID [2020-07-17 22:29:45,786 INFO L263 TraceCheckUtils]: 55: Hoare triple {4045#false} call __blast_assert(); {4045#false} is VALID [2020-07-17 22:29:45,786 INFO L280 TraceCheckUtils]: 56: Hoare triple {4045#false} assume !false; {4045#false} is VALID [2020-07-17 22:29:45,791 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 5 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2020-07-17 22:29:45,791 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [256257082] [2020-07-17 22:29:45,791 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1240334851] [2020-07-17 22:29:45,792 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:29:45,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:45,917 INFO L264 TraceCheckSpWp]: Trace formula consists of 314 conjuncts, 37 conjunts are in the unsatisfiable core [2020-07-17 22:29:45,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:45,938 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:29:46,076 INFO L263 TraceCheckUtils]: 0: Hoare triple {4044#true} call ULTIMATE.init(); {4044#true} is VALID [2020-07-17 22:29:46,077 INFO L280 TraceCheckUtils]: 1: Hoare triple {4044#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {4044#true} is VALID [2020-07-17 22:29:46,077 INFO L280 TraceCheckUtils]: 2: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-17 22:29:46,077 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4044#true} {4044#true} #89#return; {4044#true} is VALID [2020-07-17 22:29:46,077 INFO L263 TraceCheckUtils]: 4: Hoare triple {4044#true} call #t~ret34 := main(); {4044#true} is VALID [2020-07-17 22:29:46,077 INFO L280 TraceCheckUtils]: 5: Hoare triple {4044#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {4044#true} is VALID [2020-07-17 22:29:46,077 INFO L263 TraceCheckUtils]: 6: Hoare triple {4044#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {4044#true} is VALID [2020-07-17 22:29:46,078 INFO L280 TraceCheckUtils]: 7: Hoare triple {4044#true} ~size := #in~size; {4044#true} is VALID [2020-07-17 22:29:46,078 INFO L263 TraceCheckUtils]: 8: Hoare triple {4044#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4044#true} is VALID [2020-07-17 22:29:46,078 INFO L280 TraceCheckUtils]: 9: Hoare triple {4044#true} ~size := #in~size; {4044#true} is VALID [2020-07-17 22:29:46,078 INFO L280 TraceCheckUtils]: 10: Hoare triple {4044#true} assume ~size > 0; {4044#true} is VALID [2020-07-17 22:29:46,078 INFO L280 TraceCheckUtils]: 11: Hoare triple {4044#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4044#true} is VALID [2020-07-17 22:29:46,078 INFO L280 TraceCheckUtils]: 12: Hoare triple {4044#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4044#true} is VALID [2020-07-17 22:29:46,078 INFO L280 TraceCheckUtils]: 13: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-17 22:29:46,078 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {4044#true} {4044#true} #69#return; {4044#true} is VALID [2020-07-17 22:29:46,079 INFO L280 TraceCheckUtils]: 15: Hoare triple {4044#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4044#true} is VALID [2020-07-17 22:29:46,079 INFO L280 TraceCheckUtils]: 16: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-17 22:29:46,079 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {4044#true} {4044#true} #71#return; {4044#true} is VALID [2020-07-17 22:29:46,079 INFO L280 TraceCheckUtils]: 18: Hoare triple {4044#true} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {4044#true} is VALID [2020-07-17 22:29:46,079 INFO L263 TraceCheckUtils]: 19: Hoare triple {4044#true} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {4044#true} is VALID [2020-07-17 22:29:46,079 INFO L280 TraceCheckUtils]: 20: Hoare triple {4044#true} ~size := #in~size; {4044#true} is VALID [2020-07-17 22:29:46,079 INFO L263 TraceCheckUtils]: 21: Hoare triple {4044#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4044#true} is VALID [2020-07-17 22:29:46,079 INFO L280 TraceCheckUtils]: 22: Hoare triple {4044#true} ~size := #in~size; {4044#true} is VALID [2020-07-17 22:29:46,080 INFO L280 TraceCheckUtils]: 23: Hoare triple {4044#true} assume ~size > 0; {4044#true} is VALID [2020-07-17 22:29:46,080 INFO L280 TraceCheckUtils]: 24: Hoare triple {4044#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4044#true} is VALID [2020-07-17 22:29:46,080 INFO L280 TraceCheckUtils]: 25: Hoare triple {4044#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4044#true} is VALID [2020-07-17 22:29:46,080 INFO L280 TraceCheckUtils]: 26: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-17 22:29:46,080 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4044#true} {4044#true} #69#return; {4044#true} is VALID [2020-07-17 22:29:46,080 INFO L280 TraceCheckUtils]: 28: Hoare triple {4044#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4044#true} is VALID [2020-07-17 22:29:46,080 INFO L280 TraceCheckUtils]: 29: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-17 22:29:46,080 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {4044#true} {4044#true} #73#return; {4044#true} is VALID [2020-07-17 22:29:46,081 INFO L280 TraceCheckUtils]: 31: Hoare triple {4044#true} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {4044#true} is VALID [2020-07-17 22:29:46,081 INFO L280 TraceCheckUtils]: 32: Hoare triple {4044#true} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {4044#true} is VALID [2020-07-17 22:29:46,081 INFO L263 TraceCheckUtils]: 33: Hoare triple {4044#true} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4044#true} is VALID [2020-07-17 22:29:46,082 INFO L280 TraceCheckUtils]: 34: Hoare triple {4044#true} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-17 22:29:46,082 INFO L280 TraceCheckUtils]: 35: Hoare triple {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-17 22:29:46,083 INFO L280 TraceCheckUtils]: 36: Hoare triple {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-17 22:29:46,083 INFO L280 TraceCheckUtils]: 37: Hoare triple {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-17 22:29:46,084 INFO L280 TraceCheckUtils]: 38: Hoare triple {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} assume true; {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-17 22:29:46,085 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} {4044#true} #75#return; {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-17 22:29:46,086 INFO L263 TraceCheckUtils]: 40: Hoare triple {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:46,087 INFO L280 TraceCheckUtils]: 41: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:46,087 INFO L280 TraceCheckUtils]: 42: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:46,088 INFO L280 TraceCheckUtils]: 43: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:46,088 INFO L280 TraceCheckUtils]: 44: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume !(0 != #t~nondet31);havoc #t~nondet31; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:46,089 INFO L280 TraceCheckUtils]: 45: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume true; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:46,090 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #77#return; {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-17 22:29:46,091 INFO L263 TraceCheckUtils]: 47: Hoare triple {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} call list_del(~dev2~0.base, ~dev2~0.offset); {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:46,091 INFO L280 TraceCheckUtils]: 48: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {4105#(and (= list_del_~entry.base |list_del_#in~entry.base|) (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset) (= |old(~elem~0.base)| ~elem~0.base))} is VALID [2020-07-17 22:29:46,092 INFO L280 TraceCheckUtils]: 49: Hoare triple {4105#(and (= list_del_~entry.base |list_del_#in~entry.base|) (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset) (= |old(~elem~0.base)| ~elem~0.base))} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {4257#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base) (or (not (= ~elem~0.base |list_del_#in~entry.base|)) (not (= |list_del_#in~entry.offset| ~elem~0.offset))))} is VALID [2020-07-17 22:29:46,093 INFO L280 TraceCheckUtils]: 50: Hoare triple {4257#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base) (or (not (= ~elem~0.base |list_del_#in~entry.base|)) (not (= |list_del_#in~entry.offset| ~elem~0.offset))))} assume true; {4257#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base) (or (not (= ~elem~0.base |list_del_#in~entry.base|)) (not (= |list_del_#in~entry.offset| ~elem~0.offset))))} is VALID [2020-07-17 22:29:46,095 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4257#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base) (or (not (= ~elem~0.base |list_del_#in~entry.base|)) (not (= |list_del_#in~entry.offset| ~elem~0.offset))))} {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #79#return; {4045#false} is VALID [2020-07-17 22:29:46,095 INFO L263 TraceCheckUtils]: 52: Hoare triple {4045#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4045#false} is VALID [2020-07-17 22:29:46,095 INFO L280 TraceCheckUtils]: 53: Hoare triple {4045#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4045#false} is VALID [2020-07-17 22:29:46,095 INFO L280 TraceCheckUtils]: 54: Hoare triple {4045#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {4045#false} is VALID [2020-07-17 22:29:46,096 INFO L263 TraceCheckUtils]: 55: Hoare triple {4045#false} call __blast_assert(); {4045#false} is VALID [2020-07-17 22:29:46,096 INFO L280 TraceCheckUtils]: 56: Hoare triple {4045#false} assume !false; {4045#false} is VALID [2020-07-17 22:29:46,098 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2020-07-17 22:29:46,099 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:29:46,099 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 11 [2020-07-17 22:29:46,099 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [404503552] [2020-07-17 22:29:46,100 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 57 [2020-07-17 22:29:46,103 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:29:46,103 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2020-07-17 22:29:46,185 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:29:46,186 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2020-07-17 22:29:46,186 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:29:46,186 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2020-07-17 22:29:46,187 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2020-07-17 22:29:46,187 INFO L87 Difference]: Start difference. First operand 70 states and 79 transitions. Second operand 11 states. [2020-07-17 22:29:47,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:47,849 INFO L93 Difference]: Finished difference Result 81 states and 89 transitions. [2020-07-17 22:29:47,849 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-17 22:29:47,850 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 57 [2020-07-17 22:29:47,850 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:29:47,850 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-17 22:29:47,852 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 64 transitions. [2020-07-17 22:29:47,852 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-17 22:29:47,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 64 transitions. [2020-07-17 22:29:47,854 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 64 transitions. [2020-07-17 22:29:47,958 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:29:47,960 INFO L225 Difference]: With dead ends: 81 [2020-07-17 22:29:47,961 INFO L226 Difference]: Without dead ends: 69 [2020-07-17 22:29:47,962 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 65 SyntacticMatches, 4 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=59, Invalid=181, Unknown=0, NotChecked=0, Total=240 [2020-07-17 22:29:47,962 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2020-07-17 22:29:48,124 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 69. [2020-07-17 22:29:48,125 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:29:48,125 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand 69 states. [2020-07-17 22:29:48,125 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 69 states. [2020-07-17 22:29:48,125 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 69 states. [2020-07-17 22:29:48,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:48,129 INFO L93 Difference]: Finished difference Result 69 states and 77 transitions. [2020-07-17 22:29:48,130 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 77 transitions. [2020-07-17 22:29:48,130 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:29:48,130 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:29:48,130 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 69 states. [2020-07-17 22:29:48,131 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 69 states. [2020-07-17 22:29:48,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:48,134 INFO L93 Difference]: Finished difference Result 69 states and 77 transitions. [2020-07-17 22:29:48,134 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 77 transitions. [2020-07-17 22:29:48,135 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:29:48,135 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:29:48,135 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:29:48,135 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:29:48,135 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2020-07-17 22:29:48,137 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 77 transitions. [2020-07-17 22:29:48,138 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 77 transitions. Word has length 57 [2020-07-17 22:29:48,138 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:29:48,138 INFO L479 AbstractCegarLoop]: Abstraction has 69 states and 77 transitions. [2020-07-17 22:29:48,138 INFO L480 AbstractCegarLoop]: Interpolant automaton has 11 states. [2020-07-17 22:29:48,139 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 77 transitions. [2020-07-17 22:29:48,139 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2020-07-17 22:29:48,140 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:29:48,140 INFO L422 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:29:48,353 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,8 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:29:48,354 INFO L427 AbstractCegarLoop]: === Iteration 10 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:29:48,354 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:29:48,355 INFO L82 PathProgramCache]: Analyzing trace with hash 1291667455, now seen corresponding path program 1 times [2020-07-17 22:29:48,355 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:29:48,355 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [182878663] [2020-07-17 22:29:48,355 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:29:48,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:48,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:48,558 INFO L280 TraceCheckUtils]: 0: Hoare triple {4680#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,559 INFO L280 TraceCheckUtils]: 1: Hoare triple {4635#(<= 0 ~guard_malloc_counter~0.offset)} assume true; {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,559 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {4635#(<= 0 ~guard_malloc_counter~0.offset)} {4630#true} #89#return; {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:48,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:48,632 INFO L280 TraceCheckUtils]: 0: Hoare triple {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:48,633 INFO L280 TraceCheckUtils]: 1: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:48,634 INFO L280 TraceCheckUtils]: 2: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,635 INFO L280 TraceCheckUtils]: 3: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,635 INFO L280 TraceCheckUtils]: 4: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,637 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,637 INFO L280 TraceCheckUtils]: 0: Hoare triple {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:48,638 INFO L263 TraceCheckUtils]: 1: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:48,639 INFO L280 TraceCheckUtils]: 2: Hoare triple {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:48,639 INFO L280 TraceCheckUtils]: 3: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:48,640 INFO L280 TraceCheckUtils]: 4: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,641 INFO L280 TraceCheckUtils]: 5: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,641 INFO L280 TraceCheckUtils]: 6: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,643 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,643 INFO L280 TraceCheckUtils]: 8: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,644 INFO L280 TraceCheckUtils]: 9: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,645 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {4635#(<= 0 ~guard_malloc_counter~0.offset)} #71#return; {4647#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:48,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:48,729 INFO L280 TraceCheckUtils]: 0: Hoare triple {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:48,730 INFO L280 TraceCheckUtils]: 1: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:48,731 INFO L280 TraceCheckUtils]: 2: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,732 INFO L280 TraceCheckUtils]: 3: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:48,732 INFO L280 TraceCheckUtils]: 4: Hoare triple {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:48,733 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {4696#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-17 22:29:48,734 INFO L280 TraceCheckUtils]: 0: Hoare triple {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:48,735 INFO L263 TraceCheckUtils]: 1: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:48,736 INFO L280 TraceCheckUtils]: 2: Hoare triple {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:48,736 INFO L280 TraceCheckUtils]: 3: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:48,737 INFO L280 TraceCheckUtils]: 4: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,738 INFO L280 TraceCheckUtils]: 5: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:48,739 INFO L280 TraceCheckUtils]: 6: Hoare triple {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:48,740 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {4696#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-17 22:29:48,741 INFO L280 TraceCheckUtils]: 8: Hoare triple {4696#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4697#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:48,741 INFO L280 TraceCheckUtils]: 9: Hoare triple {4697#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {4697#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:48,743 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4697#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {4647#(<= 1 ~guard_malloc_counter~0.offset)} #73#return; {4659#(<= 2 |main_#t~ret33.offset|)} is VALID [2020-07-17 22:29:48,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:48,773 INFO L280 TraceCheckUtils]: 0: Hoare triple {4699#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4630#true} is VALID [2020-07-17 22:29:48,773 INFO L280 TraceCheckUtils]: 1: Hoare triple {4630#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4630#true} is VALID [2020-07-17 22:29:48,774 INFO L280 TraceCheckUtils]: 2: Hoare triple {4630#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4630#true} is VALID [2020-07-17 22:29:48,774 INFO L280 TraceCheckUtils]: 3: Hoare triple {4630#true} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4630#true} is VALID [2020-07-17 22:29:48,774 INFO L280 TraceCheckUtils]: 4: Hoare triple {4630#true} assume true; {4630#true} is VALID [2020-07-17 22:29:48,775 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4630#true} {4660#(<= 2 main_~dev2~0.offset)} #75#return; {4660#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-17 22:29:48,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:48,785 INFO L280 TraceCheckUtils]: 0: Hoare triple {4699#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4630#true} is VALID [2020-07-17 22:29:48,785 INFO L280 TraceCheckUtils]: 1: Hoare triple {4630#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4630#true} is VALID [2020-07-17 22:29:48,786 INFO L280 TraceCheckUtils]: 2: Hoare triple {4630#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4630#true} is VALID [2020-07-17 22:29:48,786 INFO L280 TraceCheckUtils]: 3: Hoare triple {4630#true} assume !(0 != #t~nondet31);havoc #t~nondet31; {4630#true} is VALID [2020-07-17 22:29:48,786 INFO L280 TraceCheckUtils]: 4: Hoare triple {4630#true} assume true; {4630#true} is VALID [2020-07-17 22:29:48,787 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4630#true} {4660#(<= 2 main_~dev2~0.offset)} #77#return; {4660#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-17 22:29:48,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:48,812 INFO L280 TraceCheckUtils]: 0: Hoare triple {4699#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {4630#true} is VALID [2020-07-17 22:29:48,813 INFO L280 TraceCheckUtils]: 1: Hoare triple {4630#true} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset;~elem~0.base, ~elem~0.offset := 0, 0; {4700#(= 0 ~elem~0.offset)} is VALID [2020-07-17 22:29:48,813 INFO L280 TraceCheckUtils]: 2: Hoare triple {4700#(= 0 ~elem~0.offset)} assume true; {4700#(= 0 ~elem~0.offset)} is VALID [2020-07-17 22:29:48,815 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4700#(= 0 ~elem~0.offset)} {4660#(<= 2 main_~dev2~0.offset)} #79#return; {4677#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-17 22:29:48,816 INFO L263 TraceCheckUtils]: 0: Hoare triple {4630#true} call ULTIMATE.init(); {4680#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:48,817 INFO L280 TraceCheckUtils]: 1: Hoare triple {4680#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,817 INFO L280 TraceCheckUtils]: 2: Hoare triple {4635#(<= 0 ~guard_malloc_counter~0.offset)} assume true; {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,818 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4635#(<= 0 ~guard_malloc_counter~0.offset)} {4630#true} #89#return; {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,819 INFO L263 TraceCheckUtils]: 4: Hoare triple {4635#(<= 0 ~guard_malloc_counter~0.offset)} call #t~ret34 := main(); {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,819 INFO L280 TraceCheckUtils]: 5: Hoare triple {4635#(<= 0 ~guard_malloc_counter~0.offset)} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,820 INFO L263 TraceCheckUtils]: 6: Hoare triple {4635#(<= 0 ~guard_malloc_counter~0.offset)} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:48,820 INFO L280 TraceCheckUtils]: 7: Hoare triple {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:48,821 INFO L263 TraceCheckUtils]: 8: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:48,821 INFO L280 TraceCheckUtils]: 9: Hoare triple {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:48,822 INFO L280 TraceCheckUtils]: 10: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:48,823 INFO L280 TraceCheckUtils]: 11: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,824 INFO L280 TraceCheckUtils]: 12: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,824 INFO L280 TraceCheckUtils]: 13: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,825 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,825 INFO L280 TraceCheckUtils]: 15: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,826 INFO L280 TraceCheckUtils]: 16: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,827 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {4635#(<= 0 ~guard_malloc_counter~0.offset)} #71#return; {4647#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,827 INFO L280 TraceCheckUtils]: 18: Hoare triple {4647#(<= 1 ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {4647#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,828 INFO L263 TraceCheckUtils]: 19: Hoare triple {4647#(<= 1 ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:48,828 INFO L280 TraceCheckUtils]: 20: Hoare triple {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:48,829 INFO L263 TraceCheckUtils]: 21: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-17 22:29:48,830 INFO L280 TraceCheckUtils]: 22: Hoare triple {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:48,831 INFO L280 TraceCheckUtils]: 23: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-17 22:29:48,831 INFO L280 TraceCheckUtils]: 24: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:48,832 INFO L280 TraceCheckUtils]: 25: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:48,832 INFO L280 TraceCheckUtils]: 26: Hoare triple {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-17 22:29:48,833 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {4696#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-17 22:29:48,834 INFO L280 TraceCheckUtils]: 28: Hoare triple {4696#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4697#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:48,834 INFO L280 TraceCheckUtils]: 29: Hoare triple {4697#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {4697#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-17 22:29:48,835 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {4697#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {4647#(<= 1 ~guard_malloc_counter~0.offset)} #73#return; {4659#(<= 2 |main_#t~ret33.offset|)} is VALID [2020-07-17 22:29:48,836 INFO L280 TraceCheckUtils]: 31: Hoare triple {4659#(<= 2 |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {4660#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-17 22:29:48,837 INFO L280 TraceCheckUtils]: 32: Hoare triple {4660#(<= 2 main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {4660#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-17 22:29:48,838 INFO L263 TraceCheckUtils]: 33: Hoare triple {4660#(<= 2 main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4699#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:48,838 INFO L280 TraceCheckUtils]: 34: Hoare triple {4699#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4630#true} is VALID [2020-07-17 22:29:48,838 INFO L280 TraceCheckUtils]: 35: Hoare triple {4630#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4630#true} is VALID [2020-07-17 22:29:48,838 INFO L280 TraceCheckUtils]: 36: Hoare triple {4630#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4630#true} is VALID [2020-07-17 22:29:48,839 INFO L280 TraceCheckUtils]: 37: Hoare triple {4630#true} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4630#true} is VALID [2020-07-17 22:29:48,839 INFO L280 TraceCheckUtils]: 38: Hoare triple {4630#true} assume true; {4630#true} is VALID [2020-07-17 22:29:48,839 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {4630#true} {4660#(<= 2 main_~dev2~0.offset)} #75#return; {4660#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-17 22:29:48,840 INFO L263 TraceCheckUtils]: 40: Hoare triple {4660#(<= 2 main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {4699#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:48,840 INFO L280 TraceCheckUtils]: 41: Hoare triple {4699#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4630#true} is VALID [2020-07-17 22:29:48,841 INFO L280 TraceCheckUtils]: 42: Hoare triple {4630#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4630#true} is VALID [2020-07-17 22:29:48,841 INFO L280 TraceCheckUtils]: 43: Hoare triple {4630#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4630#true} is VALID [2020-07-17 22:29:48,841 INFO L280 TraceCheckUtils]: 44: Hoare triple {4630#true} assume !(0 != #t~nondet31);havoc #t~nondet31; {4630#true} is VALID [2020-07-17 22:29:48,841 INFO L280 TraceCheckUtils]: 45: Hoare triple {4630#true} assume true; {4630#true} is VALID [2020-07-17 22:29:48,842 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {4630#true} {4660#(<= 2 main_~dev2~0.offset)} #77#return; {4660#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-17 22:29:48,843 INFO L263 TraceCheckUtils]: 47: Hoare triple {4660#(<= 2 main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {4699#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-17 22:29:48,843 INFO L280 TraceCheckUtils]: 48: Hoare triple {4699#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {4630#true} is VALID [2020-07-17 22:29:48,843 INFO L280 TraceCheckUtils]: 49: Hoare triple {4630#true} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset;~elem~0.base, ~elem~0.offset := 0, 0; {4700#(= 0 ~elem~0.offset)} is VALID [2020-07-17 22:29:48,844 INFO L280 TraceCheckUtils]: 50: Hoare triple {4700#(= 0 ~elem~0.offset)} assume true; {4700#(= 0 ~elem~0.offset)} is VALID [2020-07-17 22:29:48,844 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4700#(= 0 ~elem~0.offset)} {4660#(<= 2 main_~dev2~0.offset)} #79#return; {4677#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-17 22:29:48,845 INFO L263 TraceCheckUtils]: 52: Hoare triple {4677#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4678#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} is VALID [2020-07-17 22:29:48,846 INFO L280 TraceCheckUtils]: 53: Hoare triple {4678#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4679#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-17 22:29:48,846 INFO L280 TraceCheckUtils]: 54: Hoare triple {4679#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {4631#false} is VALID [2020-07-17 22:29:48,846 INFO L263 TraceCheckUtils]: 55: Hoare triple {4631#false} call __blast_assert(); {4631#false} is VALID [2020-07-17 22:29:48,847 INFO L280 TraceCheckUtils]: 56: Hoare triple {4631#false} assume !false; {4631#false} is VALID [2020-07-17 22:29:48,851 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 2 proven. 7 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2020-07-17 22:29:48,851 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [182878663] [2020-07-17 22:29:48,852 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1622363395] [2020-07-17 22:29:48,852 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:29:48,977 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:48,979 INFO L264 TraceCheckSpWp]: Trace formula consists of 321 conjuncts, 24 conjunts are in the unsatisfiable core [2020-07-17 22:29:48,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:29:49,002 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:29:49,460 INFO L263 TraceCheckUtils]: 0: Hoare triple {4630#true} call ULTIMATE.init(); {4630#true} is VALID [2020-07-17 22:29:49,461 INFO L280 TraceCheckUtils]: 1: Hoare triple {4630#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,462 INFO L280 TraceCheckUtils]: 2: Hoare triple {4635#(<= 0 ~guard_malloc_counter~0.offset)} assume true; {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,462 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4635#(<= 0 ~guard_malloc_counter~0.offset)} {4630#true} #89#return; {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,463 INFO L263 TraceCheckUtils]: 4: Hoare triple {4635#(<= 0 ~guard_malloc_counter~0.offset)} call #t~ret34 := main(); {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,463 INFO L280 TraceCheckUtils]: 5: Hoare triple {4635#(<= 0 ~guard_malloc_counter~0.offset)} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,464 INFO L263 TraceCheckUtils]: 6: Hoare triple {4635#(<= 0 ~guard_malloc_counter~0.offset)} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,464 INFO L280 TraceCheckUtils]: 7: Hoare triple {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} ~size := #in~size; {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,465 INFO L263 TraceCheckUtils]: 8: Hoare triple {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,465 INFO L280 TraceCheckUtils]: 9: Hoare triple {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} ~size := #in~size; {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,466 INFO L280 TraceCheckUtils]: 10: Hoare triple {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} assume ~size > 0; {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,467 INFO L280 TraceCheckUtils]: 11: Hoare triple {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,468 INFO L280 TraceCheckUtils]: 12: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,468 INFO L280 TraceCheckUtils]: 13: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,470 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} #69#return; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,470 INFO L280 TraceCheckUtils]: 15: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,470 INFO L280 TraceCheckUtils]: 16: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,472 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {4635#(<= 0 ~guard_malloc_counter~0.offset)} #71#return; {4647#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,472 INFO L280 TraceCheckUtils]: 18: Hoare triple {4647#(<= 1 ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {4647#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,473 INFO L263 TraceCheckUtils]: 19: Hoare triple {4647#(<= 1 ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,474 INFO L280 TraceCheckUtils]: 20: Hoare triple {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} ~size := #in~size; {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,475 INFO L263 TraceCheckUtils]: 21: Hoare triple {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,475 INFO L280 TraceCheckUtils]: 22: Hoare triple {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} ~size := #in~size; {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,476 INFO L280 TraceCheckUtils]: 23: Hoare triple {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} assume ~size > 0; {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,476 INFO L280 TraceCheckUtils]: 24: Hoare triple {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-17 22:29:49,477 INFO L280 TraceCheckUtils]: 25: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4780#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} is VALID [2020-07-17 22:29:49,477 INFO L280 TraceCheckUtils]: 26: Hoare triple {4780#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} assume true; {4780#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} is VALID [2020-07-17 22:29:49,478 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4780#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} #69#return; {4787#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|))} is VALID [2020-07-17 22:29:49,479 INFO L280 TraceCheckUtils]: 28: Hoare triple {4787#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4791#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} is VALID [2020-07-17 22:29:49,479 INFO L280 TraceCheckUtils]: 29: Hoare triple {4791#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} assume true; {4791#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} is VALID [2020-07-17 22:29:49,480 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {4791#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} {4647#(<= 1 ~guard_malloc_counter~0.offset)} #73#return; {4659#(<= 2 |main_#t~ret33.offset|)} is VALID [2020-07-17 22:29:49,481 INFO L280 TraceCheckUtils]: 31: Hoare triple {4659#(<= 2 |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {4660#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-17 22:29:49,481 INFO L280 TraceCheckUtils]: 32: Hoare triple {4660#(<= 2 main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {4660#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-17 22:29:49,482 INFO L263 TraceCheckUtils]: 33: Hoare triple {4660#(<= 2 main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4630#true} is VALID [2020-07-17 22:29:49,482 INFO L280 TraceCheckUtils]: 34: Hoare triple {4630#true} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4630#true} is VALID [2020-07-17 22:29:49,482 INFO L280 TraceCheckUtils]: 35: Hoare triple {4630#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4630#true} is VALID [2020-07-17 22:29:49,482 INFO L280 TraceCheckUtils]: 36: Hoare triple {4630#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4630#true} is VALID [2020-07-17 22:29:49,482 INFO L280 TraceCheckUtils]: 37: Hoare triple {4630#true} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4630#true} is VALID [2020-07-17 22:29:49,482 INFO L280 TraceCheckUtils]: 38: Hoare triple {4630#true} assume true; {4630#true} is VALID [2020-07-17 22:29:49,484 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {4630#true} {4660#(<= 2 main_~dev2~0.offset)} #75#return; {4660#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-17 22:29:49,484 INFO L263 TraceCheckUtils]: 40: Hoare triple {4660#(<= 2 main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {4630#true} is VALID [2020-07-17 22:29:49,484 INFO L280 TraceCheckUtils]: 41: Hoare triple {4630#true} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4630#true} is VALID [2020-07-17 22:29:49,484 INFO L280 TraceCheckUtils]: 42: Hoare triple {4630#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4630#true} is VALID [2020-07-17 22:29:49,484 INFO L280 TraceCheckUtils]: 43: Hoare triple {4630#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4630#true} is VALID [2020-07-17 22:29:49,484 INFO L280 TraceCheckUtils]: 44: Hoare triple {4630#true} assume !(0 != #t~nondet31);havoc #t~nondet31; {4630#true} is VALID [2020-07-17 22:29:49,484 INFO L280 TraceCheckUtils]: 45: Hoare triple {4630#true} assume true; {4630#true} is VALID [2020-07-17 22:29:49,485 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {4630#true} {4660#(<= 2 main_~dev2~0.offset)} #77#return; {4660#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-17 22:29:49,485 INFO L263 TraceCheckUtils]: 47: Hoare triple {4660#(<= 2 main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {4630#true} is VALID [2020-07-17 22:29:49,486 INFO L280 TraceCheckUtils]: 48: Hoare triple {4630#true} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {4630#true} is VALID [2020-07-17 22:29:49,486 INFO L280 TraceCheckUtils]: 49: Hoare triple {4630#true} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset;~elem~0.base, ~elem~0.offset := 0, 0; {4855#(<= ~elem~0.offset 0)} is VALID [2020-07-17 22:29:49,486 INFO L280 TraceCheckUtils]: 50: Hoare triple {4855#(<= ~elem~0.offset 0)} assume true; {4855#(<= ~elem~0.offset 0)} is VALID [2020-07-17 22:29:49,487 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4855#(<= ~elem~0.offset 0)} {4660#(<= 2 main_~dev2~0.offset)} #79#return; {4862#(and (<= 2 main_~dev2~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:49,488 INFO L263 TraceCheckUtils]: 52: Hoare triple {4862#(and (<= 2 main_~dev2~0.offset) (<= ~elem~0.offset 0))} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4866#(and (<= 2 |list_add_#in~new.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:49,489 INFO L280 TraceCheckUtils]: 53: Hoare triple {4866#(and (<= 2 |list_add_#in~new.offset|) (<= ~elem~0.offset 0))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4870#(and (<= 2 list_add_~new.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-17 22:29:49,489 INFO L280 TraceCheckUtils]: 54: Hoare triple {4870#(and (<= 2 list_add_~new.offset) (<= ~elem~0.offset 0))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {4631#false} is VALID [2020-07-17 22:29:49,489 INFO L263 TraceCheckUtils]: 55: Hoare triple {4631#false} call __blast_assert(); {4631#false} is VALID [2020-07-17 22:29:49,489 INFO L280 TraceCheckUtils]: 56: Hoare triple {4631#false} assume !false; {4631#false} is VALID [2020-07-17 22:29:49,493 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 9 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2020-07-17 22:29:49,493 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-17 22:29:49,493 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [18] total 26 [2020-07-17 22:29:49,494 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1615272035] [2020-07-17 22:29:49,494 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 57 [2020-07-17 22:29:49,494 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:29:49,495 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2020-07-17 22:29:49,561 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:29:49,561 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2020-07-17 22:29:49,562 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:29:49,562 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2020-07-17 22:29:49,562 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=569, Unknown=0, NotChecked=0, Total=650 [2020-07-17 22:29:49,562 INFO L87 Difference]: Start difference. First operand 69 states and 77 transitions. Second operand 15 states. [2020-07-17 22:29:51,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:51,433 INFO L93 Difference]: Finished difference Result 93 states and 102 transitions. [2020-07-17 22:29:51,433 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2020-07-17 22:29:51,433 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 57 [2020-07-17 22:29:51,433 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:29:51,434 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-17 22:29:51,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 77 transitions. [2020-07-17 22:29:51,437 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-17 22:29:51,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 77 transitions. [2020-07-17 22:29:51,439 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 77 transitions. [2020-07-17 22:29:51,581 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:29:51,584 INFO L225 Difference]: With dead ends: 93 [2020-07-17 22:29:51,585 INFO L226 Difference]: Without dead ends: 82 [2020-07-17 22:29:51,587 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 67 SyntacticMatches, 0 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 236 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=218, Invalid=1264, Unknown=0, NotChecked=0, Total=1482 [2020-07-17 22:29:51,588 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2020-07-17 22:29:51,799 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 64. [2020-07-17 22:29:51,799 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:29:51,799 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand 64 states. [2020-07-17 22:29:51,799 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 64 states. [2020-07-17 22:29:51,800 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 64 states. [2020-07-17 22:29:51,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:51,804 INFO L93 Difference]: Finished difference Result 82 states and 89 transitions. [2020-07-17 22:29:51,804 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 89 transitions. [2020-07-17 22:29:51,805 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:29:51,805 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:29:51,805 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand 82 states. [2020-07-17 22:29:51,805 INFO L87 Difference]: Start difference. First operand 64 states. Second operand 82 states. [2020-07-17 22:29:51,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:29:51,811 INFO L93 Difference]: Finished difference Result 82 states and 89 transitions. [2020-07-17 22:29:51,811 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 89 transitions. [2020-07-17 22:29:51,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:29:51,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:29:51,813 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:29:51,814 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:29:51,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 64 states. [2020-07-17 22:29:51,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 70 transitions. [2020-07-17 22:29:51,816 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 70 transitions. Word has length 57 [2020-07-17 22:29:51,817 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:29:51,817 INFO L479 AbstractCegarLoop]: Abstraction has 64 states and 70 transitions. [2020-07-17 22:29:51,817 INFO L480 AbstractCegarLoop]: Interpolant automaton has 15 states. [2020-07-17 22:29:51,817 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 70 transitions. [2020-07-17 22:29:51,818 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2020-07-17 22:29:51,818 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:29:51,819 INFO L422 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:29:52,031 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2020-07-17 22:29:52,032 INFO L427 AbstractCegarLoop]: === Iteration 11 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:29:52,032 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:29:52,033 INFO L82 PathProgramCache]: Analyzing trace with hash -1118751113, now seen corresponding path program 1 times [2020-07-17 22:29:52,033 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:29:52,033 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [832174888] [2020-07-17 22:29:52,034 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:29:52,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-17 22:29:52,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-17 22:29:52,138 INFO L174 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2020-07-17 22:29:52,138 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-17 22:29:52,138 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2020-07-17 22:29:52,188 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 13 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# [2020-07-17 22:29:52,189 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 16 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# [2020-07-17 22:29:52,224 WARN L170 areAnnotationChecker]: my_mallocENTRY has no Hoare annotation [2020-07-17 22:29:52,224 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-17 22:29:52,224 WARN L170 areAnnotationChecker]: list_delENTRY has no Hoare annotation [2020-07-17 22:29:52,224 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-17 22:29:52,224 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-17 22:29:52,224 WARN L170 areAnnotationChecker]: __blast_assertENTRY has no Hoare annotation [2020-07-17 22:29:52,225 WARN L170 areAnnotationChecker]: __blast_assertENTRY has no Hoare annotation [2020-07-17 22:29:52,225 WARN L170 areAnnotationChecker]: list_addENTRY has no Hoare annotation [2020-07-17 22:29:52,225 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-17 22:29:52,225 WARN L170 areAnnotationChecker]: __getMemoryENTRY has no Hoare annotation [2020-07-17 22:29:52,225 WARN L170 areAnnotationChecker]: L879 has no Hoare annotation [2020-07-17 22:29:52,225 WARN L170 areAnnotationChecker]: L879 has no Hoare annotation [2020-07-17 22:29:52,225 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-17 22:29:52,225 WARN L170 areAnnotationChecker]: L896 has no Hoare annotation [2020-07-17 22:29:52,226 WARN L170 areAnnotationChecker]: L896 has no Hoare annotation [2020-07-17 22:29:52,226 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-17 22:29:52,226 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-17 22:29:52,226 WARN L170 areAnnotationChecker]: __blast_assertFINAL has no Hoare annotation [2020-07-17 22:29:52,226 WARN L170 areAnnotationChecker]: L890 has no Hoare annotation [2020-07-17 22:29:52,226 WARN L170 areAnnotationChecker]: L890 has no Hoare annotation [2020-07-17 22:29:52,226 WARN L170 areAnnotationChecker]: L904 has no Hoare annotation [2020-07-17 22:29:52,226 WARN L170 areAnnotationChecker]: L904 has no Hoare annotation [2020-07-17 22:29:52,227 WARN L170 areAnnotationChecker]: L871 has no Hoare annotation [2020-07-17 22:29:52,227 WARN L170 areAnnotationChecker]: L871 has no Hoare annotation [2020-07-17 22:29:52,227 WARN L170 areAnnotationChecker]: L879-1 has no Hoare annotation [2020-07-17 22:29:52,227 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-17 22:29:52,227 WARN L170 areAnnotationChecker]: L896-2 has no Hoare annotation [2020-07-17 22:29:52,227 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-17 22:29:52,227 WARN L170 areAnnotationChecker]: __blast_assertEXIT has no Hoare annotation [2020-07-17 22:29:52,227 WARN L170 areAnnotationChecker]: __blast_assertEXIT has no Hoare annotation [2020-07-17 22:29:52,227 WARN L170 areAnnotationChecker]: L890-3 has no Hoare annotation [2020-07-17 22:29:52,228 WARN L170 areAnnotationChecker]: L890-2 has no Hoare annotation [2020-07-17 22:29:52,228 WARN L170 areAnnotationChecker]: L890-2 has no Hoare annotation [2020-07-17 22:29:52,228 WARN L170 areAnnotationChecker]: L904-1 has no Hoare annotation [2020-07-17 22:29:52,228 WARN L170 areAnnotationChecker]: L871-3 has no Hoare annotation [2020-07-17 22:29:52,228 WARN L170 areAnnotationChecker]: L871-2 has no Hoare annotation [2020-07-17 22:29:52,228 WARN L170 areAnnotationChecker]: L871-2 has no Hoare annotation [2020-07-17 22:29:52,228 WARN L170 areAnnotationChecker]: my_mallocFINAL has no Hoare annotation [2020-07-17 22:29:52,229 WARN L170 areAnnotationChecker]: list_delEXIT has no Hoare annotation [2020-07-17 22:29:52,229 WARN L170 areAnnotationChecker]: L891 has no Hoare annotation [2020-07-17 22:29:52,229 WARN L170 areAnnotationChecker]: L891 has no Hoare annotation [2020-07-17 22:29:52,229 WARN L170 areAnnotationChecker]: L905 has no Hoare annotation [2020-07-17 22:29:52,229 WARN L170 areAnnotationChecker]: L905 has no Hoare annotation [2020-07-17 22:29:52,233 WARN L170 areAnnotationChecker]: L873 has no Hoare annotation [2020-07-17 22:29:52,234 WARN L170 areAnnotationChecker]: L873 has no Hoare annotation [2020-07-17 22:29:52,234 WARN L170 areAnnotationChecker]: my_mallocEXIT has no Hoare annotation [2020-07-17 22:29:52,234 WARN L170 areAnnotationChecker]: my_mallocEXIT has no Hoare annotation [2020-07-17 22:29:52,234 WARN L170 areAnnotationChecker]: L909 has no Hoare annotation [2020-07-17 22:29:52,234 WARN L170 areAnnotationChecker]: L909 has no Hoare annotation [2020-07-17 22:29:52,234 WARN L170 areAnnotationChecker]: L891-2 has no Hoare annotation [2020-07-17 22:29:52,234 WARN L170 areAnnotationChecker]: L905-1 has no Hoare annotation [2020-07-17 22:29:52,234 WARN L170 areAnnotationChecker]: __getMemoryFINAL has no Hoare annotation [2020-07-17 22:29:52,234 WARN L170 areAnnotationChecker]: L910 has no Hoare annotation [2020-07-17 22:29:52,235 WARN L170 areAnnotationChecker]: L910 has no Hoare annotation [2020-07-17 22:29:52,235 WARN L170 areAnnotationChecker]: list_addEXIT has no Hoare annotation [2020-07-17 22:29:52,235 WARN L170 areAnnotationChecker]: list_addEXIT has no Hoare annotation [2020-07-17 22:29:52,235 WARN L170 areAnnotationChecker]: list_addEXIT has no Hoare annotation [2020-07-17 22:29:52,235 WARN L170 areAnnotationChecker]: list_addEXIT has no Hoare annotation [2020-07-17 22:29:52,235 WARN L170 areAnnotationChecker]: L906 has no Hoare annotation [2020-07-17 22:29:52,235 WARN L170 areAnnotationChecker]: L906 has no Hoare annotation [2020-07-17 22:29:52,235 WARN L170 areAnnotationChecker]: __getMemoryEXIT has no Hoare annotation [2020-07-17 22:29:52,236 WARN L170 areAnnotationChecker]: L906-1 has no Hoare annotation [2020-07-17 22:29:52,236 WARN L170 areAnnotationChecker]: L907-1 has no Hoare annotation [2020-07-17 22:29:52,236 WARN L170 areAnnotationChecker]: L907-1 has no Hoare annotation [2020-07-17 22:29:52,236 WARN L170 areAnnotationChecker]: L908 has no Hoare annotation [2020-07-17 22:29:52,236 WARN L170 areAnnotationChecker]: L908 has no Hoare annotation [2020-07-17 22:29:52,236 WARN L170 areAnnotationChecker]: L907 has no Hoare annotation [2020-07-17 22:29:52,238 WARN L170 areAnnotationChecker]: L907 has no Hoare annotation [2020-07-17 22:29:52,238 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-17 22:29:52,238 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-17 22:29:52,240 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:29:52,248 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 17.07 10:29:52 BoogieIcfgContainer [2020-07-17 22:29:52,248 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-17 22:29:52,255 INFO L168 Benchmark]: Toolchain (without parser) took 49064.05 ms. Allocated memory was 146.8 MB in the beginning and 560.5 MB in the end (delta: 413.7 MB). Free memory was 103.8 MB in the beginning and 172.0 MB in the end (delta: -68.3 MB). Peak memory consumption was 345.4 MB. Max. memory is 7.1 GB. [2020-07-17 22:29:52,258 INFO L168 Benchmark]: CDTParser took 0.23 ms. Allocated memory is still 146.8 MB. Free memory was 123.0 MB in the beginning and 122.8 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. [2020-07-17 22:29:52,259 INFO L168 Benchmark]: CACSL2BoogieTranslator took 670.29 ms. Allocated memory was 146.8 MB in the beginning and 203.9 MB in the end (delta: 57.1 MB). Free memory was 103.3 MB in the beginning and 167.1 MB in the end (delta: -63.8 MB). Peak memory consumption was 22.2 MB. Max. memory is 7.1 GB. [2020-07-17 22:29:52,259 INFO L168 Benchmark]: Boogie Preprocessor took 65.74 ms. Allocated memory is still 203.9 MB. Free memory was 167.1 MB in the beginning and 163.9 MB in the end (delta: 3.2 MB). Peak memory consumption was 3.2 MB. Max. memory is 7.1 GB. [2020-07-17 22:29:52,259 INFO L168 Benchmark]: RCFGBuilder took 744.55 ms. Allocated memory is still 203.9 MB. Free memory was 163.9 MB in the beginning and 108.0 MB in the end (delta: 55.9 MB). Peak memory consumption was 55.9 MB. Max. memory is 7.1 GB. [2020-07-17 22:29:52,260 INFO L168 Benchmark]: TraceAbstraction took 47573.07 ms. Allocated memory was 203.9 MB in the beginning and 560.5 MB in the end (delta: 356.5 MB). Free memory was 108.0 MB in the beginning and 172.0 MB in the end (delta: -64.0 MB). Peak memory consumption was 292.5 MB. Max. memory is 7.1 GB. [2020-07-17 22:29:52,266 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.23 ms. Allocated memory is still 146.8 MB. Free memory was 123.0 MB in the beginning and 122.8 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 670.29 ms. Allocated memory was 146.8 MB in the beginning and 203.9 MB in the end (delta: 57.1 MB). Free memory was 103.3 MB in the beginning and 167.1 MB in the end (delta: -63.8 MB). Peak memory consumption was 22.2 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 65.74 ms. Allocated memory is still 203.9 MB. Free memory was 167.1 MB in the beginning and 163.9 MB in the end (delta: 3.2 MB). Peak memory consumption was 3.2 MB. Max. memory is 7.1 GB. * RCFGBuilder took 744.55 ms. Allocated memory is still 203.9 MB. Free memory was 163.9 MB in the beginning and 108.0 MB in the end (delta: 55.9 MB). Peak memory consumption was 55.9 MB. Max. memory is 7.1 GB. * TraceAbstraction took 47573.07 ms. Allocated memory was 203.9 MB in the beginning and 560.5 MB in the end (delta: 356.5 MB). Free memory was 108.0 MB in the beginning and 172.0 MB in the end (delta: -64.0 MB). Peak memory consumption was 292.5 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 13 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 16 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 6]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L867] void * guard_malloc_counter = 0; [L887] struct list_head *elem = ((void *)0); [L900] static struct list_head head; VAL [\old(elem)=9, \old(elem)=14, \old(guard_malloc_counter)=12, \old(guard_malloc_counter)=11, \old(head)=null, \old(head)=null, elem={0:0}, guard_malloc_counter={0:0}, head={3:0}] [L903] struct list_head *dev1, *dev2; VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:0}, guard_malloc_counter={0:0}, head={3:0}] [L904] CALL, EXPR my_malloc(sizeof(*dev1)) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, elem={0:0}, guard_malloc_counter={0:0}, head={3:0}] [L879] CALL, EXPR __getMemory(size) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, elem={0:0}, guard_malloc_counter={0:0}, head={3:0}] [L871] (size > 0) ? (0) : __blast_assert () VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, elem={0:0}, guard_malloc_counter={0:0}, head={3:0}, size=8] [L872] guard_malloc_counter++ [L873] COND FALSE !(!__VERIFIER_nondet_int()) [L875] return (void *) guard_malloc_counter; VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, \result={0:1}, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, size=8] [L879] RET, EXPR __getMemory(size) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, __getMemory(size)={0:1}, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, size=8] [L879] return __getMemory(size); [L904] RET, EXPR my_malloc(sizeof(*dev1)) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, my_malloc(sizeof(*dev1))={0:1}] [L904] dev1 = my_malloc(sizeof(*dev1)) [L905] CALL, EXPR my_malloc(sizeof(*dev2)) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=1, \old(guard_malloc_counter)=0, \old(size)=8, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}] [L879] CALL, EXPR __getMemory(size) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=1, \old(guard_malloc_counter)=0, \old(size)=8, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}] [L871] (size > 0) ? (0) : __blast_assert () VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=1, \old(guard_malloc_counter)=0, \old(size)=8, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, size=8] [L872] guard_malloc_counter++ [L873] COND FALSE !(!__VERIFIER_nondet_int()) [L875] return (void *) guard_malloc_counter; VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=1, \old(size)=8, \result={0:2}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, size=8] [L879] RET, EXPR __getMemory(size) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=1, \old(size)=8, __getMemory(size)={0:2}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, size=8] [L879] return __getMemory(size); [L905] RET, EXPR my_malloc(sizeof(*dev2)) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, my_malloc(sizeof(*dev2))={0:2}] [L905] dev2 = my_malloc(sizeof(*dev2)) [L906] COND TRUE dev1!=((void *)0) && dev2!=((void *)0) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, dev2={0:2}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}] [L907] CALL list_add(dev2, &head) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, new={0:2}] [L890] (new!=elem) ? (0) : __blast_assert () VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:2}, new={0:2}] [L891] COND TRUE __VERIFIER_nondet_int() [L892] elem = new VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:2}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:2}, new={0:2}] [L907] RET list_add(dev2, &head) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, dev2={0:2}, elem={0:2}, guard_malloc_counter={0:2}, head={3:0}] [L908] CALL list_add(dev1, &head) VAL [\old(elem)=2, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:2}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, new={0:1}] [L890] (new!=elem) ? (0) : __blast_assert () VAL [\old(elem)=2, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:2}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:1}, new={0:1}] [L891] COND TRUE __VERIFIER_nondet_int() [L892] elem = new VAL [\old(elem)=2, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:1}, new={0:1}] [L908] RET list_add(dev1, &head) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, dev2={0:2}, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}] [L909] CALL list_del(dev2) VAL [\old(elem)=0, \old(elem)=1, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, entry={0:2}, guard_malloc_counter={0:2}, head={3:0}] [L896] COND FALSE !(entry==elem) VAL [\old(elem)=0, \old(elem)=1, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, entry={0:2}, entry={0:2}, guard_malloc_counter={0:2}, head={3:0}] [L909] RET list_del(dev2) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, dev2={0:2}, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}] [L910] CALL list_add(dev2, &head) VAL [\old(elem)=0, \old(elem)=1, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, new={0:2}] [L890] (new!=elem) ? (0) : __blast_assert () VAL [\old(elem)=0, \old(elem)=1, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:2}, new={0:2}] [L891] COND FALSE !(__VERIFIER_nondet_int()) [L910] RET list_add(dev2, &head) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, dev2={0:2}, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}] [L913] CALL list_add(dev1, &head) VAL [\old(elem)=1, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, new={0:1}] [L890] (new!=elem) ? (0) : __blast_assert () VAL [\old(elem)=0, \old(elem)=1, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:1}, new={0:1}] [L890] CALL __blast_assert () VAL [\old(elem)=0, \old(elem)=1, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}] [L6] __VERIFIER_error() VAL [\old(elem)=0, \old(elem)=1, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}] - StatisticsResult: Ultimate Automizer benchmark data CFG has 8 procedures, 48 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 47.4s, OverallIterations: 11, TraceHistogramMax: 4, AutomataDifference: 33.3s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 393 SDtfs, 540 SDslu, 1156 SDs, 0 SdLazy, 5399 SolverSat, 635 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 11.7s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 727 GetRequests, 440 SyntacticMatches, 6 SemanticMatches, 281 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1374 ImplicationChecksByTransitivity, 7.9s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=72occurred in iteration=5, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.4s AutomataMinimizationTime, 10 MinimizatonAttempts, 57 StatesRemovedByMinimization, 9 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.5s SatisfiabilityAnalysisTime, 8.3s InterpolantComputationTime, 903 NumberOfCodeBlocks, 903 NumberOfCodeBlocksAsserted, 19 NumberOfCheckSat, 821 ConstructedInterpolants, 0 QuantifiedInterpolants, 161323 SizeOfPredicates, 49 NumberOfNonLiveVariables, 2263 ConjunctsInSsa, 202 ConjunctsInUnsatCore, 18 InterpolantComputations, 4 PerfectInterpolantSequences, 182/275 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...