/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 --traceabstraction.compute.interpolants.along.a.counterexample Craig_NestedInterpolation --traceabstraction.use.separate.solver.for.trace.checks true -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf -i ../../../trunk/examples/svcomp/ldv-regression/rule60_list2.c_1.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-46f3038-m [2020-07-08 22:21:46,094 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-08 22:21:46,097 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-08 22:21:46,116 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-08 22:21:46,116 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-08 22:21:46,119 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-08 22:21:46,121 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-08 22:21:46,132 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-08 22:21:46,135 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-08 22:21:46,138 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-08 22:21:46,140 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-08 22:21:46,142 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-08 22:21:46,142 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-08 22:21:46,145 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-08 22:21:46,149 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-08 22:21:46,150 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-08 22:21:46,152 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-08 22:21:46,152 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-08 22:21:46,154 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-08 22:21:46,158 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-08 22:21:46,164 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-08 22:21:46,167 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-08 22:21:46,168 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-08 22:21:46,169 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-08 22:21:46,171 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-08 22:21:46,171 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-08 22:21:46,172 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-08 22:21:46,174 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-08 22:21:46,175 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-08 22:21:46,176 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-08 22:21:46,177 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-08 22:21:46,178 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-08 22:21:46,179 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-08 22:21:46,179 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-08 22:21:46,181 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-08 22:21:46,181 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-08 22:21:46,182 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-08 22:21:46,182 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-08 22:21:46,182 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-08 22:21:46,183 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-08 22:21:46,184 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-08 22:21:46,185 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf [2020-07-08 22:21:46,199 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-08 22:21:46,199 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-08 22:21:46,205 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-08 22:21:46,205 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-08 22:21:46,205 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-08 22:21:46,205 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-08 22:21:46,205 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-08 22:21:46,206 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-08 22:21:46,206 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-08 22:21:46,206 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-08 22:21:46,206 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-08 22:21:46,206 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-08 22:21:46,206 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-08 22:21:46,207 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-08 22:21:46,207 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-08 22:21:46,207 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-08 22:21:46,209 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-08 22:21:46,209 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-08 22:21:46,210 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-08 22:21:46,210 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-08 22:21:46,210 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-08 22:21:46,210 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-08 22:21:46,210 INFO L138 SettingsManager]: * Use separate solver for trace checks=false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Compute Interpolants along a Counterexample -> Craig_NestedInterpolation Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Use separate solver for trace checks -> true [2020-07-08 22:21:46,509 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-08 22:21:46,528 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-08 22:21:46,531 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-08 22:21:46,532 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-08 22:21:46,533 INFO L275 PluginConnector]: CDTParser initialized [2020-07-08 22:21:46,534 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-08 22:21:46,608 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f15932c21/dbd5707820c746ea8cbff198375d7530/FLAGbb111b38f [2020-07-08 22:21:47,122 INFO L306 CDTParser]: Found 1 translation units. [2020-07-08 22:21:47,124 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ldv-regression/rule60_list2.c_1.i [2020-07-08 22:21:47,134 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f15932c21/dbd5707820c746ea8cbff198375d7530/FLAGbb111b38f [2020-07-08 22:21:47,436 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f15932c21/dbd5707820c746ea8cbff198375d7530 [2020-07-08 22:21:47,445 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-08 22:21:47,447 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-08 22:21:47,448 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-08 22:21:47,448 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-08 22:21:47,452 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-08 22:21:47,453 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.07 10:21:47" (1/1) ... [2020-07-08 22:21:47,456 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@268ec4e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:47, skipping insertion in model container [2020-07-08 22:21:47,456 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.07 10:21:47" (1/1) ... [2020-07-08 22:21:47,464 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-08 22:21:47,503 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-08 22:21:48,024 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-08 22:21:48,035 INFO L203 MainTranslator]: Completed pre-run [2020-07-08 22:21:48,098 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-08 22:21:48,172 INFO L208 MainTranslator]: Completed translation [2020-07-08 22:21:48,173 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:48 WrapperNode [2020-07-08 22:21:48,173 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-08 22:21:48,174 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-08 22:21:48,174 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-08 22:21:48,174 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-08 22:21:48,188 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:48" (1/1) ... [2020-07-08 22:21:48,188 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:48" (1/1) ... [2020-07-08 22:21:48,203 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:48" (1/1) ... [2020-07-08 22:21:48,203 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:48" (1/1) ... [2020-07-08 22:21:48,225 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:48" (1/1) ... [2020-07-08 22:21:48,227 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:48" (1/1) ... [2020-07-08 22:21:48,231 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:48" (1/1) ... [2020-07-08 22:21:48,238 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-08 22:21:48,238 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-08 22:21:48,238 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-08 22:21:48,238 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-08 22:21:48,239 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:48" (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-08 22:21:48,307 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-08 22:21:48,307 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-08 22:21:48,307 INFO L138 BoogieDeclarations]: Found implementation of procedure __blast_assert [2020-07-08 22:21:48,308 INFO L138 BoogieDeclarations]: Found implementation of procedure __getMemory [2020-07-08 22:21:48,308 INFO L138 BoogieDeclarations]: Found implementation of procedure my_malloc [2020-07-08 22:21:48,308 INFO L138 BoogieDeclarations]: Found implementation of procedure list_add [2020-07-08 22:21:48,308 INFO L138 BoogieDeclarations]: Found implementation of procedure list_del [2020-07-08 22:21:48,308 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-08 22:21:48,308 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-08 22:21:48,309 INFO L130 BoogieDeclarations]: Found specification of procedure __blast_assert [2020-07-08 22:21:48,309 INFO L130 BoogieDeclarations]: Found specification of procedure __underflow [2020-07-08 22:21:48,309 INFO L130 BoogieDeclarations]: Found specification of procedure __uflow [2020-07-08 22:21:48,309 INFO L130 BoogieDeclarations]: Found specification of procedure __overflow [2020-07-08 22:21:48,309 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_getc [2020-07-08 22:21:48,309 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_putc [2020-07-08 22:21:48,310 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_feof [2020-07-08 22:21:48,310 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_ferror [2020-07-08 22:21:48,310 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_peekc_locked [2020-07-08 22:21:48,310 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_flockfile [2020-07-08 22:21:48,310 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_funlockfile [2020-07-08 22:21:48,310 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_ftrylockfile [2020-07-08 22:21:48,311 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_vfscanf [2020-07-08 22:21:48,311 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_vfprintf [2020-07-08 22:21:48,311 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_padn [2020-07-08 22:21:48,311 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_sgetn [2020-07-08 22:21:48,311 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_seekoff [2020-07-08 22:21:48,311 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_seekpos [2020-07-08 22:21:48,312 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_free_backup_area [2020-07-08 22:21:48,312 INFO L130 BoogieDeclarations]: Found specification of procedure remove [2020-07-08 22:21:48,312 INFO L130 BoogieDeclarations]: Found specification of procedure rename [2020-07-08 22:21:48,312 INFO L130 BoogieDeclarations]: Found specification of procedure renameat [2020-07-08 22:21:48,312 INFO L130 BoogieDeclarations]: Found specification of procedure tmpfile [2020-07-08 22:21:48,312 INFO L130 BoogieDeclarations]: Found specification of procedure tmpnam [2020-07-08 22:21:48,313 INFO L130 BoogieDeclarations]: Found specification of procedure tmpnam_r [2020-07-08 22:21:48,313 INFO L130 BoogieDeclarations]: Found specification of procedure tempnam [2020-07-08 22:21:48,313 INFO L130 BoogieDeclarations]: Found specification of procedure fclose [2020-07-08 22:21:48,313 INFO L130 BoogieDeclarations]: Found specification of procedure fflush [2020-07-08 22:21:48,313 INFO L130 BoogieDeclarations]: Found specification of procedure fflush_unlocked [2020-07-08 22:21:48,313 INFO L130 BoogieDeclarations]: Found specification of procedure fopen [2020-07-08 22:21:48,313 INFO L130 BoogieDeclarations]: Found specification of procedure freopen [2020-07-08 22:21:48,314 INFO L130 BoogieDeclarations]: Found specification of procedure fdopen [2020-07-08 22:21:48,314 INFO L130 BoogieDeclarations]: Found specification of procedure fmemopen [2020-07-08 22:21:48,314 INFO L130 BoogieDeclarations]: Found specification of procedure open_memstream [2020-07-08 22:21:48,314 INFO L130 BoogieDeclarations]: Found specification of procedure setbuf [2020-07-08 22:21:48,314 INFO L130 BoogieDeclarations]: Found specification of procedure setvbuf [2020-07-08 22:21:48,314 INFO L130 BoogieDeclarations]: Found specification of procedure setbuffer [2020-07-08 22:21:48,314 INFO L130 BoogieDeclarations]: Found specification of procedure setlinebuf [2020-07-08 22:21:48,315 INFO L130 BoogieDeclarations]: Found specification of procedure fprintf [2020-07-08 22:21:48,315 INFO L130 BoogieDeclarations]: Found specification of procedure printf [2020-07-08 22:21:48,315 INFO L130 BoogieDeclarations]: Found specification of procedure sprintf [2020-07-08 22:21:48,315 INFO L130 BoogieDeclarations]: Found specification of procedure vfprintf [2020-07-08 22:21:48,315 INFO L130 BoogieDeclarations]: Found specification of procedure vprintf [2020-07-08 22:21:48,315 INFO L130 BoogieDeclarations]: Found specification of procedure vsprintf [2020-07-08 22:21:48,315 INFO L130 BoogieDeclarations]: Found specification of procedure snprintf [2020-07-08 22:21:48,316 INFO L130 BoogieDeclarations]: Found specification of procedure vsnprintf [2020-07-08 22:21:48,316 INFO L130 BoogieDeclarations]: Found specification of procedure vdprintf [2020-07-08 22:21:48,316 INFO L130 BoogieDeclarations]: Found specification of procedure dprintf [2020-07-08 22:21:48,316 INFO L130 BoogieDeclarations]: Found specification of procedure fscanf [2020-07-08 22:21:48,316 INFO L130 BoogieDeclarations]: Found specification of procedure scanf [2020-07-08 22:21:48,316 INFO L130 BoogieDeclarations]: Found specification of procedure sscanf [2020-07-08 22:21:48,316 INFO L130 BoogieDeclarations]: Found specification of procedure vfscanf [2020-07-08 22:21:48,317 INFO L130 BoogieDeclarations]: Found specification of procedure vscanf [2020-07-08 22:21:48,317 INFO L130 BoogieDeclarations]: Found specification of procedure vsscanf [2020-07-08 22:21:48,317 INFO L130 BoogieDeclarations]: Found specification of procedure fgetc [2020-07-08 22:21:48,317 INFO L130 BoogieDeclarations]: Found specification of procedure getc [2020-07-08 22:21:48,317 INFO L130 BoogieDeclarations]: Found specification of procedure getchar [2020-07-08 22:21:48,317 INFO L130 BoogieDeclarations]: Found specification of procedure getc_unlocked [2020-07-08 22:21:48,317 INFO L130 BoogieDeclarations]: Found specification of procedure getchar_unlocked [2020-07-08 22:21:48,318 INFO L130 BoogieDeclarations]: Found specification of procedure fgetc_unlocked [2020-07-08 22:21:48,318 INFO L130 BoogieDeclarations]: Found specification of procedure fputc [2020-07-08 22:21:48,318 INFO L130 BoogieDeclarations]: Found specification of procedure putc [2020-07-08 22:21:48,318 INFO L130 BoogieDeclarations]: Found specification of procedure putchar [2020-07-08 22:21:48,318 INFO L130 BoogieDeclarations]: Found specification of procedure fputc_unlocked [2020-07-08 22:21:48,318 INFO L130 BoogieDeclarations]: Found specification of procedure putc_unlocked [2020-07-08 22:21:48,319 INFO L130 BoogieDeclarations]: Found specification of procedure putchar_unlocked [2020-07-08 22:21:48,319 INFO L130 BoogieDeclarations]: Found specification of procedure getw [2020-07-08 22:21:48,319 INFO L130 BoogieDeclarations]: Found specification of procedure putw [2020-07-08 22:21:48,319 INFO L130 BoogieDeclarations]: Found specification of procedure fgets [2020-07-08 22:21:48,319 INFO L130 BoogieDeclarations]: Found specification of procedure gets [2020-07-08 22:21:48,319 INFO L130 BoogieDeclarations]: Found specification of procedure __getdelim [2020-07-08 22:21:48,319 INFO L130 BoogieDeclarations]: Found specification of procedure getdelim [2020-07-08 22:21:48,320 INFO L130 BoogieDeclarations]: Found specification of procedure getline [2020-07-08 22:21:48,320 INFO L130 BoogieDeclarations]: Found specification of procedure fputs [2020-07-08 22:21:48,320 INFO L130 BoogieDeclarations]: Found specification of procedure puts [2020-07-08 22:21:48,320 INFO L130 BoogieDeclarations]: Found specification of procedure ungetc [2020-07-08 22:21:48,320 INFO L130 BoogieDeclarations]: Found specification of procedure fread [2020-07-08 22:21:48,320 INFO L130 BoogieDeclarations]: Found specification of procedure fwrite [2020-07-08 22:21:48,320 INFO L130 BoogieDeclarations]: Found specification of procedure fread_unlocked [2020-07-08 22:21:48,321 INFO L130 BoogieDeclarations]: Found specification of procedure fwrite_unlocked [2020-07-08 22:21:48,321 INFO L130 BoogieDeclarations]: Found specification of procedure fseek [2020-07-08 22:21:48,321 INFO L130 BoogieDeclarations]: Found specification of procedure ftell [2020-07-08 22:21:48,321 INFO L130 BoogieDeclarations]: Found specification of procedure rewind [2020-07-08 22:21:48,321 INFO L130 BoogieDeclarations]: Found specification of procedure fseeko [2020-07-08 22:21:48,321 INFO L130 BoogieDeclarations]: Found specification of procedure ftello [2020-07-08 22:21:48,322 INFO L130 BoogieDeclarations]: Found specification of procedure fgetpos [2020-07-08 22:21:48,322 INFO L130 BoogieDeclarations]: Found specification of procedure fsetpos [2020-07-08 22:21:48,322 INFO L130 BoogieDeclarations]: Found specification of procedure clearerr [2020-07-08 22:21:48,322 INFO L130 BoogieDeclarations]: Found specification of procedure feof [2020-07-08 22:21:48,322 INFO L130 BoogieDeclarations]: Found specification of procedure ferror [2020-07-08 22:21:48,322 INFO L130 BoogieDeclarations]: Found specification of procedure clearerr_unlocked [2020-07-08 22:21:48,322 INFO L130 BoogieDeclarations]: Found specification of procedure feof_unlocked [2020-07-08 22:21:48,323 INFO L130 BoogieDeclarations]: Found specification of procedure ferror_unlocked [2020-07-08 22:21:48,323 INFO L130 BoogieDeclarations]: Found specification of procedure perror [2020-07-08 22:21:48,323 INFO L130 BoogieDeclarations]: Found specification of procedure fileno [2020-07-08 22:21:48,323 INFO L130 BoogieDeclarations]: Found specification of procedure fileno_unlocked [2020-07-08 22:21:48,323 INFO L130 BoogieDeclarations]: Found specification of procedure popen [2020-07-08 22:21:48,323 INFO L130 BoogieDeclarations]: Found specification of procedure pclose [2020-07-08 22:21:48,323 INFO L130 BoogieDeclarations]: Found specification of procedure ctermid [2020-07-08 22:21:48,324 INFO L130 BoogieDeclarations]: Found specification of procedure flockfile [2020-07-08 22:21:48,324 INFO L130 BoogieDeclarations]: Found specification of procedure ftrylockfile [2020-07-08 22:21:48,324 INFO L130 BoogieDeclarations]: Found specification of procedure funlockfile [2020-07-08 22:21:48,324 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-08 22:21:48,324 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-08 22:21:48,324 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-08 22:21:48,324 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-08 22:21:48,325 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-08 22:21:48,325 INFO L130 BoogieDeclarations]: Found specification of procedure memalign [2020-07-08 22:21:48,325 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-08 22:21:48,325 INFO L130 BoogieDeclarations]: Found specification of procedure pvalloc [2020-07-08 22:21:48,325 INFO L130 BoogieDeclarations]: Found specification of procedure __default_morecore [2020-07-08 22:21:48,325 INFO L130 BoogieDeclarations]: Found specification of procedure mallinfo [2020-07-08 22:21:48,325 INFO L130 BoogieDeclarations]: Found specification of procedure mallopt [2020-07-08 22:21:48,325 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_trim [2020-07-08 22:21:48,326 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_usable_size [2020-07-08 22:21:48,326 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_stats [2020-07-08 22:21:48,326 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_info [2020-07-08 22:21:48,326 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_get_state [2020-07-08 22:21:48,326 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_set_state [2020-07-08 22:21:48,326 INFO L130 BoogieDeclarations]: Found specification of procedure __malloc_check_init [2020-07-08 22:21:48,327 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-08 22:21:48,327 INFO L130 BoogieDeclarations]: Found specification of procedure __getMemory [2020-07-08 22:21:48,327 INFO L130 BoogieDeclarations]: Found specification of procedure my_malloc [2020-07-08 22:21:48,327 INFO L130 BoogieDeclarations]: Found specification of procedure list_add [2020-07-08 22:21:48,327 INFO L130 BoogieDeclarations]: Found specification of procedure list_del [2020-07-08 22:21:48,327 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-08 22:21:48,327 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-08 22:21:48,328 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-08 22:21:48,328 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2020-07-08 22:21:48,328 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-08 22:21:48,328 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-08 22:21:48,328 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-08 22:21:48,328 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-08 22:21:49,008 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-08 22:21:49,008 INFO L295 CfgBuilder]: Removed 0 assume(true) statements. [2020-07-08 22:21:49,012 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.07 10:21:49 BoogieIcfgContainer [2020-07-08 22:21:49,013 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-08 22:21:49,014 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-08 22:21:49,014 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-08 22:21:49,018 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-08 22:21:49,018 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.07 10:21:47" (1/3) ... [2020-07-08 22:21:49,019 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2bcd6a9e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.07 10:21:49, skipping insertion in model container [2020-07-08 22:21:49,019 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:48" (2/3) ... [2020-07-08 22:21:49,020 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2bcd6a9e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.07 10:21:49, skipping insertion in model container [2020-07-08 22:21:49,020 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.07 10:21:49" (3/3) ... [2020-07-08 22:21:49,023 INFO L109 eAbstractionObserver]: Analyzing ICFG rule60_list2.c_1.i [2020-07-08 22:21:49,034 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-08 22:21:49,042 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-08 22:21:49,056 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-08 22:21:49,080 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-08 22:21:49,080 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-08 22:21:49,080 INFO L377 AbstractCegarLoop]: Compute interpolants for Craig_NestedInterpolation [2020-07-08 22:21:49,080 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-08 22:21:49,081 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-08 22:21:49,081 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-08 22:21:49,081 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-08 22:21:49,081 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-08 22:21:49,098 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states. [2020-07-08 22:21:49,108 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2020-07-08 22:21:49,108 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:21:49,109 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 22:21:49,109 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:21:49,115 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:21:49,116 INFO L82 PathProgramCache]: Analyzing trace with hash 1490968618, now seen corresponding path program 1 times [2020-07-08 22:21:49,124 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:21:49,124 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [13801287] [2020-07-08 22:21:49,125 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:21:49,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:49,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:49,537 INFO L280 TraceCheckUtils]: 0: Hoare triple {90#(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; {74#true} is VALID [2020-07-08 22:21:49,539 INFO L280 TraceCheckUtils]: 1: Hoare triple {74#true} #valid := #valid[0 := 0]; {74#true} is VALID [2020-07-08 22:21:49,540 INFO L280 TraceCheckUtils]: 2: Hoare triple {74#true} assume 0 < #StackHeapBarrier; {74#true} is VALID [2020-07-08 22:21:49,540 INFO L280 TraceCheckUtils]: 3: Hoare triple {74#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {74#true} is VALID [2020-07-08 22:21:49,540 INFO L280 TraceCheckUtils]: 4: Hoare triple {74#true} ~elem~0.base, ~elem~0.offset := 0, 0; {74#true} is VALID [2020-07-08 22:21:49,541 INFO L280 TraceCheckUtils]: 5: Hoare triple {74#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {74#true} is VALID [2020-07-08 22:21:49,541 INFO L280 TraceCheckUtils]: 6: Hoare triple {74#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {74#true} is VALID [2020-07-08 22:21:49,542 INFO L280 TraceCheckUtils]: 7: Hoare triple {74#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {74#true} is VALID [2020-07-08 22:21:49,542 INFO L280 TraceCheckUtils]: 8: Hoare triple {74#true} assume true; {74#true} is VALID [2020-07-08 22:21:49,542 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {74#true} {74#true} #112#return; {74#true} is VALID [2020-07-08 22:21:49,547 INFO L263 TraceCheckUtils]: 0: Hoare triple {74#true} call ULTIMATE.init(); {90#(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-08 22:21:49,548 INFO L280 TraceCheckUtils]: 1: Hoare triple {90#(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; {74#true} is VALID [2020-07-08 22:21:49,548 INFO L280 TraceCheckUtils]: 2: Hoare triple {74#true} #valid := #valid[0 := 0]; {74#true} is VALID [2020-07-08 22:21:49,548 INFO L280 TraceCheckUtils]: 3: Hoare triple {74#true} assume 0 < #StackHeapBarrier; {74#true} is VALID [2020-07-08 22:21:49,548 INFO L280 TraceCheckUtils]: 4: Hoare triple {74#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {74#true} is VALID [2020-07-08 22:21:49,549 INFO L280 TraceCheckUtils]: 5: Hoare triple {74#true} ~elem~0.base, ~elem~0.offset := 0, 0; {74#true} is VALID [2020-07-08 22:21:49,549 INFO L280 TraceCheckUtils]: 6: Hoare triple {74#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {74#true} is VALID [2020-07-08 22:21:49,550 INFO L280 TraceCheckUtils]: 7: Hoare triple {74#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {74#true} is VALID [2020-07-08 22:21:49,550 INFO L280 TraceCheckUtils]: 8: Hoare triple {74#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {74#true} is VALID [2020-07-08 22:21:49,550 INFO L280 TraceCheckUtils]: 9: Hoare triple {74#true} assume true; {74#true} is VALID [2020-07-08 22:21:49,551 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {74#true} {74#true} #112#return; {74#true} is VALID [2020-07-08 22:21:49,551 INFO L263 TraceCheckUtils]: 11: Hoare triple {74#true} call #t~ret34 := main(); {74#true} is VALID [2020-07-08 22:21:49,551 INFO L280 TraceCheckUtils]: 12: Hoare triple {74#true} havoc ~dev1~0.base, ~dev1~0.offset; {74#true} is VALID [2020-07-08 22:21:49,552 INFO L280 TraceCheckUtils]: 13: Hoare triple {74#true} havoc ~dev2~0.base, ~dev2~0.offset; {74#true} is VALID [2020-07-08 22:21:49,554 INFO L263 TraceCheckUtils]: 14: Hoare triple {74#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {86#(= 8 |my_malloc_#in~size|)} is VALID [2020-07-08 22:21:49,555 INFO L280 TraceCheckUtils]: 15: Hoare triple {86#(= 8 |my_malloc_#in~size|)} ~size := #in~size; {87#(= 8 my_malloc_~size)} is VALID [2020-07-08 22:21:49,556 INFO L263 TraceCheckUtils]: 16: Hoare triple {87#(= 8 my_malloc_~size)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {88#(= 8 |__getMemory_#in~size|)} is VALID [2020-07-08 22:21:49,557 INFO L280 TraceCheckUtils]: 17: Hoare triple {88#(= 8 |__getMemory_#in~size|)} ~size := #in~size; {89#(= 8 __getMemory_~size)} is VALID [2020-07-08 22:21:49,559 INFO L280 TraceCheckUtils]: 18: Hoare triple {89#(= 8 __getMemory_~size)} assume !(~size > 0); {75#false} is VALID [2020-07-08 22:21:49,560 INFO L263 TraceCheckUtils]: 19: Hoare triple {75#false} call __blast_assert(); {75#false} is VALID [2020-07-08 22:21:49,560 INFO L280 TraceCheckUtils]: 20: Hoare triple {75#false} assume !false; {75#false} is VALID [2020-07-08 22:21:49,565 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-08 22:21:49,569 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [13801287] [2020-07-08 22:21:49,571 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 22:21:49,571 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-08 22:21:49,572 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [654309342] [2020-07-08 22:21:49,582 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 21 [2020-07-08 22:21:49,585 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:21:49,589 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-08 22:21:49,628 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:21:49,629 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-08 22:21:49,629 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:21:49,638 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-08 22:21:49,639 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-08 22:21:49,641 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 7 states. [2020-07-08 22:21:50,977 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:21:50,978 INFO L93 Difference]: Finished difference Result 128 states and 157 transitions. [2020-07-08 22:21:50,978 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-08 22:21:50,978 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 21 [2020-07-08 22:21:50,979 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:21:50,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-08 22:21:50,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 157 transitions. [2020-07-08 22:21:50,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-08 22:21:51,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 157 transitions. [2020-07-08 22:21:51,007 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 157 transitions. [2020-07-08 22:21:51,231 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 157 edges. 157 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:21:51,261 INFO L225 Difference]: With dead ends: 128 [2020-07-08 22:21:51,261 INFO L226 Difference]: Without dead ends: 67 [2020-07-08 22:21:51,266 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-08 22:21:51,283 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2020-07-08 22:21:51,455 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 63. [2020-07-08 22:21:51,455 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:21:51,456 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand 63 states. [2020-07-08 22:21:51,457 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 63 states. [2020-07-08 22:21:51,457 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 63 states. [2020-07-08 22:21:51,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:21:51,466 INFO L93 Difference]: Finished difference Result 67 states and 75 transitions. [2020-07-08 22:21:51,466 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 75 transitions. [2020-07-08 22:21:51,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:21:51,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:21:51,468 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 67 states. [2020-07-08 22:21:51,469 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 67 states. [2020-07-08 22:21:51,476 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:21:51,476 INFO L93 Difference]: Finished difference Result 67 states and 75 transitions. [2020-07-08 22:21:51,476 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 75 transitions. [2020-07-08 22:21:51,478 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:21:51,478 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:21:51,478 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:21:51,479 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:21:51,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 63 states. [2020-07-08 22:21:51,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 69 transitions. [2020-07-08 22:21:51,487 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 69 transitions. Word has length 21 [2020-07-08 22:21:51,487 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:21:51,487 INFO L479 AbstractCegarLoop]: Abstraction has 63 states and 69 transitions. [2020-07-08 22:21:51,487 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-08 22:21:51,488 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 63 states and 69 transitions. [2020-07-08 22:21:51,608 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:21:51,608 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 69 transitions. [2020-07-08 22:21:51,611 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-08 22:21:51,611 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:21:51,611 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 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, 1, 1, 1] [2020-07-08 22:21:51,612 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-08 22:21:51,612 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:21:51,612 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:21:51,612 INFO L82 PathProgramCache]: Analyzing trace with hash -114203518, now seen corresponding path program 1 times [2020-07-08 22:21:51,613 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:21:51,613 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [173364296] [2020-07-08 22:21:51,613 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:21:51,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:51,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:51,767 INFO L280 TraceCheckUtils]: 0: Hoare triple {669#(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; {621#true} is VALID [2020-07-08 22:21:51,767 INFO L280 TraceCheckUtils]: 1: Hoare triple {621#true} #valid := #valid[0 := 0]; {621#true} is VALID [2020-07-08 22:21:51,767 INFO L280 TraceCheckUtils]: 2: Hoare triple {621#true} assume 0 < #StackHeapBarrier; {621#true} is VALID [2020-07-08 22:21:51,768 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {621#true} is VALID [2020-07-08 22:21:51,768 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} ~elem~0.base, ~elem~0.offset := 0, 0; {621#true} is VALID [2020-07-08 22:21:51,768 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {621#true} is VALID [2020-07-08 22:21:51,769 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {621#true} is VALID [2020-07-08 22:21:51,769 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {621#true} is VALID [2020-07-08 22:21:51,769 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-08 22:21:51,770 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {621#true} {621#true} #112#return; {621#true} is VALID [2020-07-08 22:21:51,792 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:51,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:51,906 INFO L280 TraceCheckUtils]: 0: Hoare triple {670#(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; {621#true} is VALID [2020-07-08 22:21:51,907 INFO L280 TraceCheckUtils]: 1: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-08 22:21:51,907 INFO L280 TraceCheckUtils]: 2: Hoare triple {621#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {621#true} is VALID [2020-07-08 22:21:51,907 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {621#true} is VALID [2020-07-08 22:21:51,908 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-08 22:21:51,908 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-08 22:21:51,909 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-08 22:21:51,909 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-08 22:21:51,911 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 22:21:51,912 INFO L280 TraceCheckUtils]: 9: Hoare triple {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 22:21:51,917 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {621#true} #92#return; {682#(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-08 22:21:51,918 INFO L280 TraceCheckUtils]: 0: Hoare triple {670#(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; {621#true} is VALID [2020-07-08 22:21:51,920 INFO L263 TraceCheckUtils]: 1: Hoare triple {621#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {670#(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-08 22:21:51,921 INFO L280 TraceCheckUtils]: 2: Hoare triple {670#(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; {621#true} is VALID [2020-07-08 22:21:51,921 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-08 22:21:51,921 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {621#true} is VALID [2020-07-08 22:21:51,921 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {621#true} is VALID [2020-07-08 22:21:51,922 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-08 22:21:51,922 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-08 22:21:51,922 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-08 22:21:51,923 INFO L280 TraceCheckUtils]: 9: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-08 22:21:51,926 INFO L280 TraceCheckUtils]: 10: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 22:21:51,927 INFO L280 TraceCheckUtils]: 11: Hoare triple {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 22:21:51,928 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {621#true} #92#return; {682#(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-08 22:21:51,929 INFO L280 TraceCheckUtils]: 13: Hoare triple {682#(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; {683#(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-08 22:21:51,930 INFO L280 TraceCheckUtils]: 14: Hoare triple {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} havoc #t~ret30.base, #t~ret30.offset; {683#(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-08 22:21:51,931 INFO L280 TraceCheckUtils]: 15: Hoare triple {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {683#(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-08 22:21:51,932 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {621#true} #94#return; {650#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} is VALID [2020-07-08 22:21:51,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:51,990 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:51,996 INFO L280 TraceCheckUtils]: 0: Hoare triple {670#(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; {621#true} is VALID [2020-07-08 22:21:51,996 INFO L280 TraceCheckUtils]: 1: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-08 22:21:51,996 INFO L280 TraceCheckUtils]: 2: Hoare triple {621#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {621#true} is VALID [2020-07-08 22:21:51,997 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {621#true} is VALID [2020-07-08 22:21:51,997 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-08 22:21:51,997 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-08 22:21:51,998 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-08 22:21:51,998 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-08 22:21:51,998 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {621#true} is VALID [2020-07-08 22:21:51,998 INFO L280 TraceCheckUtils]: 9: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-08 22:21:51,999 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {621#true} {621#true} #92#return; {621#true} is VALID [2020-07-08 22:21:51,999 INFO L280 TraceCheckUtils]: 0: Hoare triple {670#(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; {621#true} is VALID [2020-07-08 22:21:52,001 INFO L263 TraceCheckUtils]: 1: Hoare triple {621#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {670#(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-08 22:21:52,001 INFO L280 TraceCheckUtils]: 2: Hoare triple {670#(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; {621#true} is VALID [2020-07-08 22:21:52,001 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-08 22:21:52,002 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {621#true} is VALID [2020-07-08 22:21:52,002 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {621#true} is VALID [2020-07-08 22:21:52,002 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-08 22:21:52,003 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-08 22:21:52,003 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-08 22:21:52,003 INFO L280 TraceCheckUtils]: 9: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-08 22:21:52,003 INFO L280 TraceCheckUtils]: 10: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {621#true} is VALID [2020-07-08 22:21:52,004 INFO L280 TraceCheckUtils]: 11: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-08 22:21:52,004 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {621#true} {621#true} #92#return; {621#true} is VALID [2020-07-08 22:21:52,004 INFO L280 TraceCheckUtils]: 13: Hoare triple {621#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {621#true} is VALID [2020-07-08 22:21:52,005 INFO L280 TraceCheckUtils]: 14: Hoare triple {621#true} havoc #t~ret30.base, #t~ret30.offset; {621#true} is VALID [2020-07-08 22:21:52,005 INFO L280 TraceCheckUtils]: 15: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-08 22:21:52,006 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {621#true} {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} #96#return; {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-08 22:21:52,008 INFO L263 TraceCheckUtils]: 0: Hoare triple {621#true} call ULTIMATE.init(); {669#(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-08 22:21:52,008 INFO L280 TraceCheckUtils]: 1: Hoare triple {669#(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; {621#true} is VALID [2020-07-08 22:21:52,008 INFO L280 TraceCheckUtils]: 2: Hoare triple {621#true} #valid := #valid[0 := 0]; {621#true} is VALID [2020-07-08 22:21:52,009 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} assume 0 < #StackHeapBarrier; {621#true} is VALID [2020-07-08 22:21:52,009 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {621#true} is VALID [2020-07-08 22:21:52,009 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} ~elem~0.base, ~elem~0.offset := 0, 0; {621#true} is VALID [2020-07-08 22:21:52,009 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {621#true} is VALID [2020-07-08 22:21:52,010 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {621#true} is VALID [2020-07-08 22:21:52,010 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {621#true} is VALID [2020-07-08 22:21:52,010 INFO L280 TraceCheckUtils]: 9: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-08 22:21:52,011 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {621#true} {621#true} #112#return; {621#true} is VALID [2020-07-08 22:21:52,011 INFO L263 TraceCheckUtils]: 11: Hoare triple {621#true} call #t~ret34 := main(); {621#true} is VALID [2020-07-08 22:21:52,011 INFO L280 TraceCheckUtils]: 12: Hoare triple {621#true} havoc ~dev1~0.base, ~dev1~0.offset; {621#true} is VALID [2020-07-08 22:21:52,011 INFO L280 TraceCheckUtils]: 13: Hoare triple {621#true} havoc ~dev2~0.base, ~dev2~0.offset; {621#true} is VALID [2020-07-08 22:21:52,012 INFO L263 TraceCheckUtils]: 14: Hoare triple {621#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {670#(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-08 22:21:52,013 INFO L280 TraceCheckUtils]: 15: Hoare triple {670#(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; {621#true} is VALID [2020-07-08 22:21:52,014 INFO L263 TraceCheckUtils]: 16: Hoare triple {621#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {670#(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-08 22:21:52,014 INFO L280 TraceCheckUtils]: 17: Hoare triple {670#(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; {621#true} is VALID [2020-07-08 22:21:52,014 INFO L280 TraceCheckUtils]: 18: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-08 22:21:52,014 INFO L280 TraceCheckUtils]: 19: Hoare triple {621#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {621#true} is VALID [2020-07-08 22:21:52,015 INFO L280 TraceCheckUtils]: 20: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {621#true} is VALID [2020-07-08 22:21:52,015 INFO L280 TraceCheckUtils]: 21: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-08 22:21:52,015 INFO L280 TraceCheckUtils]: 22: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-08 22:21:52,016 INFO L280 TraceCheckUtils]: 23: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-08 22:21:52,016 INFO L280 TraceCheckUtils]: 24: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-08 22:21:52,017 INFO L280 TraceCheckUtils]: 25: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 22:21:52,017 INFO L280 TraceCheckUtils]: 26: Hoare triple {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 22:21:52,019 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {621#true} #92#return; {682#(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-08 22:21:52,020 INFO L280 TraceCheckUtils]: 28: Hoare triple {682#(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; {683#(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-08 22:21:52,021 INFO L280 TraceCheckUtils]: 29: Hoare triple {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} havoc #t~ret30.base, #t~ret30.offset; {683#(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-08 22:21:52,021 INFO L280 TraceCheckUtils]: 30: Hoare triple {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {683#(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-08 22:21:52,023 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {621#true} #94#return; {650#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} is VALID [2020-07-08 22:21:52,024 INFO L280 TraceCheckUtils]: 32: Hoare triple {650#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-08 22:21:52,025 INFO L280 TraceCheckUtils]: 33: Hoare triple {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} havoc #t~ret32.base, #t~ret32.offset; {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-08 22:21:52,026 INFO L263 TraceCheckUtils]: 34: Hoare triple {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {670#(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-08 22:21:52,026 INFO L280 TraceCheckUtils]: 35: Hoare triple {670#(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; {621#true} is VALID [2020-07-08 22:21:52,027 INFO L263 TraceCheckUtils]: 36: Hoare triple {621#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {670#(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-08 22:21:52,027 INFO L280 TraceCheckUtils]: 37: Hoare triple {670#(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; {621#true} is VALID [2020-07-08 22:21:52,027 INFO L280 TraceCheckUtils]: 38: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-08 22:21:52,028 INFO L280 TraceCheckUtils]: 39: Hoare triple {621#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {621#true} is VALID [2020-07-08 22:21:52,028 INFO L280 TraceCheckUtils]: 40: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {621#true} is VALID [2020-07-08 22:21:52,028 INFO L280 TraceCheckUtils]: 41: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-08 22:21:52,029 INFO L280 TraceCheckUtils]: 42: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-08 22:21:52,029 INFO L280 TraceCheckUtils]: 43: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-08 22:21:52,029 INFO L280 TraceCheckUtils]: 44: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-08 22:21:52,029 INFO L280 TraceCheckUtils]: 45: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {621#true} is VALID [2020-07-08 22:21:52,030 INFO L280 TraceCheckUtils]: 46: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-08 22:21:52,030 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {621#true} {621#true} #92#return; {621#true} is VALID [2020-07-08 22:21:52,030 INFO L280 TraceCheckUtils]: 48: Hoare triple {621#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {621#true} is VALID [2020-07-08 22:21:52,030 INFO L280 TraceCheckUtils]: 49: Hoare triple {621#true} havoc #t~ret30.base, #t~ret30.offset; {621#true} is VALID [2020-07-08 22:21:52,031 INFO L280 TraceCheckUtils]: 50: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-08 22:21:52,032 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {621#true} {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} #96#return; {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-08 22:21:52,033 INFO L280 TraceCheckUtils]: 52: Hoare triple {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-08 22:21:52,034 INFO L280 TraceCheckUtils]: 53: Hoare triple {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} havoc #t~ret33.base, #t~ret33.offset; {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-08 22:21:52,035 INFO L280 TraceCheckUtils]: 54: Hoare triple {651#(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); {622#false} is VALID [2020-07-08 22:21:52,035 INFO L263 TraceCheckUtils]: 55: Hoare triple {622#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {622#false} is VALID [2020-07-08 22:21:52,035 INFO L280 TraceCheckUtils]: 56: Hoare triple {622#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {622#false} is VALID [2020-07-08 22:21:52,036 INFO L280 TraceCheckUtils]: 57: Hoare triple {622#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {622#false} is VALID [2020-07-08 22:21:52,036 INFO L280 TraceCheckUtils]: 58: Hoare triple {622#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {622#false} is VALID [2020-07-08 22:21:52,036 INFO L263 TraceCheckUtils]: 59: Hoare triple {622#false} call __blast_assert(); {622#false} is VALID [2020-07-08 22:21:52,036 INFO L280 TraceCheckUtils]: 60: Hoare triple {622#false} assume !false; {622#false} is VALID [2020-07-08 22:21:52,043 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2020-07-08 22:21:52,044 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [173364296] [2020-07-08 22:21:52,044 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:21:52,044 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2020-07-08 22:21:52,045 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [130559457] [2020-07-08 22:21:52,046 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-08 22:21:52,047 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:21:52,047 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-08 22:21:52,104 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:21:52,105 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-08 22:21:52,105 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:21:52,105 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-08 22:21:52,106 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-08 22:21:52,106 INFO L87 Difference]: Start difference. First operand 63 states and 69 transitions. Second operand 9 states. [2020-07-08 22:21:53,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:21:53,339 INFO L93 Difference]: Finished difference Result 102 states and 117 transitions. [2020-07-08 22:21:53,340 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-08 22:21:53,340 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-08 22:21:53,340 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:21:53,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 22:21:53,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 117 transitions. [2020-07-08 22:21:53,347 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 22:21:53,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 117 transitions. [2020-07-08 22:21:53,352 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 117 transitions. [2020-07-08 22:21:53,512 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:21:53,518 INFO L225 Difference]: With dead ends: 102 [2020-07-08 22:21:53,518 INFO L226 Difference]: Without dead ends: 73 [2020-07-08 22:21:53,520 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2020-07-08 22:21:53,520 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2020-07-08 22:21:53,725 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 69. [2020-07-08 22:21:53,725 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:21:53,725 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand 69 states. [2020-07-08 22:21:53,725 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 69 states. [2020-07-08 22:21:53,726 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 69 states. [2020-07-08 22:21:53,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:21:53,732 INFO L93 Difference]: Finished difference Result 73 states and 81 transitions. [2020-07-08 22:21:53,732 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 81 transitions. [2020-07-08 22:21:53,733 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:21:53,733 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:21:53,734 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 73 states. [2020-07-08 22:21:53,734 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 73 states. [2020-07-08 22:21:53,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:21:53,743 INFO L93 Difference]: Finished difference Result 73 states and 81 transitions. [2020-07-08 22:21:53,743 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 81 transitions. [2020-07-08 22:21:53,744 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:21:53,744 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:21:53,745 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:21:53,745 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:21:53,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2020-07-08 22:21:53,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 75 transitions. [2020-07-08 22:21:53,751 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 75 transitions. Word has length 61 [2020-07-08 22:21:53,752 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:21:53,752 INFO L479 AbstractCegarLoop]: Abstraction has 69 states and 75 transitions. [2020-07-08 22:21:53,752 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-08 22:21:53,752 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 69 states and 75 transitions. [2020-07-08 22:21:53,858 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:21:53,858 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 75 transitions. [2020-07-08 22:21:53,861 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-08 22:21:53,862 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:21:53,862 INFO L422 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 22:21:53,862 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-08 22:21:53,862 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:21:53,863 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:21:53,863 INFO L82 PathProgramCache]: Analyzing trace with hash -1260495361, now seen corresponding path program 1 times [2020-07-08 22:21:53,864 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:21:53,864 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1372110023] [2020-07-08 22:21:53,864 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:21:53,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:54,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:54,008 INFO L280 TraceCheckUtils]: 0: Hoare triple {1238#(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; {1190#true} is VALID [2020-07-08 22:21:54,009 INFO L280 TraceCheckUtils]: 1: Hoare triple {1190#true} #valid := #valid[0 := 0]; {1190#true} is VALID [2020-07-08 22:21:54,009 INFO L280 TraceCheckUtils]: 2: Hoare triple {1190#true} assume 0 < #StackHeapBarrier; {1190#true} is VALID [2020-07-08 22:21:54,009 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {1190#true} is VALID [2020-07-08 22:21:54,009 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} ~elem~0.base, ~elem~0.offset := 0, 0; {1190#true} is VALID [2020-07-08 22:21:54,010 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {1190#true} is VALID [2020-07-08 22:21:54,010 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {1190#true} is VALID [2020-07-08 22:21:54,010 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {1190#true} is VALID [2020-07-08 22:21:54,010 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-08 22:21:54,011 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1190#true} {1190#true} #112#return; {1190#true} is VALID [2020-07-08 22:21:54,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:54,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:54,035 INFO L280 TraceCheckUtils]: 0: Hoare triple {1239#(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; {1190#true} is VALID [2020-07-08 22:21:54,035 INFO L280 TraceCheckUtils]: 1: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-08 22:21:54,036 INFO L280 TraceCheckUtils]: 2: Hoare triple {1190#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-08 22:21:54,036 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1190#true} is VALID [2020-07-08 22:21:54,036 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-08 22:21:54,036 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-08 22:21:54,037 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} assume !(0 == #t~nondet29); {1190#true} is VALID [2020-07-08 22:21:54,037 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-08 22:21:54,037 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-08 22:21:54,037 INFO L280 TraceCheckUtils]: 9: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-08 22:21:54,038 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1190#true} {1190#true} #92#return; {1190#true} is VALID [2020-07-08 22:21:54,038 INFO L280 TraceCheckUtils]: 0: Hoare triple {1239#(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; {1190#true} is VALID [2020-07-08 22:21:54,039 INFO L263 TraceCheckUtils]: 1: Hoare triple {1190#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1239#(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-08 22:21:54,040 INFO L280 TraceCheckUtils]: 2: Hoare triple {1239#(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; {1190#true} is VALID [2020-07-08 22:21:54,040 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-08 22:21:54,040 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-08 22:21:54,040 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1190#true} is VALID [2020-07-08 22:21:54,041 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-08 22:21:54,041 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-08 22:21:54,041 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} assume !(0 == #t~nondet29); {1190#true} is VALID [2020-07-08 22:21:54,041 INFO L280 TraceCheckUtils]: 9: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-08 22:21:54,042 INFO L280 TraceCheckUtils]: 10: Hoare triple {1190#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-08 22:21:54,042 INFO L280 TraceCheckUtils]: 11: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-08 22:21:54,042 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1190#true} {1190#true} #92#return; {1190#true} is VALID [2020-07-08 22:21:54,042 INFO L280 TraceCheckUtils]: 13: Hoare triple {1190#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1190#true} is VALID [2020-07-08 22:21:54,043 INFO L280 TraceCheckUtils]: 14: Hoare triple {1190#true} havoc #t~ret30.base, #t~ret30.offset; {1190#true} is VALID [2020-07-08 22:21:54,043 INFO L280 TraceCheckUtils]: 15: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-08 22:21:54,043 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1190#true} {1190#true} #94#return; {1190#true} is VALID [2020-07-08 22:21:54,050 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:54,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:54,156 INFO L280 TraceCheckUtils]: 0: Hoare triple {1239#(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; {1190#true} is VALID [2020-07-08 22:21:54,156 INFO L280 TraceCheckUtils]: 1: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-08 22:21:54,157 INFO L280 TraceCheckUtils]: 2: Hoare triple {1190#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-08 22:21:54,157 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1190#true} is VALID [2020-07-08 22:21:54,157 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-08 22:21:54,157 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-08 22:21:54,158 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} assume 0 == #t~nondet29; {1190#true} is VALID [2020-07-08 22:21:54,158 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-08 22:21:54,159 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} #res.base, #res.offset := 0, 0; {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 22:21:54,159 INFO L280 TraceCheckUtils]: 9: Hoare triple {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 22:21:54,160 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {1190#true} #92#return; {1262#(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-08 22:21:54,161 INFO L280 TraceCheckUtils]: 0: Hoare triple {1239#(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; {1190#true} is VALID [2020-07-08 22:21:54,162 INFO L263 TraceCheckUtils]: 1: Hoare triple {1190#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1239#(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-08 22:21:54,162 INFO L280 TraceCheckUtils]: 2: Hoare triple {1239#(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; {1190#true} is VALID [2020-07-08 22:21:54,162 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-08 22:21:54,163 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-08 22:21:54,163 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1190#true} is VALID [2020-07-08 22:21:54,163 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-08 22:21:54,163 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-08 22:21:54,164 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} assume 0 == #t~nondet29; {1190#true} is VALID [2020-07-08 22:21:54,164 INFO L280 TraceCheckUtils]: 9: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-08 22:21:54,165 INFO L280 TraceCheckUtils]: 10: Hoare triple {1190#true} #res.base, #res.offset := 0, 0; {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 22:21:54,165 INFO L280 TraceCheckUtils]: 11: Hoare triple {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 22:21:54,167 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {1190#true} #92#return; {1262#(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-08 22:21:54,168 INFO L280 TraceCheckUtils]: 13: Hoare triple {1262#(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; {1263#(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-08 22:21:54,168 INFO L280 TraceCheckUtils]: 14: Hoare triple {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} havoc #t~ret30.base, #t~ret30.offset; {1263#(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-08 22:21:54,169 INFO L280 TraceCheckUtils]: 15: Hoare triple {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {1263#(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-08 22:21:54,171 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {1190#true} #96#return; {1236#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} is VALID [2020-07-08 22:21:54,173 INFO L263 TraceCheckUtils]: 0: Hoare triple {1190#true} call ULTIMATE.init(); {1238#(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-08 22:21:54,173 INFO L280 TraceCheckUtils]: 1: Hoare triple {1238#(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; {1190#true} is VALID [2020-07-08 22:21:54,173 INFO L280 TraceCheckUtils]: 2: Hoare triple {1190#true} #valid := #valid[0 := 0]; {1190#true} is VALID [2020-07-08 22:21:54,173 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} assume 0 < #StackHeapBarrier; {1190#true} is VALID [2020-07-08 22:21:54,174 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {1190#true} is VALID [2020-07-08 22:21:54,174 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} ~elem~0.base, ~elem~0.offset := 0, 0; {1190#true} is VALID [2020-07-08 22:21:54,174 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {1190#true} is VALID [2020-07-08 22:21:54,174 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {1190#true} is VALID [2020-07-08 22:21:54,175 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {1190#true} is VALID [2020-07-08 22:21:54,175 INFO L280 TraceCheckUtils]: 9: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-08 22:21:54,175 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1190#true} {1190#true} #112#return; {1190#true} is VALID [2020-07-08 22:21:54,175 INFO L263 TraceCheckUtils]: 11: Hoare triple {1190#true} call #t~ret34 := main(); {1190#true} is VALID [2020-07-08 22:21:54,175 INFO L280 TraceCheckUtils]: 12: Hoare triple {1190#true} havoc ~dev1~0.base, ~dev1~0.offset; {1190#true} is VALID [2020-07-08 22:21:54,176 INFO L280 TraceCheckUtils]: 13: Hoare triple {1190#true} havoc ~dev2~0.base, ~dev2~0.offset; {1190#true} is VALID [2020-07-08 22:21:54,176 INFO L263 TraceCheckUtils]: 14: Hoare triple {1190#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {1239#(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-08 22:21:54,177 INFO L280 TraceCheckUtils]: 15: Hoare triple {1239#(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; {1190#true} is VALID [2020-07-08 22:21:54,178 INFO L263 TraceCheckUtils]: 16: Hoare triple {1190#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1239#(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-08 22:21:54,178 INFO L280 TraceCheckUtils]: 17: Hoare triple {1239#(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; {1190#true} is VALID [2020-07-08 22:21:54,178 INFO L280 TraceCheckUtils]: 18: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-08 22:21:54,178 INFO L280 TraceCheckUtils]: 19: Hoare triple {1190#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-08 22:21:54,178 INFO L280 TraceCheckUtils]: 20: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1190#true} is VALID [2020-07-08 22:21:54,179 INFO L280 TraceCheckUtils]: 21: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-08 22:21:54,179 INFO L280 TraceCheckUtils]: 22: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-08 22:21:54,179 INFO L280 TraceCheckUtils]: 23: Hoare triple {1190#true} assume !(0 == #t~nondet29); {1190#true} is VALID [2020-07-08 22:21:54,179 INFO L280 TraceCheckUtils]: 24: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-08 22:21:54,180 INFO L280 TraceCheckUtils]: 25: Hoare triple {1190#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-08 22:21:54,180 INFO L280 TraceCheckUtils]: 26: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-08 22:21:54,180 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1190#true} {1190#true} #92#return; {1190#true} is VALID [2020-07-08 22:21:54,180 INFO L280 TraceCheckUtils]: 28: Hoare triple {1190#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1190#true} is VALID [2020-07-08 22:21:54,181 INFO L280 TraceCheckUtils]: 29: Hoare triple {1190#true} havoc #t~ret30.base, #t~ret30.offset; {1190#true} is VALID [2020-07-08 22:21:54,181 INFO L280 TraceCheckUtils]: 30: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-08 22:21:54,181 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {1190#true} {1190#true} #94#return; {1190#true} is VALID [2020-07-08 22:21:54,181 INFO L280 TraceCheckUtils]: 32: Hoare triple {1190#true} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {1190#true} is VALID [2020-07-08 22:21:54,182 INFO L280 TraceCheckUtils]: 33: Hoare triple {1190#true} havoc #t~ret32.base, #t~ret32.offset; {1190#true} is VALID [2020-07-08 22:21:54,183 INFO L263 TraceCheckUtils]: 34: Hoare triple {1190#true} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {1239#(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-08 22:21:54,183 INFO L280 TraceCheckUtils]: 35: Hoare triple {1239#(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; {1190#true} is VALID [2020-07-08 22:21:54,184 INFO L263 TraceCheckUtils]: 36: Hoare triple {1190#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1239#(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-08 22:21:54,184 INFO L280 TraceCheckUtils]: 37: Hoare triple {1239#(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; {1190#true} is VALID [2020-07-08 22:21:54,184 INFO L280 TraceCheckUtils]: 38: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-08 22:21:54,185 INFO L280 TraceCheckUtils]: 39: Hoare triple {1190#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-08 22:21:54,185 INFO L280 TraceCheckUtils]: 40: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1190#true} is VALID [2020-07-08 22:21:54,185 INFO L280 TraceCheckUtils]: 41: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-08 22:21:54,185 INFO L280 TraceCheckUtils]: 42: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-08 22:21:54,185 INFO L280 TraceCheckUtils]: 43: Hoare triple {1190#true} assume 0 == #t~nondet29; {1190#true} is VALID [2020-07-08 22:21:54,186 INFO L280 TraceCheckUtils]: 44: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-08 22:21:54,187 INFO L280 TraceCheckUtils]: 45: Hoare triple {1190#true} #res.base, #res.offset := 0, 0; {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 22:21:54,187 INFO L280 TraceCheckUtils]: 46: Hoare triple {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 22:21:54,188 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {1190#true} #92#return; {1262#(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-08 22:21:54,189 INFO L280 TraceCheckUtils]: 48: Hoare triple {1262#(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; {1263#(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-08 22:21:54,190 INFO L280 TraceCheckUtils]: 49: Hoare triple {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} havoc #t~ret30.base, #t~ret30.offset; {1263#(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-08 22:21:54,191 INFO L280 TraceCheckUtils]: 50: Hoare triple {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {1263#(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-08 22:21:54,192 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {1190#true} #96#return; {1236#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} is VALID [2020-07-08 22:21:54,193 INFO L280 TraceCheckUtils]: 52: Hoare triple {1236#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {1237#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} is VALID [2020-07-08 22:21:54,193 INFO L280 TraceCheckUtils]: 53: Hoare triple {1237#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} havoc #t~ret33.base, #t~ret33.offset; {1237#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} is VALID [2020-07-08 22:21:54,194 INFO L280 TraceCheckUtils]: 54: Hoare triple {1237#(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); {1191#false} is VALID [2020-07-08 22:21:54,194 INFO L263 TraceCheckUtils]: 55: Hoare triple {1191#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {1191#false} is VALID [2020-07-08 22:21:54,195 INFO L280 TraceCheckUtils]: 56: Hoare triple {1191#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {1191#false} is VALID [2020-07-08 22:21:54,195 INFO L280 TraceCheckUtils]: 57: Hoare triple {1191#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {1191#false} is VALID [2020-07-08 22:21:54,195 INFO L280 TraceCheckUtils]: 58: Hoare triple {1191#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {1191#false} is VALID [2020-07-08 22:21:54,195 INFO L263 TraceCheckUtils]: 59: Hoare triple {1191#false} call __blast_assert(); {1191#false} is VALID [2020-07-08 22:21:54,195 INFO L280 TraceCheckUtils]: 60: Hoare triple {1191#false} assume !false; {1191#false} is VALID [2020-07-08 22:21:54,201 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2020-07-08 22:21:54,201 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1372110023] [2020-07-08 22:21:54,202 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 22:21:54,202 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-08 22:21:54,202 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2056914571] [2020-07-08 22:21:54,202 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-08 22:21:54,203 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:21:54,203 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-08 22:21:54,262 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:21:54,262 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-08 22:21:54,263 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:21:54,263 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-08 22:21:54,263 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-08 22:21:54,263 INFO L87 Difference]: Start difference. First operand 69 states and 75 transitions. Second operand 9 states. [2020-07-08 22:21:55,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:21:55,447 INFO L93 Difference]: Finished difference Result 99 states and 111 transitions. [2020-07-08 22:21:55,447 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-08 22:21:55,448 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-08 22:21:55,448 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:21:55,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 22:21:55,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 111 transitions. [2020-07-08 22:21:55,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 22:21:55,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 111 transitions. [2020-07-08 22:21:55,455 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 111 transitions. [2020-07-08 22:21:55,618 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:21:55,622 INFO L225 Difference]: With dead ends: 99 [2020-07-08 22:21:55,622 INFO L226 Difference]: Without dead ends: 65 [2020-07-08 22:21:55,623 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2020-07-08 22:21:55,623 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2020-07-08 22:21:55,790 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 61. [2020-07-08 22:21:55,791 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:21:55,791 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand 61 states. [2020-07-08 22:21:55,791 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 61 states. [2020-07-08 22:21:55,791 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 61 states. [2020-07-08 22:21:55,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:21:55,797 INFO L93 Difference]: Finished difference Result 65 states and 72 transitions. [2020-07-08 22:21:55,797 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 72 transitions. [2020-07-08 22:21:55,798 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:21:55,798 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:21:55,798 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 65 states. [2020-07-08 22:21:55,798 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 65 states. [2020-07-08 22:21:55,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:21:55,803 INFO L93 Difference]: Finished difference Result 65 states and 72 transitions. [2020-07-08 22:21:55,804 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 72 transitions. [2020-07-08 22:21:55,804 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:21:55,805 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:21:55,805 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:21:55,805 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:21:55,805 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2020-07-08 22:21:55,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 66 transitions. [2020-07-08 22:21:55,809 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 66 transitions. Word has length 61 [2020-07-08 22:21:55,809 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:21:55,809 INFO L479 AbstractCegarLoop]: Abstraction has 61 states and 66 transitions. [2020-07-08 22:21:55,809 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-08 22:21:55,810 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 61 states and 66 transitions. [2020-07-08 22:21:55,909 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:21:55,909 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 66 transitions. [2020-07-08 22:21:55,911 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-08 22:21:55,911 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:21:55,911 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 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, 1, 1, 1] [2020-07-08 22:21:55,911 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-08 22:21:55,912 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:21:55,912 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:21:55,912 INFO L82 PathProgramCache]: Analyzing trace with hash -1723385860, now seen corresponding path program 1 times [2020-07-08 22:21:55,912 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:21:55,912 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [332914543] [2020-07-08 22:21:55,913 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:21:55,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:56,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:56,192 INFO L280 TraceCheckUtils]: 0: Hoare triple {1773#(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; {1721#true} is VALID [2020-07-08 22:21:56,192 INFO L280 TraceCheckUtils]: 1: Hoare triple {1721#true} #valid := #valid[0 := 0]; {1721#true} is VALID [2020-07-08 22:21:56,193 INFO L280 TraceCheckUtils]: 2: Hoare triple {1721#true} assume 0 < #StackHeapBarrier; {1721#true} is VALID [2020-07-08 22:21:56,200 INFO L280 TraceCheckUtils]: 3: Hoare triple {1721#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {1774#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,201 INFO L280 TraceCheckUtils]: 4: Hoare triple {1774#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:21:56,202 INFO L280 TraceCheckUtils]: 5: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:21:56,203 INFO L280 TraceCheckUtils]: 6: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:21:56,204 INFO L280 TraceCheckUtils]: 7: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:21:56,205 INFO L280 TraceCheckUtils]: 8: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:21:56,206 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {1721#true} #112#return; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:21:56,225 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:56,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:56,298 INFO L280 TraceCheckUtils]: 0: Hoare triple {1775#(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; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:21:56,299 INFO L280 TraceCheckUtils]: 1: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:21:56,300 INFO L280 TraceCheckUtils]: 2: Hoare triple {1776#(= ~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; {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:21:56,306 INFO L280 TraceCheckUtils]: 3: Hoare triple {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,306 INFO L280 TraceCheckUtils]: 4: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,307 INFO L280 TraceCheckUtils]: 5: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,308 INFO L280 TraceCheckUtils]: 6: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,308 INFO L280 TraceCheckUtils]: 7: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,309 INFO L280 TraceCheckUtils]: 8: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,310 INFO L280 TraceCheckUtils]: 9: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,312 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,313 INFO L280 TraceCheckUtils]: 0: Hoare triple {1775#(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; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:21:56,314 INFO L263 TraceCheckUtils]: 1: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1775#(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-08 22:21:56,314 INFO L280 TraceCheckUtils]: 2: Hoare triple {1775#(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; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:21:56,315 INFO L280 TraceCheckUtils]: 3: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:21:56,316 INFO L280 TraceCheckUtils]: 4: Hoare triple {1776#(= ~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; {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:21:56,317 INFO L280 TraceCheckUtils]: 5: Hoare triple {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,317 INFO L280 TraceCheckUtils]: 6: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,318 INFO L280 TraceCheckUtils]: 7: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,318 INFO L280 TraceCheckUtils]: 8: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,319 INFO L280 TraceCheckUtils]: 9: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,320 INFO L280 TraceCheckUtils]: 10: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,321 INFO L280 TraceCheckUtils]: 11: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,322 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,323 INFO L280 TraceCheckUtils]: 13: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,323 INFO L280 TraceCheckUtils]: 14: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,324 INFO L280 TraceCheckUtils]: 15: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,325 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #94#return; {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:21:56,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:56,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:56,416 INFO L280 TraceCheckUtils]: 0: Hoare triple {1775#(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; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:21:56,417 INFO L280 TraceCheckUtils]: 1: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:21:56,417 INFO L280 TraceCheckUtils]: 2: Hoare triple {1776#(= ~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; {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:21:56,418 INFO L280 TraceCheckUtils]: 3: Hoare triple {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,418 INFO L280 TraceCheckUtils]: 4: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,419 INFO L280 TraceCheckUtils]: 5: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,419 INFO L280 TraceCheckUtils]: 6: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,419 INFO L280 TraceCheckUtils]: 7: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,420 INFO L280 TraceCheckUtils]: 8: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:21:56,420 INFO L280 TraceCheckUtils]: 9: Hoare triple {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:21:56,423 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {1801#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:21:56,423 INFO L280 TraceCheckUtils]: 0: Hoare triple {1775#(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; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:21:56,425 INFO L263 TraceCheckUtils]: 1: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1775#(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-08 22:21:56,428 INFO L280 TraceCheckUtils]: 2: Hoare triple {1775#(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; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:21:56,428 INFO L280 TraceCheckUtils]: 3: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:21:56,430 INFO L280 TraceCheckUtils]: 4: Hoare triple {1776#(= ~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; {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:21:56,434 INFO L280 TraceCheckUtils]: 5: Hoare triple {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,436 INFO L280 TraceCheckUtils]: 6: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,437 INFO L280 TraceCheckUtils]: 7: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,438 INFO L280 TraceCheckUtils]: 8: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,438 INFO L280 TraceCheckUtils]: 9: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,439 INFO L280 TraceCheckUtils]: 10: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:21:56,440 INFO L280 TraceCheckUtils]: 11: Hoare triple {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:21:56,441 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {1801#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:21:56,442 INFO L280 TraceCheckUtils]: 13: Hoare triple {1801#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:21:56,442 INFO L280 TraceCheckUtils]: 14: Hoare triple {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:21:56,443 INFO L280 TraceCheckUtils]: 15: Hoare triple {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:21:56,444 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} #96#return; {1769#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} is VALID [2020-07-08 22:21:56,446 INFO L263 TraceCheckUtils]: 0: Hoare triple {1721#true} call ULTIMATE.init(); {1773#(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-08 22:21:56,446 INFO L280 TraceCheckUtils]: 1: Hoare triple {1773#(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; {1721#true} is VALID [2020-07-08 22:21:56,446 INFO L280 TraceCheckUtils]: 2: Hoare triple {1721#true} #valid := #valid[0 := 0]; {1721#true} is VALID [2020-07-08 22:21:56,447 INFO L280 TraceCheckUtils]: 3: Hoare triple {1721#true} assume 0 < #StackHeapBarrier; {1721#true} is VALID [2020-07-08 22:21:56,447 INFO L280 TraceCheckUtils]: 4: Hoare triple {1721#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {1774#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,448 INFO L280 TraceCheckUtils]: 5: Hoare triple {1774#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:21:56,449 INFO L280 TraceCheckUtils]: 6: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:21:56,450 INFO L280 TraceCheckUtils]: 7: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:21:56,450 INFO L280 TraceCheckUtils]: 8: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:21:56,451 INFO L280 TraceCheckUtils]: 9: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:21:56,452 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {1721#true} #112#return; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:21:56,452 INFO L263 TraceCheckUtils]: 11: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret34 := main(); {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:21:56,453 INFO L280 TraceCheckUtils]: 12: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev1~0.base, ~dev1~0.offset; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:21:56,454 INFO L280 TraceCheckUtils]: 13: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev2~0.base, ~dev2~0.offset; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:21:56,454 INFO L263 TraceCheckUtils]: 14: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {1775#(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-08 22:21:56,455 INFO L280 TraceCheckUtils]: 15: Hoare triple {1775#(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; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:21:56,456 INFO L263 TraceCheckUtils]: 16: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1775#(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-08 22:21:56,456 INFO L280 TraceCheckUtils]: 17: Hoare triple {1775#(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; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:21:56,457 INFO L280 TraceCheckUtils]: 18: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:21:56,458 INFO L280 TraceCheckUtils]: 19: Hoare triple {1776#(= ~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; {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:21:56,458 INFO L280 TraceCheckUtils]: 20: Hoare triple {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,459 INFO L280 TraceCheckUtils]: 21: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,459 INFO L280 TraceCheckUtils]: 22: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,460 INFO L280 TraceCheckUtils]: 23: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,460 INFO L280 TraceCheckUtils]: 24: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,461 INFO L280 TraceCheckUtils]: 25: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,461 INFO L280 TraceCheckUtils]: 26: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,463 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,463 INFO L280 TraceCheckUtils]: 28: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,464 INFO L280 TraceCheckUtils]: 29: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,464 INFO L280 TraceCheckUtils]: 30: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,466 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #94#return; {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:21:56,466 INFO L280 TraceCheckUtils]: 32: Hoare triple {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:21:56,467 INFO L280 TraceCheckUtils]: 33: Hoare triple {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} havoc #t~ret32.base, #t~ret32.offset; {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:21:56,468 INFO L263 TraceCheckUtils]: 34: Hoare triple {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {1775#(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-08 22:21:56,468 INFO L280 TraceCheckUtils]: 35: Hoare triple {1775#(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; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:21:56,469 INFO L263 TraceCheckUtils]: 36: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1775#(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-08 22:21:56,470 INFO L280 TraceCheckUtils]: 37: Hoare triple {1775#(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; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:21:56,470 INFO L280 TraceCheckUtils]: 38: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:21:56,471 INFO L280 TraceCheckUtils]: 39: Hoare triple {1776#(= ~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; {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:21:56,472 INFO L280 TraceCheckUtils]: 40: Hoare triple {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,472 INFO L280 TraceCheckUtils]: 41: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,473 INFO L280 TraceCheckUtils]: 42: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,473 INFO L280 TraceCheckUtils]: 43: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,474 INFO L280 TraceCheckUtils]: 44: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:21:56,475 INFO L280 TraceCheckUtils]: 45: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:21:56,475 INFO L280 TraceCheckUtils]: 46: Hoare triple {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:21:56,477 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {1801#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:21:56,477 INFO L280 TraceCheckUtils]: 48: Hoare triple {1801#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:21:56,478 INFO L280 TraceCheckUtils]: 49: Hoare triple {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:21:56,478 INFO L280 TraceCheckUtils]: 50: Hoare triple {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:21:56,480 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} #96#return; {1769#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} is VALID [2020-07-08 22:21:56,481 INFO L280 TraceCheckUtils]: 52: Hoare triple {1769#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {1770#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-08 22:21:56,481 INFO L280 TraceCheckUtils]: 53: Hoare triple {1770#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} havoc #t~ret33.base, #t~ret33.offset; {1770#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-08 22:21:56,482 INFO L280 TraceCheckUtils]: 54: Hoare triple {1770#(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); {1770#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-08 22:21:56,483 INFO L263 TraceCheckUtils]: 55: Hoare triple {1770#(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); {1771#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} is VALID [2020-07-08 22:21:56,484 INFO L280 TraceCheckUtils]: 56: Hoare triple {1771#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {1772#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-08 22:21:56,485 INFO L280 TraceCheckUtils]: 57: Hoare triple {1772#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {1772#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-08 22:21:56,485 INFO L280 TraceCheckUtils]: 58: Hoare triple {1772#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {1722#false} is VALID [2020-07-08 22:21:56,486 INFO L263 TraceCheckUtils]: 59: Hoare triple {1722#false} call __blast_assert(); {1722#false} is VALID [2020-07-08 22:21:56,486 INFO L280 TraceCheckUtils]: 60: Hoare triple {1722#false} assume !false; {1722#false} is VALID [2020-07-08 22:21:56,493 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2020-07-08 22:21:56,493 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [332914543] [2020-07-08 22:21:56,494 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:21:56,494 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2020-07-08 22:21:56,494 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1761142368] [2020-07-08 22:21:56,494 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 61 [2020-07-08 22:21:56,495 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:21:56,495 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-08 22:21:56,550 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:21:56,551 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-08 22:21:56,551 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:21:56,551 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-08 22:21:56,552 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=237, Unknown=0, NotChecked=0, Total=272 [2020-07-08 22:21:56,552 INFO L87 Difference]: Start difference. First operand 61 states and 66 transitions. Second operand 17 states. [2020-07-08 22:22:00,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:00,626 INFO L93 Difference]: Finished difference Result 108 states and 121 transitions. [2020-07-08 22:22:00,626 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2020-07-08 22:22:00,626 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 61 [2020-07-08 22:22:00,626 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:22:00,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-08 22:22:00,630 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 121 transitions. [2020-07-08 22:22:00,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-08 22:22:00,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 121 transitions. [2020-07-08 22:22:00,635 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 121 transitions. [2020-07-08 22:22:00,843 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:00,847 INFO L225 Difference]: With dead ends: 108 [2020-07-08 22:22:00,848 INFO L226 Difference]: Without dead ends: 105 [2020-07-08 22:22:00,851 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 126 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=150, Invalid=906, Unknown=0, NotChecked=0, Total=1056 [2020-07-08 22:22:00,851 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2020-07-08 22:22:01,205 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 88. [2020-07-08 22:22:01,205 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:22:01,206 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand 88 states. [2020-07-08 22:22:01,206 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 88 states. [2020-07-08 22:22:01,206 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 88 states. [2020-07-08 22:22:01,211 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:01,211 INFO L93 Difference]: Finished difference Result 105 states and 118 transitions. [2020-07-08 22:22:01,212 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 118 transitions. [2020-07-08 22:22:01,212 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:01,213 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:01,213 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand 105 states. [2020-07-08 22:22:01,213 INFO L87 Difference]: Start difference. First operand 88 states. Second operand 105 states. [2020-07-08 22:22:01,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:01,219 INFO L93 Difference]: Finished difference Result 105 states and 118 transitions. [2020-07-08 22:22:01,219 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 118 transitions. [2020-07-08 22:22:01,219 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:01,220 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:01,220 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:22:01,220 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:22:01,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 88 states. [2020-07-08 22:22:01,225 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 101 transitions. [2020-07-08 22:22:01,225 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 101 transitions. Word has length 61 [2020-07-08 22:22:01,226 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:22:01,226 INFO L479 AbstractCegarLoop]: Abstraction has 88 states and 101 transitions. [2020-07-08 22:22:01,226 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-08 22:22:01,226 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 88 states and 101 transitions. [2020-07-08 22:22:01,423 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:01,423 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 101 transitions. [2020-07-08 22:22:01,424 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 71 [2020-07-08 22:22:01,424 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:22:01,425 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 22:22:01,425 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-08 22:22:01,425 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:22:01,425 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:22:01,425 INFO L82 PathProgramCache]: Analyzing trace with hash -1814582916, now seen corresponding path program 1 times [2020-07-08 22:22:01,426 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:22:01,426 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1946295900] [2020-07-08 22:22:01,426 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:22:01,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:01,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:01,648 INFO L280 TraceCheckUtils]: 0: Hoare triple {2499#(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; {2440#true} is VALID [2020-07-08 22:22:01,649 INFO L280 TraceCheckUtils]: 1: Hoare triple {2440#true} #valid := #valid[0 := 0]; {2440#true} is VALID [2020-07-08 22:22:01,649 INFO L280 TraceCheckUtils]: 2: Hoare triple {2440#true} assume 0 < #StackHeapBarrier; {2440#true} is VALID [2020-07-08 22:22:01,650 INFO L280 TraceCheckUtils]: 3: Hoare triple {2440#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {2500#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:01,650 INFO L280 TraceCheckUtils]: 4: Hoare triple {2500#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:01,651 INFO L280 TraceCheckUtils]: 5: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:01,652 INFO L280 TraceCheckUtils]: 6: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:01,653 INFO L280 TraceCheckUtils]: 7: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:01,654 INFO L280 TraceCheckUtils]: 8: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:01,654 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {2440#true} #112#return; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:01,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:01,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:01,840 INFO L280 TraceCheckUtils]: 0: Hoare triple {2501#(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; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:01,841 INFO L280 TraceCheckUtils]: 1: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:01,841 INFO L280 TraceCheckUtils]: 2: Hoare triple {2502#(= ~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; {2516#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:01,849 INFO L280 TraceCheckUtils]: 3: Hoare triple {2516#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:01,849 INFO L280 TraceCheckUtils]: 4: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:01,850 INFO L280 TraceCheckUtils]: 5: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:01,850 INFO L280 TraceCheckUtils]: 6: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:01,851 INFO L280 TraceCheckUtils]: 7: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:01,852 INFO L280 TraceCheckUtils]: 8: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:01,852 INFO L280 TraceCheckUtils]: 9: Hoare triple {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:01,853 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {2514#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:22:01,854 INFO L280 TraceCheckUtils]: 0: Hoare triple {2501#(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; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:01,855 INFO L263 TraceCheckUtils]: 1: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2501#(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-08 22:22:01,856 INFO L280 TraceCheckUtils]: 2: Hoare triple {2501#(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; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:01,856 INFO L280 TraceCheckUtils]: 3: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:01,857 INFO L280 TraceCheckUtils]: 4: Hoare triple {2502#(= ~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; {2516#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:01,858 INFO L280 TraceCheckUtils]: 5: Hoare triple {2516#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:01,858 INFO L280 TraceCheckUtils]: 6: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:01,859 INFO L280 TraceCheckUtils]: 7: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:01,859 INFO L280 TraceCheckUtils]: 8: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:01,860 INFO L280 TraceCheckUtils]: 9: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:01,860 INFO L280 TraceCheckUtils]: 10: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:01,861 INFO L280 TraceCheckUtils]: 11: Hoare triple {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:01,862 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {2514#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:22:01,863 INFO L280 TraceCheckUtils]: 13: Hoare triple {2514#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:01,864 INFO L280 TraceCheckUtils]: 14: Hoare triple {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:01,864 INFO L280 TraceCheckUtils]: 15: Hoare triple {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:01,865 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #94#return; {2470#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} is VALID [2020-07-08 22:22:01,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:01,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:01,880 INFO L280 TraceCheckUtils]: 0: Hoare triple {2501#(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; {2440#true} is VALID [2020-07-08 22:22:01,881 INFO L280 TraceCheckUtils]: 1: Hoare triple {2440#true} assume ~size > 0; {2440#true} is VALID [2020-07-08 22:22:01,881 INFO L280 TraceCheckUtils]: 2: Hoare triple {2440#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2440#true} is VALID [2020-07-08 22:22:01,881 INFO L280 TraceCheckUtils]: 3: Hoare triple {2440#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2440#true} is VALID [2020-07-08 22:22:01,881 INFO L280 TraceCheckUtils]: 4: Hoare triple {2440#true} havoc #t~post28.base, #t~post28.offset; {2440#true} is VALID [2020-07-08 22:22:01,881 INFO L280 TraceCheckUtils]: 5: Hoare triple {2440#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2440#true} is VALID [2020-07-08 22:22:01,882 INFO L280 TraceCheckUtils]: 6: Hoare triple {2440#true} assume !(0 == #t~nondet29); {2440#true} is VALID [2020-07-08 22:22:01,882 INFO L280 TraceCheckUtils]: 7: Hoare triple {2440#true} havoc #t~nondet29; {2440#true} is VALID [2020-07-08 22:22:01,882 INFO L280 TraceCheckUtils]: 8: Hoare triple {2440#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2440#true} is VALID [2020-07-08 22:22:01,882 INFO L280 TraceCheckUtils]: 9: Hoare triple {2440#true} assume true; {2440#true} is VALID [2020-07-08 22:22:01,882 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2440#true} {2440#true} #92#return; {2440#true} is VALID [2020-07-08 22:22:01,883 INFO L280 TraceCheckUtils]: 0: Hoare triple {2501#(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; {2440#true} is VALID [2020-07-08 22:22:01,885 INFO L263 TraceCheckUtils]: 1: Hoare triple {2440#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2501#(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-08 22:22:01,886 INFO L280 TraceCheckUtils]: 2: Hoare triple {2501#(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; {2440#true} is VALID [2020-07-08 22:22:01,886 INFO L280 TraceCheckUtils]: 3: Hoare triple {2440#true} assume ~size > 0; {2440#true} is VALID [2020-07-08 22:22:01,886 INFO L280 TraceCheckUtils]: 4: Hoare triple {2440#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2440#true} is VALID [2020-07-08 22:22:01,886 INFO L280 TraceCheckUtils]: 5: Hoare triple {2440#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2440#true} is VALID [2020-07-08 22:22:01,887 INFO L280 TraceCheckUtils]: 6: Hoare triple {2440#true} havoc #t~post28.base, #t~post28.offset; {2440#true} is VALID [2020-07-08 22:22:01,887 INFO L280 TraceCheckUtils]: 7: Hoare triple {2440#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2440#true} is VALID [2020-07-08 22:22:01,887 INFO L280 TraceCheckUtils]: 8: Hoare triple {2440#true} assume !(0 == #t~nondet29); {2440#true} is VALID [2020-07-08 22:22:01,887 INFO L280 TraceCheckUtils]: 9: Hoare triple {2440#true} havoc #t~nondet29; {2440#true} is VALID [2020-07-08 22:22:01,888 INFO L280 TraceCheckUtils]: 10: Hoare triple {2440#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2440#true} is VALID [2020-07-08 22:22:01,888 INFO L280 TraceCheckUtils]: 11: Hoare triple {2440#true} assume true; {2440#true} is VALID [2020-07-08 22:22:01,888 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {2440#true} {2440#true} #92#return; {2440#true} is VALID [2020-07-08 22:22:01,888 INFO L280 TraceCheckUtils]: 13: Hoare triple {2440#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2440#true} is VALID [2020-07-08 22:22:01,888 INFO L280 TraceCheckUtils]: 14: Hoare triple {2440#true} havoc #t~ret30.base, #t~ret30.offset; {2440#true} is VALID [2020-07-08 22:22:01,889 INFO L280 TraceCheckUtils]: 15: Hoare triple {2440#true} assume true; {2440#true} is VALID [2020-07-08 22:22:01,890 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2440#true} {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #96#return; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-08 22:22:01,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:01,935 INFO L280 TraceCheckUtils]: 0: Hoare triple {2530#(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; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:01,936 INFO L280 TraceCheckUtils]: 1: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:01,937 INFO L280 TraceCheckUtils]: 2: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:01,937 INFO L280 TraceCheckUtils]: 3: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:01,938 INFO L280 TraceCheckUtils]: 4: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:01,938 INFO L280 TraceCheckUtils]: 5: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:01,939 INFO L280 TraceCheckUtils]: 6: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:01,940 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #98#return; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-08 22:22:01,941 INFO L263 TraceCheckUtils]: 0: Hoare triple {2440#true} call ULTIMATE.init(); {2499#(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-08 22:22:01,942 INFO L280 TraceCheckUtils]: 1: Hoare triple {2499#(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; {2440#true} is VALID [2020-07-08 22:22:01,942 INFO L280 TraceCheckUtils]: 2: Hoare triple {2440#true} #valid := #valid[0 := 0]; {2440#true} is VALID [2020-07-08 22:22:01,942 INFO L280 TraceCheckUtils]: 3: Hoare triple {2440#true} assume 0 < #StackHeapBarrier; {2440#true} is VALID [2020-07-08 22:22:01,943 INFO L280 TraceCheckUtils]: 4: Hoare triple {2440#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {2500#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:01,943 INFO L280 TraceCheckUtils]: 5: Hoare triple {2500#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:01,944 INFO L280 TraceCheckUtils]: 6: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:01,945 INFO L280 TraceCheckUtils]: 7: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:01,945 INFO L280 TraceCheckUtils]: 8: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:01,946 INFO L280 TraceCheckUtils]: 9: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:01,946 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {2440#true} #112#return; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:01,948 INFO L263 TraceCheckUtils]: 11: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret34 := main(); {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:01,948 INFO L280 TraceCheckUtils]: 12: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev1~0.base, ~dev1~0.offset; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:01,949 INFO L280 TraceCheckUtils]: 13: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev2~0.base, ~dev2~0.offset; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:01,949 INFO L263 TraceCheckUtils]: 14: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {2501#(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-08 22:22:01,950 INFO L280 TraceCheckUtils]: 15: Hoare triple {2501#(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; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:01,950 INFO L263 TraceCheckUtils]: 16: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2501#(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-08 22:22:01,951 INFO L280 TraceCheckUtils]: 17: Hoare triple {2501#(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; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:01,951 INFO L280 TraceCheckUtils]: 18: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:01,951 INFO L280 TraceCheckUtils]: 19: Hoare triple {2502#(= ~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; {2516#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:01,952 INFO L280 TraceCheckUtils]: 20: Hoare triple {2516#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:01,952 INFO L280 TraceCheckUtils]: 21: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:01,953 INFO L280 TraceCheckUtils]: 22: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:01,953 INFO L280 TraceCheckUtils]: 23: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:01,954 INFO L280 TraceCheckUtils]: 24: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:01,955 INFO L280 TraceCheckUtils]: 25: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:01,956 INFO L280 TraceCheckUtils]: 26: Hoare triple {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:01,960 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {2514#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:22:01,963 INFO L280 TraceCheckUtils]: 28: Hoare triple {2514#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:01,963 INFO L280 TraceCheckUtils]: 29: Hoare triple {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:01,964 INFO L280 TraceCheckUtils]: 30: Hoare triple {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:01,965 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #94#return; {2470#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} is VALID [2020-07-08 22:22:01,966 INFO L280 TraceCheckUtils]: 32: Hoare triple {2470#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-08 22:22:01,966 INFO L280 TraceCheckUtils]: 33: Hoare triple {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} havoc #t~ret32.base, #t~ret32.offset; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-08 22:22:01,967 INFO L263 TraceCheckUtils]: 34: Hoare triple {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {2501#(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-08 22:22:01,968 INFO L280 TraceCheckUtils]: 35: Hoare triple {2501#(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; {2440#true} is VALID [2020-07-08 22:22:01,968 INFO L263 TraceCheckUtils]: 36: Hoare triple {2440#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2501#(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-08 22:22:01,968 INFO L280 TraceCheckUtils]: 37: Hoare triple {2501#(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; {2440#true} is VALID [2020-07-08 22:22:01,969 INFO L280 TraceCheckUtils]: 38: Hoare triple {2440#true} assume ~size > 0; {2440#true} is VALID [2020-07-08 22:22:01,969 INFO L280 TraceCheckUtils]: 39: Hoare triple {2440#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2440#true} is VALID [2020-07-08 22:22:01,969 INFO L280 TraceCheckUtils]: 40: Hoare triple {2440#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2440#true} is VALID [2020-07-08 22:22:01,969 INFO L280 TraceCheckUtils]: 41: Hoare triple {2440#true} havoc #t~post28.base, #t~post28.offset; {2440#true} is VALID [2020-07-08 22:22:01,969 INFO L280 TraceCheckUtils]: 42: Hoare triple {2440#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2440#true} is VALID [2020-07-08 22:22:01,969 INFO L280 TraceCheckUtils]: 43: Hoare triple {2440#true} assume !(0 == #t~nondet29); {2440#true} is VALID [2020-07-08 22:22:01,969 INFO L280 TraceCheckUtils]: 44: Hoare triple {2440#true} havoc #t~nondet29; {2440#true} is VALID [2020-07-08 22:22:01,969 INFO L280 TraceCheckUtils]: 45: Hoare triple {2440#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2440#true} is VALID [2020-07-08 22:22:01,970 INFO L280 TraceCheckUtils]: 46: Hoare triple {2440#true} assume true; {2440#true} is VALID [2020-07-08 22:22:01,970 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {2440#true} {2440#true} #92#return; {2440#true} is VALID [2020-07-08 22:22:01,970 INFO L280 TraceCheckUtils]: 48: Hoare triple {2440#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2440#true} is VALID [2020-07-08 22:22:01,970 INFO L280 TraceCheckUtils]: 49: Hoare triple {2440#true} havoc #t~ret30.base, #t~ret30.offset; {2440#true} is VALID [2020-07-08 22:22:01,970 INFO L280 TraceCheckUtils]: 50: Hoare triple {2440#true} assume true; {2440#true} is VALID [2020-07-08 22:22:01,971 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {2440#true} {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #96#return; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-08 22:22:01,971 INFO L280 TraceCheckUtils]: 52: Hoare triple {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-08 22:22:01,972 INFO L280 TraceCheckUtils]: 53: Hoare triple {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} havoc #t~ret33.base, #t~ret33.offset; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-08 22:22:01,972 INFO L280 TraceCheckUtils]: 54: Hoare triple {2471#(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); {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-08 22:22:01,973 INFO L263 TraceCheckUtils]: 55: Hoare triple {2471#(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); {2530#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:01,973 INFO L280 TraceCheckUtils]: 56: Hoare triple {2530#(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; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:01,974 INFO L280 TraceCheckUtils]: 57: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:01,974 INFO L280 TraceCheckUtils]: 58: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:01,974 INFO L280 TraceCheckUtils]: 59: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:01,975 INFO L280 TraceCheckUtils]: 60: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:01,975 INFO L280 TraceCheckUtils]: 61: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:01,976 INFO L280 TraceCheckUtils]: 62: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:01,977 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #98#return; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-08 22:22:01,978 INFO L263 TraceCheckUtils]: 64: Hoare triple {2471#(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); {2497#(and (= 0 ~elem~0.offset) (<= 1 |list_add_#in~new.offset|))} is VALID [2020-07-08 22:22:01,979 INFO L280 TraceCheckUtils]: 65: Hoare triple {2497#(and (= 0 ~elem~0.offset) (<= 1 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {2498#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-08 22:22:01,979 INFO L280 TraceCheckUtils]: 66: Hoare triple {2498#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {2498#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-08 22:22:01,979 INFO L280 TraceCheckUtils]: 67: Hoare triple {2498#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {2441#false} is VALID [2020-07-08 22:22:01,980 INFO L263 TraceCheckUtils]: 68: Hoare triple {2441#false} call __blast_assert(); {2441#false} is VALID [2020-07-08 22:22:01,980 INFO L280 TraceCheckUtils]: 69: Hoare triple {2441#false} assume !false; {2441#false} is VALID [2020-07-08 22:22:01,987 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-08 22:22:01,987 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1946295900] [2020-07-08 22:22:01,987 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:22:01,987 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18] total 18 [2020-07-08 22:22:01,987 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1374358610] [2020-07-08 22:22:01,988 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 70 [2020-07-08 22:22:01,988 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:22:01,988 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-08 22:22:02,069 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:02,070 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-08 22:22:02,070 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:22:02,070 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-08 22:22:02,071 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=266, Unknown=0, NotChecked=0, Total=306 [2020-07-08 22:22:02,071 INFO L87 Difference]: Start difference. First operand 88 states and 101 transitions. Second operand 18 states. [2020-07-08 22:22:05,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:05,991 INFO L93 Difference]: Finished difference Result 113 states and 129 transitions. [2020-07-08 22:22:05,992 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2020-07-08 22:22:05,992 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 70 [2020-07-08 22:22:05,992 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:22:05,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-08 22:22:06,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 102 transitions. [2020-07-08 22:22:06,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-08 22:22:06,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 102 transitions. [2020-07-08 22:22:06,007 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 102 transitions. [2020-07-08 22:22:06,177 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:06,182 INFO L225 Difference]: With dead ends: 113 [2020-07-08 22:22:06,182 INFO L226 Difference]: Without dead ends: 104 [2020-07-08 22:22:06,183 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 123 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=173, Invalid=949, Unknown=0, NotChecked=0, Total=1122 [2020-07-08 22:22:06,184 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2020-07-08 22:22:06,593 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 94. [2020-07-08 22:22:06,593 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:22:06,593 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand 94 states. [2020-07-08 22:22:06,594 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand 94 states. [2020-07-08 22:22:06,594 INFO L87 Difference]: Start difference. First operand 104 states. Second operand 94 states. [2020-07-08 22:22:06,599 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:06,599 INFO L93 Difference]: Finished difference Result 104 states and 118 transitions. [2020-07-08 22:22:06,599 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 118 transitions. [2020-07-08 22:22:06,600 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:06,600 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:06,600 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand 104 states. [2020-07-08 22:22:06,601 INFO L87 Difference]: Start difference. First operand 94 states. Second operand 104 states. [2020-07-08 22:22:06,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:06,606 INFO L93 Difference]: Finished difference Result 104 states and 118 transitions. [2020-07-08 22:22:06,606 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 118 transitions. [2020-07-08 22:22:06,607 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:06,607 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:06,607 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:22:06,607 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:22:06,607 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 94 states. [2020-07-08 22:22:06,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 107 transitions. [2020-07-08 22:22:06,612 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 107 transitions. Word has length 70 [2020-07-08 22:22:06,612 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:22:06,612 INFO L479 AbstractCegarLoop]: Abstraction has 94 states and 107 transitions. [2020-07-08 22:22:06,612 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-08 22:22:06,612 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 94 states and 107 transitions. [2020-07-08 22:22:06,850 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:06,850 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 107 transitions. [2020-07-08 22:22:06,852 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2020-07-08 22:22:06,852 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:22:06,852 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 22:22:06,853 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-08 22:22:06,853 INFO L427 AbstractCegarLoop]: === Iteration 6 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:22:06,853 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:22:06,853 INFO L82 PathProgramCache]: Analyzing trace with hash 983151375, now seen corresponding path program 1 times [2020-07-08 22:22:06,854 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:22:06,854 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [117705209] [2020-07-08 22:22:06,854 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:22:06,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:07,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:07,047 INFO L280 TraceCheckUtils]: 0: Hoare triple {3251#(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; {3189#true} is VALID [2020-07-08 22:22:07,047 INFO L280 TraceCheckUtils]: 1: Hoare triple {3189#true} #valid := #valid[0 := 0]; {3189#true} is VALID [2020-07-08 22:22:07,047 INFO L280 TraceCheckUtils]: 2: Hoare triple {3189#true} assume 0 < #StackHeapBarrier; {3189#true} is VALID [2020-07-08 22:22:07,048 INFO L280 TraceCheckUtils]: 3: Hoare triple {3189#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {3189#true} is VALID [2020-07-08 22:22:07,048 INFO L280 TraceCheckUtils]: 4: Hoare triple {3189#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3189#true} is VALID [2020-07-08 22:22:07,048 INFO L280 TraceCheckUtils]: 5: Hoare triple {3189#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {3189#true} is VALID [2020-07-08 22:22:07,049 INFO L280 TraceCheckUtils]: 6: Hoare triple {3189#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {3189#true} is VALID [2020-07-08 22:22:07,049 INFO L280 TraceCheckUtils]: 7: Hoare triple {3189#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {3189#true} is VALID [2020-07-08 22:22:07,049 INFO L280 TraceCheckUtils]: 8: Hoare triple {3189#true} assume true; {3189#true} is VALID [2020-07-08 22:22:07,050 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3189#true} {3189#true} #112#return; {3189#true} is VALID [2020-07-08 22:22:07,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:07,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:07,174 INFO L280 TraceCheckUtils]: 0: Hoare triple {3252#(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; {3189#true} is VALID [2020-07-08 22:22:07,174 INFO L280 TraceCheckUtils]: 1: Hoare triple {3189#true} assume ~size > 0; {3189#true} is VALID [2020-07-08 22:22:07,174 INFO L280 TraceCheckUtils]: 2: Hoare triple {3189#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3189#true} is VALID [2020-07-08 22:22:07,175 INFO L280 TraceCheckUtils]: 3: Hoare triple {3189#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3189#true} is VALID [2020-07-08 22:22:07,175 INFO L280 TraceCheckUtils]: 4: Hoare triple {3189#true} havoc #t~post28.base, #t~post28.offset; {3189#true} is VALID [2020-07-08 22:22:07,175 INFO L280 TraceCheckUtils]: 5: Hoare triple {3189#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3189#true} is VALID [2020-07-08 22:22:07,175 INFO L280 TraceCheckUtils]: 6: Hoare triple {3189#true} assume !(0 == #t~nondet29); {3189#true} is VALID [2020-07-08 22:22:07,176 INFO L280 TraceCheckUtils]: 7: Hoare triple {3189#true} havoc #t~nondet29; {3189#true} is VALID [2020-07-08 22:22:07,177 INFO L280 TraceCheckUtils]: 8: Hoare triple {3189#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,177 INFO L280 TraceCheckUtils]: 9: Hoare triple {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,179 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3189#true} #92#return; {3264#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,180 INFO L280 TraceCheckUtils]: 0: Hoare triple {3252#(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; {3189#true} is VALID [2020-07-08 22:22:07,181 INFO L263 TraceCheckUtils]: 1: Hoare triple {3189#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3252#(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-08 22:22:07,181 INFO L280 TraceCheckUtils]: 2: Hoare triple {3252#(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; {3189#true} is VALID [2020-07-08 22:22:07,181 INFO L280 TraceCheckUtils]: 3: Hoare triple {3189#true} assume ~size > 0; {3189#true} is VALID [2020-07-08 22:22:07,182 INFO L280 TraceCheckUtils]: 4: Hoare triple {3189#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3189#true} is VALID [2020-07-08 22:22:07,182 INFO L280 TraceCheckUtils]: 5: Hoare triple {3189#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3189#true} is VALID [2020-07-08 22:22:07,182 INFO L280 TraceCheckUtils]: 6: Hoare triple {3189#true} havoc #t~post28.base, #t~post28.offset; {3189#true} is VALID [2020-07-08 22:22:07,183 INFO L280 TraceCheckUtils]: 7: Hoare triple {3189#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3189#true} is VALID [2020-07-08 22:22:07,183 INFO L280 TraceCheckUtils]: 8: Hoare triple {3189#true} assume !(0 == #t~nondet29); {3189#true} is VALID [2020-07-08 22:22:07,183 INFO L280 TraceCheckUtils]: 9: Hoare triple {3189#true} havoc #t~nondet29; {3189#true} is VALID [2020-07-08 22:22:07,184 INFO L280 TraceCheckUtils]: 10: Hoare triple {3189#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,185 INFO L280 TraceCheckUtils]: 11: Hoare triple {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,186 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3189#true} #92#return; {3264#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,187 INFO L280 TraceCheckUtils]: 13: Hoare triple {3264#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,188 INFO L280 TraceCheckUtils]: 14: Hoare triple {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,189 INFO L280 TraceCheckUtils]: 15: Hoare triple {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,190 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3189#true} #94#return; {3218#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,195 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:07,280 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:07,371 INFO L280 TraceCheckUtils]: 0: Hoare triple {3252#(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; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:07,372 INFO L280 TraceCheckUtils]: 1: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:07,372 INFO L280 TraceCheckUtils]: 2: Hoare triple {3267#(= ~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; {3281#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:07,373 INFO L280 TraceCheckUtils]: 3: Hoare triple {3281#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,373 INFO L280 TraceCheckUtils]: 4: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,374 INFO L280 TraceCheckUtils]: 5: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,375 INFO L280 TraceCheckUtils]: 6: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,375 INFO L280 TraceCheckUtils]: 7: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,376 INFO L280 TraceCheckUtils]: 8: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:07,376 INFO L280 TraceCheckUtils]: 9: Hoare triple {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:07,377 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {3279#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:22:07,378 INFO L280 TraceCheckUtils]: 0: Hoare triple {3252#(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; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:07,379 INFO L263 TraceCheckUtils]: 1: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3252#(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-08 22:22:07,379 INFO L280 TraceCheckUtils]: 2: Hoare triple {3252#(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; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:07,380 INFO L280 TraceCheckUtils]: 3: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:07,381 INFO L280 TraceCheckUtils]: 4: Hoare triple {3267#(= ~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; {3281#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:07,381 INFO L280 TraceCheckUtils]: 5: Hoare triple {3281#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,382 INFO L280 TraceCheckUtils]: 6: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,382 INFO L280 TraceCheckUtils]: 7: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,383 INFO L280 TraceCheckUtils]: 8: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,383 INFO L280 TraceCheckUtils]: 9: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,384 INFO L280 TraceCheckUtils]: 10: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:07,384 INFO L280 TraceCheckUtils]: 11: Hoare triple {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:07,385 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {3279#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:22:07,386 INFO L280 TraceCheckUtils]: 13: Hoare triple {3279#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:07,387 INFO L280 TraceCheckUtils]: 14: Hoare triple {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:07,387 INFO L280 TraceCheckUtils]: 15: Hoare triple {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:07,388 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {3219#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #96#return; {3237#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-08 22:22:07,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:07,467 INFO L280 TraceCheckUtils]: 0: Hoare triple {3284#(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; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:07,467 INFO L280 TraceCheckUtils]: 1: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:07,468 INFO L280 TraceCheckUtils]: 2: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:07,468 INFO L280 TraceCheckUtils]: 3: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:07,468 INFO L280 TraceCheckUtils]: 4: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:07,469 INFO L280 TraceCheckUtils]: 5: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:07,469 INFO L280 TraceCheckUtils]: 6: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 22:22:07,470 INFO L280 TraceCheckUtils]: 7: Hoare triple {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 22:22:07,471 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #98#return; {3248#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} is VALID [2020-07-08 22:22:07,472 INFO L263 TraceCheckUtils]: 0: Hoare triple {3189#true} call ULTIMATE.init(); {3251#(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-08 22:22:07,472 INFO L280 TraceCheckUtils]: 1: Hoare triple {3251#(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; {3189#true} is VALID [2020-07-08 22:22:07,472 INFO L280 TraceCheckUtils]: 2: Hoare triple {3189#true} #valid := #valid[0 := 0]; {3189#true} is VALID [2020-07-08 22:22:07,472 INFO L280 TraceCheckUtils]: 3: Hoare triple {3189#true} assume 0 < #StackHeapBarrier; {3189#true} is VALID [2020-07-08 22:22:07,473 INFO L280 TraceCheckUtils]: 4: Hoare triple {3189#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {3189#true} is VALID [2020-07-08 22:22:07,473 INFO L280 TraceCheckUtils]: 5: Hoare triple {3189#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3189#true} is VALID [2020-07-08 22:22:07,473 INFO L280 TraceCheckUtils]: 6: Hoare triple {3189#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {3189#true} is VALID [2020-07-08 22:22:07,473 INFO L280 TraceCheckUtils]: 7: Hoare triple {3189#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {3189#true} is VALID [2020-07-08 22:22:07,473 INFO L280 TraceCheckUtils]: 8: Hoare triple {3189#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {3189#true} is VALID [2020-07-08 22:22:07,473 INFO L280 TraceCheckUtils]: 9: Hoare triple {3189#true} assume true; {3189#true} is VALID [2020-07-08 22:22:07,474 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3189#true} {3189#true} #112#return; {3189#true} is VALID [2020-07-08 22:22:07,474 INFO L263 TraceCheckUtils]: 11: Hoare triple {3189#true} call #t~ret34 := main(); {3189#true} is VALID [2020-07-08 22:22:07,474 INFO L280 TraceCheckUtils]: 12: Hoare triple {3189#true} havoc ~dev1~0.base, ~dev1~0.offset; {3189#true} is VALID [2020-07-08 22:22:07,474 INFO L280 TraceCheckUtils]: 13: Hoare triple {3189#true} havoc ~dev2~0.base, ~dev2~0.offset; {3189#true} is VALID [2020-07-08 22:22:07,475 INFO L263 TraceCheckUtils]: 14: Hoare triple {3189#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {3252#(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-08 22:22:07,475 INFO L280 TraceCheckUtils]: 15: Hoare triple {3252#(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; {3189#true} is VALID [2020-07-08 22:22:07,476 INFO L263 TraceCheckUtils]: 16: Hoare triple {3189#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3252#(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-08 22:22:07,476 INFO L280 TraceCheckUtils]: 17: Hoare triple {3252#(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; {3189#true} is VALID [2020-07-08 22:22:07,476 INFO L280 TraceCheckUtils]: 18: Hoare triple {3189#true} assume ~size > 0; {3189#true} is VALID [2020-07-08 22:22:07,476 INFO L280 TraceCheckUtils]: 19: Hoare triple {3189#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3189#true} is VALID [2020-07-08 22:22:07,477 INFO L280 TraceCheckUtils]: 20: Hoare triple {3189#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3189#true} is VALID [2020-07-08 22:22:07,477 INFO L280 TraceCheckUtils]: 21: Hoare triple {3189#true} havoc #t~post28.base, #t~post28.offset; {3189#true} is VALID [2020-07-08 22:22:07,477 INFO L280 TraceCheckUtils]: 22: Hoare triple {3189#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3189#true} is VALID [2020-07-08 22:22:07,477 INFO L280 TraceCheckUtils]: 23: Hoare triple {3189#true} assume !(0 == #t~nondet29); {3189#true} is VALID [2020-07-08 22:22:07,477 INFO L280 TraceCheckUtils]: 24: Hoare triple {3189#true} havoc #t~nondet29; {3189#true} is VALID [2020-07-08 22:22:07,478 INFO L280 TraceCheckUtils]: 25: Hoare triple {3189#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,478 INFO L280 TraceCheckUtils]: 26: Hoare triple {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,479 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3189#true} #92#return; {3264#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,480 INFO L280 TraceCheckUtils]: 28: Hoare triple {3264#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,480 INFO L280 TraceCheckUtils]: 29: Hoare triple {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,481 INFO L280 TraceCheckUtils]: 30: Hoare triple {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,482 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3189#true} #94#return; {3218#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,482 INFO L280 TraceCheckUtils]: 32: Hoare triple {3218#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {3219#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,483 INFO L280 TraceCheckUtils]: 33: Hoare triple {3219#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} havoc #t~ret32.base, #t~ret32.offset; {3219#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,483 INFO L263 TraceCheckUtils]: 34: Hoare triple {3219#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {3252#(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-08 22:22:07,484 INFO L280 TraceCheckUtils]: 35: Hoare triple {3252#(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; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:07,490 INFO L263 TraceCheckUtils]: 36: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3252#(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-08 22:22:07,490 INFO L280 TraceCheckUtils]: 37: Hoare triple {3252#(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; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:07,491 INFO L280 TraceCheckUtils]: 38: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:07,491 INFO L280 TraceCheckUtils]: 39: Hoare triple {3267#(= ~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; {3281#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:07,492 INFO L280 TraceCheckUtils]: 40: Hoare triple {3281#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,492 INFO L280 TraceCheckUtils]: 41: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,493 INFO L280 TraceCheckUtils]: 42: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,493 INFO L280 TraceCheckUtils]: 43: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,494 INFO L280 TraceCheckUtils]: 44: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:07,494 INFO L280 TraceCheckUtils]: 45: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:07,495 INFO L280 TraceCheckUtils]: 46: Hoare triple {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:07,496 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {3279#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:22:07,497 INFO L280 TraceCheckUtils]: 48: Hoare triple {3279#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:07,497 INFO L280 TraceCheckUtils]: 49: Hoare triple {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:07,498 INFO L280 TraceCheckUtils]: 50: Hoare triple {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:07,513 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {3219#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #96#return; {3237#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-08 22:22:07,514 INFO L280 TraceCheckUtils]: 52: Hoare triple {3237#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 22:22:07,515 INFO L280 TraceCheckUtils]: 53: Hoare triple {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} havoc #t~ret33.base, #t~ret33.offset; {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 22:22:07,515 INFO L280 TraceCheckUtils]: 54: Hoare triple {3238#(<= (+ 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); {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 22:22:07,516 INFO L263 TraceCheckUtils]: 55: Hoare triple {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {3284#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:07,516 INFO L280 TraceCheckUtils]: 56: Hoare triple {3284#(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; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:07,517 INFO L280 TraceCheckUtils]: 57: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:07,517 INFO L280 TraceCheckUtils]: 58: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:07,518 INFO L280 TraceCheckUtils]: 59: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:07,519 INFO L280 TraceCheckUtils]: 60: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:07,519 INFO L280 TraceCheckUtils]: 61: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:07,520 INFO L280 TraceCheckUtils]: 62: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 22:22:07,520 INFO L280 TraceCheckUtils]: 63: Hoare triple {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 22:22:07,521 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #98#return; {3248#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} is VALID [2020-07-08 22:22:07,522 INFO L263 TraceCheckUtils]: 65: Hoare triple {3248#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {3249#(<= (+ |list_add_#in~new.offset| 1) ~elem~0.offset)} is VALID [2020-07-08 22:22:07,523 INFO L280 TraceCheckUtils]: 66: Hoare triple {3249#(<= (+ |list_add_#in~new.offset| 1) ~elem~0.offset)} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {3250#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-08 22:22:07,524 INFO L280 TraceCheckUtils]: 67: Hoare triple {3250#(not (= ~elem~0.offset list_add_~new.offset))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3250#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-08 22:22:07,524 INFO L280 TraceCheckUtils]: 68: Hoare triple {3250#(not (= ~elem~0.offset list_add_~new.offset))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {3190#false} is VALID [2020-07-08 22:22:07,525 INFO L263 TraceCheckUtils]: 69: Hoare triple {3190#false} call __blast_assert(); {3190#false} is VALID [2020-07-08 22:22:07,525 INFO L280 TraceCheckUtils]: 70: Hoare triple {3190#false} assume !false; {3190#false} is VALID [2020-07-08 22:22:07,530 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 9 proven. 9 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-08 22:22:07,530 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [117705209] [2020-07-08 22:22:07,531 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:22:07,531 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23] total 23 [2020-07-08 22:22:07,531 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [301730969] [2020-07-08 22:22:07,532 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 71 [2020-07-08 22:22:07,532 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:22:07,532 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2020-07-08 22:22:07,613 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:07,613 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2020-07-08 22:22:07,614 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:22:07,614 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2020-07-08 22:22:07,615 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=459, Unknown=0, NotChecked=0, Total=506 [2020-07-08 22:22:07,615 INFO L87 Difference]: Start difference. First operand 94 states and 107 transitions. Second operand 23 states. [2020-07-08 22:22:13,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:13,865 INFO L93 Difference]: Finished difference Result 112 states and 129 transitions. [2020-07-08 22:22:13,865 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-08 22:22:13,865 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 71 [2020-07-08 22:22:13,865 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:22:13,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-08 22:22:13,869 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 100 transitions. [2020-07-08 22:22:13,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-08 22:22:13,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 100 transitions. [2020-07-08 22:22:13,873 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 100 transitions. [2020-07-08 22:22:14,042 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:14,047 INFO L225 Difference]: With dead ends: 112 [2020-07-08 22:22:14,047 INFO L226 Difference]: Without dead ends: 105 [2020-07-08 22:22:14,051 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 205 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=210, Invalid=1682, Unknown=0, NotChecked=0, Total=1892 [2020-07-08 22:22:14,051 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2020-07-08 22:22:14,542 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 103. [2020-07-08 22:22:14,542 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:22:14,542 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand 103 states. [2020-07-08 22:22:14,542 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 103 states. [2020-07-08 22:22:14,543 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 103 states. [2020-07-08 22:22:14,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:14,548 INFO L93 Difference]: Finished difference Result 105 states and 116 transitions. [2020-07-08 22:22:14,548 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 116 transitions. [2020-07-08 22:22:14,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:14,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:14,549 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand 105 states. [2020-07-08 22:22:14,549 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 105 states. [2020-07-08 22:22:14,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:14,554 INFO L93 Difference]: Finished difference Result 105 states and 116 transitions. [2020-07-08 22:22:14,555 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 116 transitions. [2020-07-08 22:22:14,555 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:14,556 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:14,556 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:22:14,556 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:22:14,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 103 states. [2020-07-08 22:22:14,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 114 transitions. [2020-07-08 22:22:14,561 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 114 transitions. Word has length 71 [2020-07-08 22:22:14,561 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:22:14,561 INFO L479 AbstractCegarLoop]: Abstraction has 103 states and 114 transitions. [2020-07-08 22:22:14,561 INFO L480 AbstractCegarLoop]: Interpolant automaton has 23 states. [2020-07-08 22:22:14,561 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 103 states and 114 transitions. [2020-07-08 22:22:14,852 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:14,852 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 114 transitions. [2020-07-08 22:22:14,853 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2020-07-08 22:22:14,854 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:22:14,854 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 22:22:14,854 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-08 22:22:14,854 INFO L427 AbstractCegarLoop]: === Iteration 7 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:22:14,854 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:22:14,855 INFO L82 PathProgramCache]: Analyzing trace with hash -1660138148, now seen corresponding path program 1 times [2020-07-08 22:22:14,855 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:22:14,855 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1598503782] [2020-07-08 22:22:14,855 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:22:14,888 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:15,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:15,071 INFO L280 TraceCheckUtils]: 0: Hoare triple {4045#(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; {3971#true} is VALID [2020-07-08 22:22:15,072 INFO L280 TraceCheckUtils]: 1: Hoare triple {3971#true} #valid := #valid[0 := 0]; {3971#true} is VALID [2020-07-08 22:22:15,072 INFO L280 TraceCheckUtils]: 2: Hoare triple {3971#true} assume 0 < #StackHeapBarrier; {3971#true} is VALID [2020-07-08 22:22:15,072 INFO L280 TraceCheckUtils]: 3: Hoare triple {3971#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {3971#true} is VALID [2020-07-08 22:22:15,072 INFO L280 TraceCheckUtils]: 4: Hoare triple {3971#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3971#true} is VALID [2020-07-08 22:22:15,072 INFO L280 TraceCheckUtils]: 5: Hoare triple {3971#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {3971#true} is VALID [2020-07-08 22:22:15,073 INFO L280 TraceCheckUtils]: 6: Hoare triple {3971#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {3971#true} is VALID [2020-07-08 22:22:15,073 INFO L280 TraceCheckUtils]: 7: Hoare triple {3971#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {3971#true} is VALID [2020-07-08 22:22:15,073 INFO L280 TraceCheckUtils]: 8: Hoare triple {3971#true} assume true; {3971#true} is VALID [2020-07-08 22:22:15,073 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3971#true} {3971#true} #112#return; {3971#true} is VALID [2020-07-08 22:22:15,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:15,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:15,231 INFO L280 TraceCheckUtils]: 0: Hoare triple {4046#(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; {3971#true} is VALID [2020-07-08 22:22:15,232 INFO L280 TraceCheckUtils]: 1: Hoare triple {3971#true} assume ~size > 0; {3971#true} is VALID [2020-07-08 22:22:15,232 INFO L280 TraceCheckUtils]: 2: Hoare triple {3971#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3971#true} is VALID [2020-07-08 22:22:15,232 INFO L280 TraceCheckUtils]: 3: Hoare triple {3971#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3971#true} is VALID [2020-07-08 22:22:15,232 INFO L280 TraceCheckUtils]: 4: Hoare triple {3971#true} havoc #t~post28.base, #t~post28.offset; {3971#true} is VALID [2020-07-08 22:22:15,232 INFO L280 TraceCheckUtils]: 5: Hoare triple {3971#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3971#true} is VALID [2020-07-08 22:22:15,232 INFO L280 TraceCheckUtils]: 6: Hoare triple {3971#true} assume !(0 == #t~nondet29); {3971#true} is VALID [2020-07-08 22:22:15,232 INFO L280 TraceCheckUtils]: 7: Hoare triple {3971#true} havoc #t~nondet29; {3971#true} is VALID [2020-07-08 22:22:15,233 INFO L280 TraceCheckUtils]: 8: Hoare triple {3971#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,234 INFO L280 TraceCheckUtils]: 9: Hoare triple {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,235 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3971#true} #92#return; {4058#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,235 INFO L280 TraceCheckUtils]: 0: Hoare triple {4046#(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; {3971#true} is VALID [2020-07-08 22:22:15,236 INFO L263 TraceCheckUtils]: 1: Hoare triple {3971#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4046#(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-08 22:22:15,237 INFO L280 TraceCheckUtils]: 2: Hoare triple {4046#(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; {3971#true} is VALID [2020-07-08 22:22:15,237 INFO L280 TraceCheckUtils]: 3: Hoare triple {3971#true} assume ~size > 0; {3971#true} is VALID [2020-07-08 22:22:15,237 INFO L280 TraceCheckUtils]: 4: Hoare triple {3971#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3971#true} is VALID [2020-07-08 22:22:15,237 INFO L280 TraceCheckUtils]: 5: Hoare triple {3971#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3971#true} is VALID [2020-07-08 22:22:15,238 INFO L280 TraceCheckUtils]: 6: Hoare triple {3971#true} havoc #t~post28.base, #t~post28.offset; {3971#true} is VALID [2020-07-08 22:22:15,238 INFO L280 TraceCheckUtils]: 7: Hoare triple {3971#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3971#true} is VALID [2020-07-08 22:22:15,238 INFO L280 TraceCheckUtils]: 8: Hoare triple {3971#true} assume !(0 == #t~nondet29); {3971#true} is VALID [2020-07-08 22:22:15,238 INFO L280 TraceCheckUtils]: 9: Hoare triple {3971#true} havoc #t~nondet29; {3971#true} is VALID [2020-07-08 22:22:15,239 INFO L280 TraceCheckUtils]: 10: Hoare triple {3971#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,240 INFO L280 TraceCheckUtils]: 11: Hoare triple {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,240 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3971#true} #92#return; {4058#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,241 INFO L280 TraceCheckUtils]: 13: Hoare triple {4058#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,242 INFO L280 TraceCheckUtils]: 14: Hoare triple {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,242 INFO L280 TraceCheckUtils]: 15: Hoare triple {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,243 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3971#true} #94#return; {4000#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:15,344 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:15,437 INFO L280 TraceCheckUtils]: 0: Hoare triple {4046#(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; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:15,438 INFO L280 TraceCheckUtils]: 1: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:15,439 INFO L280 TraceCheckUtils]: 2: Hoare triple {4061#(= ~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; {4075#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:15,440 INFO L280 TraceCheckUtils]: 3: Hoare triple {4075#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,440 INFO L280 TraceCheckUtils]: 4: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,441 INFO L280 TraceCheckUtils]: 5: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,441 INFO L280 TraceCheckUtils]: 6: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,442 INFO L280 TraceCheckUtils]: 7: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,443 INFO L280 TraceCheckUtils]: 8: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:15,443 INFO L280 TraceCheckUtils]: 9: Hoare triple {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:15,445 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {4073#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:22:15,446 INFO L280 TraceCheckUtils]: 0: Hoare triple {4046#(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; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:15,447 INFO L263 TraceCheckUtils]: 1: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4046#(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-08 22:22:15,448 INFO L280 TraceCheckUtils]: 2: Hoare triple {4046#(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; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:15,448 INFO L280 TraceCheckUtils]: 3: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:15,449 INFO L280 TraceCheckUtils]: 4: Hoare triple {4061#(= ~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; {4075#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:15,449 INFO L280 TraceCheckUtils]: 5: Hoare triple {4075#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,450 INFO L280 TraceCheckUtils]: 6: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,450 INFO L280 TraceCheckUtils]: 7: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,451 INFO L280 TraceCheckUtils]: 8: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,451 INFO L280 TraceCheckUtils]: 9: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,452 INFO L280 TraceCheckUtils]: 10: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:15,453 INFO L280 TraceCheckUtils]: 11: Hoare triple {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:15,454 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {4073#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:22:15,454 INFO L280 TraceCheckUtils]: 13: Hoare triple {4073#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:15,455 INFO L280 TraceCheckUtils]: 14: Hoare triple {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:15,456 INFO L280 TraceCheckUtils]: 15: Hoare triple {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:15,457 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {4001#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #96#return; {4019#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-08 22:22:15,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:15,500 INFO L280 TraceCheckUtils]: 0: Hoare triple {4078#(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; {3971#true} is VALID [2020-07-08 22:22:15,500 INFO L280 TraceCheckUtils]: 1: Hoare triple {3971#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3971#true} is VALID [2020-07-08 22:22:15,500 INFO L280 TraceCheckUtils]: 2: Hoare triple {3971#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3971#true} is VALID [2020-07-08 22:22:15,501 INFO L280 TraceCheckUtils]: 3: Hoare triple {3971#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3971#true} is VALID [2020-07-08 22:22:15,501 INFO L280 TraceCheckUtils]: 4: Hoare triple {3971#true} assume !(0 != #t~nondet31); {3971#true} is VALID [2020-07-08 22:22:15,501 INFO L280 TraceCheckUtils]: 5: Hoare triple {3971#true} havoc #t~nondet31; {3971#true} is VALID [2020-07-08 22:22:15,501 INFO L280 TraceCheckUtils]: 6: Hoare triple {3971#true} assume true; {3971#true} is VALID [2020-07-08 22:22:15,502 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {3971#true} {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #98#return; {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 22:22:15,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:15,580 INFO L280 TraceCheckUtils]: 0: Hoare triple {4078#(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; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:15,581 INFO L280 TraceCheckUtils]: 1: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:15,582 INFO L280 TraceCheckUtils]: 2: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:15,583 INFO L280 TraceCheckUtils]: 3: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:15,583 INFO L280 TraceCheckUtils]: 4: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:15,584 INFO L280 TraceCheckUtils]: 5: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:15,584 INFO L280 TraceCheckUtils]: 6: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 22:22:15,585 INFO L280 TraceCheckUtils]: 7: Hoare triple {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 22:22:15,586 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #100#return; {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 22:22:15,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:15,623 INFO L280 TraceCheckUtils]: 0: Hoare triple {4078#(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; {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:15,624 INFO L280 TraceCheckUtils]: 1: Hoare triple {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:15,624 INFO L280 TraceCheckUtils]: 2: Hoare triple {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:15,626 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #102#return; {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 22:22:15,632 INFO L263 TraceCheckUtils]: 0: Hoare triple {3971#true} call ULTIMATE.init(); {4045#(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-08 22:22:15,632 INFO L280 TraceCheckUtils]: 1: Hoare triple {4045#(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; {3971#true} is VALID [2020-07-08 22:22:15,632 INFO L280 TraceCheckUtils]: 2: Hoare triple {3971#true} #valid := #valid[0 := 0]; {3971#true} is VALID [2020-07-08 22:22:15,632 INFO L280 TraceCheckUtils]: 3: Hoare triple {3971#true} assume 0 < #StackHeapBarrier; {3971#true} is VALID [2020-07-08 22:22:15,632 INFO L280 TraceCheckUtils]: 4: Hoare triple {3971#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {3971#true} is VALID [2020-07-08 22:22:15,633 INFO L280 TraceCheckUtils]: 5: Hoare triple {3971#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3971#true} is VALID [2020-07-08 22:22:15,633 INFO L280 TraceCheckUtils]: 6: Hoare triple {3971#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {3971#true} is VALID [2020-07-08 22:22:15,633 INFO L280 TraceCheckUtils]: 7: Hoare triple {3971#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {3971#true} is VALID [2020-07-08 22:22:15,633 INFO L280 TraceCheckUtils]: 8: Hoare triple {3971#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {3971#true} is VALID [2020-07-08 22:22:15,633 INFO L280 TraceCheckUtils]: 9: Hoare triple {3971#true} assume true; {3971#true} is VALID [2020-07-08 22:22:15,633 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3971#true} {3971#true} #112#return; {3971#true} is VALID [2020-07-08 22:22:15,634 INFO L263 TraceCheckUtils]: 11: Hoare triple {3971#true} call #t~ret34 := main(); {3971#true} is VALID [2020-07-08 22:22:15,634 INFO L280 TraceCheckUtils]: 12: Hoare triple {3971#true} havoc ~dev1~0.base, ~dev1~0.offset; {3971#true} is VALID [2020-07-08 22:22:15,634 INFO L280 TraceCheckUtils]: 13: Hoare triple {3971#true} havoc ~dev2~0.base, ~dev2~0.offset; {3971#true} is VALID [2020-07-08 22:22:15,636 INFO L263 TraceCheckUtils]: 14: Hoare triple {3971#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {4046#(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-08 22:22:15,636 INFO L280 TraceCheckUtils]: 15: Hoare triple {4046#(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; {3971#true} is VALID [2020-07-08 22:22:15,639 INFO L263 TraceCheckUtils]: 16: Hoare triple {3971#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4046#(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-08 22:22:15,640 INFO L280 TraceCheckUtils]: 17: Hoare triple {4046#(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; {3971#true} is VALID [2020-07-08 22:22:15,640 INFO L280 TraceCheckUtils]: 18: Hoare triple {3971#true} assume ~size > 0; {3971#true} is VALID [2020-07-08 22:22:15,640 INFO L280 TraceCheckUtils]: 19: Hoare triple {3971#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3971#true} is VALID [2020-07-08 22:22:15,640 INFO L280 TraceCheckUtils]: 20: Hoare triple {3971#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3971#true} is VALID [2020-07-08 22:22:15,640 INFO L280 TraceCheckUtils]: 21: Hoare triple {3971#true} havoc #t~post28.base, #t~post28.offset; {3971#true} is VALID [2020-07-08 22:22:15,640 INFO L280 TraceCheckUtils]: 22: Hoare triple {3971#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3971#true} is VALID [2020-07-08 22:22:15,641 INFO L280 TraceCheckUtils]: 23: Hoare triple {3971#true} assume !(0 == #t~nondet29); {3971#true} is VALID [2020-07-08 22:22:15,641 INFO L280 TraceCheckUtils]: 24: Hoare triple {3971#true} havoc #t~nondet29; {3971#true} is VALID [2020-07-08 22:22:15,641 INFO L280 TraceCheckUtils]: 25: Hoare triple {3971#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,642 INFO L280 TraceCheckUtils]: 26: Hoare triple {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,642 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3971#true} #92#return; {4058#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,643 INFO L280 TraceCheckUtils]: 28: Hoare triple {4058#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,643 INFO L280 TraceCheckUtils]: 29: Hoare triple {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,644 INFO L280 TraceCheckUtils]: 30: Hoare triple {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,645 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3971#true} #94#return; {4000#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,645 INFO L280 TraceCheckUtils]: 32: Hoare triple {4000#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {4001#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,646 INFO L280 TraceCheckUtils]: 33: Hoare triple {4001#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} havoc #t~ret32.base, #t~ret32.offset; {4001#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,647 INFO L263 TraceCheckUtils]: 34: Hoare triple {4001#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {4046#(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-08 22:22:15,647 INFO L280 TraceCheckUtils]: 35: Hoare triple {4046#(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; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:15,648 INFO L263 TraceCheckUtils]: 36: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4046#(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-08 22:22:15,648 INFO L280 TraceCheckUtils]: 37: Hoare triple {4046#(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; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:15,648 INFO L280 TraceCheckUtils]: 38: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:15,649 INFO L280 TraceCheckUtils]: 39: Hoare triple {4061#(= ~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; {4075#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:15,649 INFO L280 TraceCheckUtils]: 40: Hoare triple {4075#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,650 INFO L280 TraceCheckUtils]: 41: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,650 INFO L280 TraceCheckUtils]: 42: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,650 INFO L280 TraceCheckUtils]: 43: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,651 INFO L280 TraceCheckUtils]: 44: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:15,651 INFO L280 TraceCheckUtils]: 45: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:15,652 INFO L280 TraceCheckUtils]: 46: Hoare triple {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:15,652 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {4073#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:22:15,653 INFO L280 TraceCheckUtils]: 48: Hoare triple {4073#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:15,653 INFO L280 TraceCheckUtils]: 49: Hoare triple {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:15,654 INFO L280 TraceCheckUtils]: 50: Hoare triple {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:15,655 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {4001#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #96#return; {4019#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-08 22:22:15,656 INFO L280 TraceCheckUtils]: 52: Hoare triple {4019#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 22:22:15,656 INFO L280 TraceCheckUtils]: 53: Hoare triple {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} havoc #t~ret33.base, #t~ret33.offset; {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 22:22:15,657 INFO L280 TraceCheckUtils]: 54: Hoare triple {4020#(<= (+ 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); {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 22:22:15,658 INFO L263 TraceCheckUtils]: 55: Hoare triple {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:15,658 INFO L280 TraceCheckUtils]: 56: Hoare triple {4078#(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; {3971#true} is VALID [2020-07-08 22:22:15,659 INFO L280 TraceCheckUtils]: 57: Hoare triple {3971#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3971#true} is VALID [2020-07-08 22:22:15,659 INFO L280 TraceCheckUtils]: 58: Hoare triple {3971#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3971#true} is VALID [2020-07-08 22:22:15,659 INFO L280 TraceCheckUtils]: 59: Hoare triple {3971#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3971#true} is VALID [2020-07-08 22:22:15,659 INFO L280 TraceCheckUtils]: 60: Hoare triple {3971#true} assume !(0 != #t~nondet31); {3971#true} is VALID [2020-07-08 22:22:15,659 INFO L280 TraceCheckUtils]: 61: Hoare triple {3971#true} havoc #t~nondet31; {3971#true} is VALID [2020-07-08 22:22:15,659 INFO L280 TraceCheckUtils]: 62: Hoare triple {3971#true} assume true; {3971#true} is VALID [2020-07-08 22:22:15,660 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {3971#true} {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #98#return; {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 22:22:15,661 INFO L263 TraceCheckUtils]: 64: Hoare triple {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:15,661 INFO L280 TraceCheckUtils]: 65: Hoare triple {4078#(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; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:15,661 INFO L280 TraceCheckUtils]: 66: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:15,662 INFO L280 TraceCheckUtils]: 67: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:15,662 INFO L280 TraceCheckUtils]: 68: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:15,663 INFO L280 TraceCheckUtils]: 69: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:15,663 INFO L280 TraceCheckUtils]: 70: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:15,664 INFO L280 TraceCheckUtils]: 71: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 22:22:15,665 INFO L280 TraceCheckUtils]: 72: Hoare triple {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 22:22:15,666 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #100#return; {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 22:22:15,666 INFO L263 TraceCheckUtils]: 74: Hoare triple {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:15,667 INFO L280 TraceCheckUtils]: 75: Hoare triple {4078#(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; {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:15,667 INFO L280 TraceCheckUtils]: 76: Hoare triple {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:15,668 INFO L280 TraceCheckUtils]: 77: Hoare triple {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:15,668 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #102#return; {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 22:22:15,669 INFO L263 TraceCheckUtils]: 79: Hoare triple {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4043#(<= (+ ~elem~0.offset 1) |list_add_#in~new.offset|)} is VALID [2020-07-08 22:22:15,670 INFO L280 TraceCheckUtils]: 80: Hoare triple {4043#(<= (+ ~elem~0.offset 1) |list_add_#in~new.offset|)} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4044#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-08 22:22:15,670 INFO L280 TraceCheckUtils]: 81: Hoare triple {4044#(not (= ~elem~0.offset list_add_~new.offset))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4044#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-08 22:22:15,670 INFO L280 TraceCheckUtils]: 82: Hoare triple {4044#(not (= ~elem~0.offset list_add_~new.offset))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {3972#false} is VALID [2020-07-08 22:22:15,670 INFO L263 TraceCheckUtils]: 83: Hoare triple {3972#false} call __blast_assert(); {3972#false} is VALID [2020-07-08 22:22:15,671 INFO L280 TraceCheckUtils]: 84: Hoare triple {3972#false} assume !false; {3972#false} is VALID [2020-07-08 22:22:15,678 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 17 proven. 10 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2020-07-08 22:22:15,678 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1598503782] [2020-07-08 22:22:15,678 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:22:15,678 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [24] total 24 [2020-07-08 22:22:15,679 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [816095375] [2020-07-08 22:22:15,679 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 85 [2020-07-08 22:22:15,680 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:22:15,680 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2020-07-08 22:22:15,790 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-08 22:22:15,790 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2020-07-08 22:22:15,791 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:22:15,791 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2020-07-08 22:22:15,792 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=501, Unknown=0, NotChecked=0, Total=552 [2020-07-08 22:22:15,792 INFO L87 Difference]: Start difference. First operand 103 states and 114 transitions. Second operand 24 states. [2020-07-08 22:22:23,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:23,995 INFO L93 Difference]: Finished difference Result 118 states and 130 transitions. [2020-07-08 22:22:23,995 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-08 22:22:23,995 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 85 [2020-07-08 22:22:23,996 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:22:23,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-08 22:22:23,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 95 transitions. [2020-07-08 22:22:23,999 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-08 22:22:24,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 95 transitions. [2020-07-08 22:22:24,003 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 95 transitions. [2020-07-08 22:22:24,210 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:24,214 INFO L225 Difference]: With dead ends: 118 [2020-07-08 22:22:24,215 INFO L226 Difference]: Without dead ends: 113 [2020-07-08 22:22:24,216 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 205 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=232, Invalid=1748, Unknown=0, NotChecked=0, Total=1980 [2020-07-08 22:22:24,229 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2020-07-08 22:22:24,769 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 112. [2020-07-08 22:22:24,769 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:22:24,769 INFO L82 GeneralOperation]: Start isEquivalent. First operand 113 states. Second operand 112 states. [2020-07-08 22:22:24,769 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand 112 states. [2020-07-08 22:22:24,770 INFO L87 Difference]: Start difference. First operand 113 states. Second operand 112 states. [2020-07-08 22:22:24,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:24,776 INFO L93 Difference]: Finished difference Result 113 states and 124 transitions. [2020-07-08 22:22:24,776 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 124 transitions. [2020-07-08 22:22:24,776 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:24,777 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:24,777 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 113 states. [2020-07-08 22:22:24,777 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 113 states. [2020-07-08 22:22:24,782 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:24,782 INFO L93 Difference]: Finished difference Result 113 states and 124 transitions. [2020-07-08 22:22:24,782 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 124 transitions. [2020-07-08 22:22:24,783 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:24,783 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:24,784 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:22:24,784 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:22:24,784 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 112 states. [2020-07-08 22:22:24,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 123 transitions. [2020-07-08 22:22:24,789 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 123 transitions. Word has length 85 [2020-07-08 22:22:24,789 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:22:24,789 INFO L479 AbstractCegarLoop]: Abstraction has 112 states and 123 transitions. [2020-07-08 22:22:24,789 INFO L480 AbstractCegarLoop]: Interpolant automaton has 24 states. [2020-07-08 22:22:24,789 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 112 states and 123 transitions. [2020-07-08 22:22:25,104 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:25,105 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 123 transitions. [2020-07-08 22:22:25,106 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2020-07-08 22:22:25,106 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:22:25,107 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 22:22:25,107 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-08 22:22:25,107 INFO L427 AbstractCegarLoop]: === Iteration 8 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:22:25,107 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:22:25,107 INFO L82 PathProgramCache]: Analyzing trace with hash 1173492322, now seen corresponding path program 2 times [2020-07-08 22:22:25,108 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:22:25,108 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1749546439] [2020-07-08 22:22:25,108 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:22:25,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:25,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:25,239 INFO L280 TraceCheckUtils]: 0: Hoare triple {4883#(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; {4815#true} is VALID [2020-07-08 22:22:25,239 INFO L280 TraceCheckUtils]: 1: Hoare triple {4815#true} #valid := #valid[0 := 0]; {4815#true} is VALID [2020-07-08 22:22:25,239 INFO L280 TraceCheckUtils]: 2: Hoare triple {4815#true} assume 0 < #StackHeapBarrier; {4815#true} is VALID [2020-07-08 22:22:25,240 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {4815#true} is VALID [2020-07-08 22:22:25,240 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} ~elem~0.base, ~elem~0.offset := 0, 0; {4815#true} is VALID [2020-07-08 22:22:25,240 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {4815#true} is VALID [2020-07-08 22:22:25,240 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {4815#true} is VALID [2020-07-08 22:22:25,241 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {4815#true} is VALID [2020-07-08 22:22:25,241 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-08 22:22:25,241 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {4815#true} {4815#true} #112#return; {4815#true} is VALID [2020-07-08 22:22:25,258 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:25,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:25,267 INFO L280 TraceCheckUtils]: 0: Hoare triple {4884#(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; {4815#true} is VALID [2020-07-08 22:22:25,267 INFO L280 TraceCheckUtils]: 1: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-08 22:22:25,267 INFO L280 TraceCheckUtils]: 2: Hoare triple {4815#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-08 22:22:25,268 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4815#true} is VALID [2020-07-08 22:22:25,268 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-08 22:22:25,268 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-08 22:22:25,268 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-08 22:22:25,268 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-08 22:22:25,269 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-08 22:22:25,269 INFO L280 TraceCheckUtils]: 9: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-08 22:22:25,269 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-08 22:22:25,269 INFO L280 TraceCheckUtils]: 0: Hoare triple {4884#(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; {4815#true} is VALID [2020-07-08 22:22:25,271 INFO L263 TraceCheckUtils]: 1: Hoare triple {4815#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4884#(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-08 22:22:25,271 INFO L280 TraceCheckUtils]: 2: Hoare triple {4884#(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; {4815#true} is VALID [2020-07-08 22:22:25,271 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-08 22:22:25,271 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-08 22:22:25,272 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4815#true} is VALID [2020-07-08 22:22:25,272 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-08 22:22:25,272 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-08 22:22:25,272 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-08 22:22:25,272 INFO L280 TraceCheckUtils]: 9: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-08 22:22:25,273 INFO L280 TraceCheckUtils]: 10: Hoare triple {4815#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-08 22:22:25,273 INFO L280 TraceCheckUtils]: 11: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-08 22:22:25,273 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-08 22:22:25,273 INFO L280 TraceCheckUtils]: 13: Hoare triple {4815#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-08 22:22:25,273 INFO L280 TraceCheckUtils]: 14: Hoare triple {4815#true} havoc #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-08 22:22:25,273 INFO L280 TraceCheckUtils]: 15: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-08 22:22:25,274 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4815#true} {4815#true} #94#return; {4815#true} is VALID [2020-07-08 22:22:25,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:25,280 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:25,283 INFO L280 TraceCheckUtils]: 0: Hoare triple {4884#(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; {4815#true} is VALID [2020-07-08 22:22:25,284 INFO L280 TraceCheckUtils]: 1: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-08 22:22:25,284 INFO L280 TraceCheckUtils]: 2: Hoare triple {4815#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-08 22:22:25,284 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4815#true} is VALID [2020-07-08 22:22:25,284 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-08 22:22:25,285 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-08 22:22:25,285 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-08 22:22:25,285 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-08 22:22:25,285 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-08 22:22:25,285 INFO L280 TraceCheckUtils]: 9: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-08 22:22:25,285 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-08 22:22:25,286 INFO L280 TraceCheckUtils]: 0: Hoare triple {4884#(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; {4815#true} is VALID [2020-07-08 22:22:25,287 INFO L263 TraceCheckUtils]: 1: Hoare triple {4815#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4884#(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-08 22:22:25,287 INFO L280 TraceCheckUtils]: 2: Hoare triple {4884#(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; {4815#true} is VALID [2020-07-08 22:22:25,287 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-08 22:22:25,287 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-08 22:22:25,288 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4815#true} is VALID [2020-07-08 22:22:25,288 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-08 22:22:25,288 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-08 22:22:25,288 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-08 22:22:25,288 INFO L280 TraceCheckUtils]: 9: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-08 22:22:25,288 INFO L280 TraceCheckUtils]: 10: Hoare triple {4815#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-08 22:22:25,289 INFO L280 TraceCheckUtils]: 11: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-08 22:22:25,289 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-08 22:22:25,289 INFO L280 TraceCheckUtils]: 13: Hoare triple {4815#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-08 22:22:25,289 INFO L280 TraceCheckUtils]: 14: Hoare triple {4815#true} havoc #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-08 22:22:25,290 INFO L280 TraceCheckUtils]: 15: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-08 22:22:25,290 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4815#true} {4815#true} #96#return; {4815#true} is VALID [2020-07-08 22:22:25,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:25,376 INFO L280 TraceCheckUtils]: 0: Hoare triple {4907#(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; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 22:22:25,378 INFO L280 TraceCheckUtils]: 1: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 22:22:25,379 INFO L280 TraceCheckUtils]: 2: Hoare triple {4908#(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; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 22:22:25,381 INFO L280 TraceCheckUtils]: 3: Hoare triple {4908#(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; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 22:22:25,382 INFO L280 TraceCheckUtils]: 4: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume 0 != #t~nondet31; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 22:22:25,383 INFO L280 TraceCheckUtils]: 5: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} havoc #t~nondet31; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 22:22:25,384 INFO L280 TraceCheckUtils]: 6: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-08 22:22:25,386 INFO L280 TraceCheckUtils]: 7: Hoare triple {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} assume true; {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-08 22:22:25,388 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} {4815#true} #98#return; {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-08 22:22:25,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:25,423 INFO L280 TraceCheckUtils]: 0: Hoare triple {4907#(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; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:25,425 INFO L280 TraceCheckUtils]: 1: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:25,426 INFO L280 TraceCheckUtils]: 2: Hoare triple {4907#(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; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:25,428 INFO L280 TraceCheckUtils]: 3: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:25,430 INFO L280 TraceCheckUtils]: 4: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume !(0 != #t~nondet31); {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:25,431 INFO L280 TraceCheckUtils]: 5: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} havoc #t~nondet31; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:25,432 INFO L280 TraceCheckUtils]: 6: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume true; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:25,435 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #100#return; {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-08 22:22:25,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:25,523 INFO L280 TraceCheckUtils]: 0: Hoare triple {4907#(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; {4910#(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-08 22:22:25,524 INFO L280 TraceCheckUtils]: 1: Hoare triple {4910#(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); {4911#(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-08 22:22:25,525 INFO L280 TraceCheckUtils]: 2: Hoare triple {4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} assume true; {4911#(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-08 22:22:25,527 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #102#return; {4816#false} is VALID [2020-07-08 22:22:25,529 INFO L263 TraceCheckUtils]: 0: Hoare triple {4815#true} call ULTIMATE.init(); {4883#(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-08 22:22:25,530 INFO L280 TraceCheckUtils]: 1: Hoare triple {4883#(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; {4815#true} is VALID [2020-07-08 22:22:25,530 INFO L280 TraceCheckUtils]: 2: Hoare triple {4815#true} #valid := #valid[0 := 0]; {4815#true} is VALID [2020-07-08 22:22:25,530 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} assume 0 < #StackHeapBarrier; {4815#true} is VALID [2020-07-08 22:22:25,531 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {4815#true} is VALID [2020-07-08 22:22:25,531 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} ~elem~0.base, ~elem~0.offset := 0, 0; {4815#true} is VALID [2020-07-08 22:22:25,531 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {4815#true} is VALID [2020-07-08 22:22:25,531 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {4815#true} is VALID [2020-07-08 22:22:25,532 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {4815#true} is VALID [2020-07-08 22:22:25,532 INFO L280 TraceCheckUtils]: 9: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-08 22:22:25,532 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4815#true} {4815#true} #112#return; {4815#true} is VALID [2020-07-08 22:22:25,533 INFO L263 TraceCheckUtils]: 11: Hoare triple {4815#true} call #t~ret34 := main(); {4815#true} is VALID [2020-07-08 22:22:25,533 INFO L280 TraceCheckUtils]: 12: Hoare triple {4815#true} havoc ~dev1~0.base, ~dev1~0.offset; {4815#true} is VALID [2020-07-08 22:22:25,533 INFO L280 TraceCheckUtils]: 13: Hoare triple {4815#true} havoc ~dev2~0.base, ~dev2~0.offset; {4815#true} is VALID [2020-07-08 22:22:25,535 INFO L263 TraceCheckUtils]: 14: Hoare triple {4815#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {4884#(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-08 22:22:25,536 INFO L280 TraceCheckUtils]: 15: Hoare triple {4884#(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; {4815#true} is VALID [2020-07-08 22:22:25,537 INFO L263 TraceCheckUtils]: 16: Hoare triple {4815#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4884#(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-08 22:22:25,537 INFO L280 TraceCheckUtils]: 17: Hoare triple {4884#(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; {4815#true} is VALID [2020-07-08 22:22:25,538 INFO L280 TraceCheckUtils]: 18: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-08 22:22:25,538 INFO L280 TraceCheckUtils]: 19: Hoare triple {4815#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-08 22:22:25,538 INFO L280 TraceCheckUtils]: 20: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4815#true} is VALID [2020-07-08 22:22:25,539 INFO L280 TraceCheckUtils]: 21: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-08 22:22:25,539 INFO L280 TraceCheckUtils]: 22: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-08 22:22:25,539 INFO L280 TraceCheckUtils]: 23: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-08 22:22:25,539 INFO L280 TraceCheckUtils]: 24: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-08 22:22:25,540 INFO L280 TraceCheckUtils]: 25: Hoare triple {4815#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-08 22:22:25,540 INFO L280 TraceCheckUtils]: 26: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-08 22:22:25,540 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-08 22:22:25,541 INFO L280 TraceCheckUtils]: 28: Hoare triple {4815#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-08 22:22:25,541 INFO L280 TraceCheckUtils]: 29: Hoare triple {4815#true} havoc #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-08 22:22:25,541 INFO L280 TraceCheckUtils]: 30: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-08 22:22:25,542 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {4815#true} {4815#true} #94#return; {4815#true} is VALID [2020-07-08 22:22:25,542 INFO L280 TraceCheckUtils]: 32: Hoare triple {4815#true} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {4815#true} is VALID [2020-07-08 22:22:25,542 INFO L280 TraceCheckUtils]: 33: Hoare triple {4815#true} havoc #t~ret32.base, #t~ret32.offset; {4815#true} is VALID [2020-07-08 22:22:25,544 INFO L263 TraceCheckUtils]: 34: Hoare triple {4815#true} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {4884#(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-08 22:22:25,545 INFO L280 TraceCheckUtils]: 35: Hoare triple {4884#(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; {4815#true} is VALID [2020-07-08 22:22:25,546 INFO L263 TraceCheckUtils]: 36: Hoare triple {4815#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4884#(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-08 22:22:25,547 INFO L280 TraceCheckUtils]: 37: Hoare triple {4884#(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; {4815#true} is VALID [2020-07-08 22:22:25,547 INFO L280 TraceCheckUtils]: 38: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-08 22:22:25,547 INFO L280 TraceCheckUtils]: 39: Hoare triple {4815#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-08 22:22:25,548 INFO L280 TraceCheckUtils]: 40: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4815#true} is VALID [2020-07-08 22:22:25,548 INFO L280 TraceCheckUtils]: 41: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-08 22:22:25,548 INFO L280 TraceCheckUtils]: 42: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-08 22:22:25,548 INFO L280 TraceCheckUtils]: 43: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-08 22:22:25,549 INFO L280 TraceCheckUtils]: 44: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-08 22:22:25,549 INFO L280 TraceCheckUtils]: 45: Hoare triple {4815#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-08 22:22:25,549 INFO L280 TraceCheckUtils]: 46: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-08 22:22:25,550 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-08 22:22:25,550 INFO L280 TraceCheckUtils]: 48: Hoare triple {4815#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-08 22:22:25,550 INFO L280 TraceCheckUtils]: 49: Hoare triple {4815#true} havoc #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-08 22:22:25,550 INFO L280 TraceCheckUtils]: 50: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-08 22:22:25,550 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4815#true} {4815#true} #96#return; {4815#true} is VALID [2020-07-08 22:22:25,551 INFO L280 TraceCheckUtils]: 52: Hoare triple {4815#true} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {4815#true} is VALID [2020-07-08 22:22:25,551 INFO L280 TraceCheckUtils]: 53: Hoare triple {4815#true} havoc #t~ret33.base, #t~ret33.offset; {4815#true} is VALID [2020-07-08 22:22:25,551 INFO L280 TraceCheckUtils]: 54: Hoare triple {4815#true} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {4815#true} is VALID [2020-07-08 22:22:25,554 INFO L263 TraceCheckUtils]: 55: Hoare triple {4815#true} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:25,555 INFO L280 TraceCheckUtils]: 56: Hoare triple {4907#(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; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 22:22:25,556 INFO L280 TraceCheckUtils]: 57: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 22:22:25,557 INFO L280 TraceCheckUtils]: 58: Hoare triple {4908#(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; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 22:22:25,558 INFO L280 TraceCheckUtils]: 59: Hoare triple {4908#(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; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 22:22:25,559 INFO L280 TraceCheckUtils]: 60: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume 0 != #t~nondet31; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 22:22:25,560 INFO L280 TraceCheckUtils]: 61: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} havoc #t~nondet31; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 22:22:25,561 INFO L280 TraceCheckUtils]: 62: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-08 22:22:25,562 INFO L280 TraceCheckUtils]: 63: Hoare triple {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} assume true; {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-08 22:22:25,564 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} {4815#true} #98#return; {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-08 22:22:25,567 INFO L263 TraceCheckUtils]: 65: Hoare triple {4870#(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); {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:25,568 INFO L280 TraceCheckUtils]: 66: Hoare triple {4907#(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; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:25,569 INFO L280 TraceCheckUtils]: 67: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:25,571 INFO L280 TraceCheckUtils]: 68: Hoare triple {4907#(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; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:25,572 INFO L280 TraceCheckUtils]: 69: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:25,573 INFO L280 TraceCheckUtils]: 70: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume !(0 != #t~nondet31); {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:25,574 INFO L280 TraceCheckUtils]: 71: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} havoc #t~nondet31; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:25,579 INFO L280 TraceCheckUtils]: 72: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume true; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:25,583 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #100#return; {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-08 22:22:25,585 INFO L263 TraceCheckUtils]: 74: Hoare triple {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} call list_del(~dev2~0.base, ~dev2~0.offset); {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:25,587 INFO L280 TraceCheckUtils]: 75: Hoare triple {4907#(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; {4910#(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-08 22:22:25,588 INFO L280 TraceCheckUtils]: 76: Hoare triple {4910#(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); {4911#(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-08 22:22:25,589 INFO L280 TraceCheckUtils]: 77: Hoare triple {4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} assume true; {4911#(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-08 22:22:25,591 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #102#return; {4816#false} is VALID [2020-07-08 22:22:25,591 INFO L263 TraceCheckUtils]: 79: Hoare triple {4816#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4816#false} is VALID [2020-07-08 22:22:25,592 INFO L280 TraceCheckUtils]: 80: Hoare triple {4816#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4816#false} is VALID [2020-07-08 22:22:25,592 INFO L280 TraceCheckUtils]: 81: Hoare triple {4816#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4816#false} is VALID [2020-07-08 22:22:25,592 INFO L280 TraceCheckUtils]: 82: Hoare triple {4816#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {4816#false} is VALID [2020-07-08 22:22:25,593 INFO L263 TraceCheckUtils]: 83: Hoare triple {4816#false} call __blast_assert(); {4816#false} is VALID [2020-07-08 22:22:25,593 INFO L280 TraceCheckUtils]: 84: Hoare triple {4816#false} assume !false; {4816#false} is VALID [2020-07-08 22:22:25,610 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 6 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2020-07-08 22:22:25,610 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1749546439] [2020-07-08 22:22:25,611 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:22:25,611 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2020-07-08 22:22:25,611 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [308576898] [2020-07-08 22:22:25,614 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 85 [2020-07-08 22:22:25,614 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:22:25,615 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-08 22:22:25,734 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:25,734 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-08 22:22:25,734 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:22:25,735 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-08 22:22:25,735 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=70, Unknown=0, NotChecked=0, Total=90 [2020-07-08 22:22:25,735 INFO L87 Difference]: Start difference. First operand 112 states and 123 transitions. Second operand 10 states. [2020-07-08 22:22:28,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:28,271 INFO L93 Difference]: Finished difference Result 127 states and 137 transitions. [2020-07-08 22:22:28,271 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-08 22:22:28,271 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 85 [2020-07-08 22:22:28,272 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:22:28,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-08 22:22:28,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 93 transitions. [2020-07-08 22:22:28,277 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-08 22:22:28,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 93 transitions. [2020-07-08 22:22:28,279 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 93 transitions. [2020-07-08 22:22:28,435 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:28,440 INFO L225 Difference]: With dead ends: 127 [2020-07-08 22:22:28,440 INFO L226 Difference]: Without dead ends: 111 [2020-07-08 22:22:28,441 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 13 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=63, Invalid=177, Unknown=0, NotChecked=0, Total=240 [2020-07-08 22:22:28,442 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2020-07-08 22:22:29,184 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 111. [2020-07-08 22:22:29,184 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:22:29,184 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand 111 states. [2020-07-08 22:22:29,184 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 111 states. [2020-07-08 22:22:29,185 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 111 states. [2020-07-08 22:22:29,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:29,194 INFO L93 Difference]: Finished difference Result 111 states and 121 transitions. [2020-07-08 22:22:29,194 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 121 transitions. [2020-07-08 22:22:29,194 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:29,195 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:29,195 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 111 states. [2020-07-08 22:22:29,195 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 111 states. [2020-07-08 22:22:29,200 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:29,200 INFO L93 Difference]: Finished difference Result 111 states and 121 transitions. [2020-07-08 22:22:29,200 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 121 transitions. [2020-07-08 22:22:29,201 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:29,201 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:29,201 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:22:29,201 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:22:29,202 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2020-07-08 22:22:29,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 121 transitions. [2020-07-08 22:22:29,207 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 121 transitions. Word has length 85 [2020-07-08 22:22:29,207 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:22:29,207 INFO L479 AbstractCegarLoop]: Abstraction has 111 states and 121 transitions. [2020-07-08 22:22:29,207 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-08 22:22:29,208 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 111 states and 121 transitions. [2020-07-08 22:22:29,494 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:29,495 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 121 transitions. [2020-07-08 22:22:29,496 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2020-07-08 22:22:29,498 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:22:29,499 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 22:22:29,499 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-08 22:22:29,499 INFO L427 AbstractCegarLoop]: === Iteration 9 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:22:29,499 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:22:29,499 INFO L82 PathProgramCache]: Analyzing trace with hash 2046230471, now seen corresponding path program 1 times [2020-07-08 22:22:29,500 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:22:29,500 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [772630192] [2020-07-08 22:22:29,500 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:22:29,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:29,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:29,687 INFO L280 TraceCheckUtils]: 0: Hoare triple {5697#(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; {5624#true} is VALID [2020-07-08 22:22:29,687 INFO L280 TraceCheckUtils]: 1: Hoare triple {5624#true} #valid := #valid[0 := 0]; {5624#true} is VALID [2020-07-08 22:22:29,687 INFO L280 TraceCheckUtils]: 2: Hoare triple {5624#true} assume 0 < #StackHeapBarrier; {5624#true} is VALID [2020-07-08 22:22:29,687 INFO L280 TraceCheckUtils]: 3: Hoare triple {5624#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {5624#true} is VALID [2020-07-08 22:22:29,688 INFO L280 TraceCheckUtils]: 4: Hoare triple {5624#true} ~elem~0.base, ~elem~0.offset := 0, 0; {5624#true} is VALID [2020-07-08 22:22:29,688 INFO L280 TraceCheckUtils]: 5: Hoare triple {5624#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {5624#true} is VALID [2020-07-08 22:22:29,688 INFO L280 TraceCheckUtils]: 6: Hoare triple {5624#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {5624#true} is VALID [2020-07-08 22:22:29,688 INFO L280 TraceCheckUtils]: 7: Hoare triple {5624#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {5624#true} is VALID [2020-07-08 22:22:29,688 INFO L280 TraceCheckUtils]: 8: Hoare triple {5624#true} assume true; {5624#true} is VALID [2020-07-08 22:22:29,689 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {5624#true} {5624#true} #112#return; {5624#true} is VALID [2020-07-08 22:22:29,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:29,756 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:29,785 INFO L280 TraceCheckUtils]: 0: Hoare triple {5698#(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; {5624#true} is VALID [2020-07-08 22:22:29,785 INFO L280 TraceCheckUtils]: 1: Hoare triple {5624#true} assume ~size > 0; {5624#true} is VALID [2020-07-08 22:22:29,785 INFO L280 TraceCheckUtils]: 2: Hoare triple {5624#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5624#true} is VALID [2020-07-08 22:22:29,786 INFO L280 TraceCheckUtils]: 3: Hoare triple {5624#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5624#true} is VALID [2020-07-08 22:22:29,786 INFO L280 TraceCheckUtils]: 4: Hoare triple {5624#true} havoc #t~post28.base, #t~post28.offset; {5624#true} is VALID [2020-07-08 22:22:29,786 INFO L280 TraceCheckUtils]: 5: Hoare triple {5624#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5624#true} is VALID [2020-07-08 22:22:29,786 INFO L280 TraceCheckUtils]: 6: Hoare triple {5624#true} assume !(0 == #t~nondet29); {5624#true} is VALID [2020-07-08 22:22:29,787 INFO L280 TraceCheckUtils]: 7: Hoare triple {5624#true} havoc #t~nondet29; {5624#true} is VALID [2020-07-08 22:22:29,787 INFO L280 TraceCheckUtils]: 8: Hoare triple {5624#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:29,788 INFO L280 TraceCheckUtils]: 9: Hoare triple {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:29,789 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {5624#true} #92#return; {5710#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:29,789 INFO L280 TraceCheckUtils]: 0: Hoare triple {5698#(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; {5624#true} is VALID [2020-07-08 22:22:29,790 INFO L263 TraceCheckUtils]: 1: Hoare triple {5624#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5698#(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-08 22:22:29,790 INFO L280 TraceCheckUtils]: 2: Hoare triple {5698#(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; {5624#true} is VALID [2020-07-08 22:22:29,790 INFO L280 TraceCheckUtils]: 3: Hoare triple {5624#true} assume ~size > 0; {5624#true} is VALID [2020-07-08 22:22:29,791 INFO L280 TraceCheckUtils]: 4: Hoare triple {5624#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5624#true} is VALID [2020-07-08 22:22:29,791 INFO L280 TraceCheckUtils]: 5: Hoare triple {5624#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5624#true} is VALID [2020-07-08 22:22:29,791 INFO L280 TraceCheckUtils]: 6: Hoare triple {5624#true} havoc #t~post28.base, #t~post28.offset; {5624#true} is VALID [2020-07-08 22:22:29,791 INFO L280 TraceCheckUtils]: 7: Hoare triple {5624#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5624#true} is VALID [2020-07-08 22:22:29,791 INFO L280 TraceCheckUtils]: 8: Hoare triple {5624#true} assume !(0 == #t~nondet29); {5624#true} is VALID [2020-07-08 22:22:29,791 INFO L280 TraceCheckUtils]: 9: Hoare triple {5624#true} havoc #t~nondet29; {5624#true} is VALID [2020-07-08 22:22:29,792 INFO L280 TraceCheckUtils]: 10: Hoare triple {5624#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:29,792 INFO L280 TraceCheckUtils]: 11: Hoare triple {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:29,793 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {5624#true} #92#return; {5710#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:29,794 INFO L280 TraceCheckUtils]: 13: Hoare triple {5710#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:29,794 INFO L280 TraceCheckUtils]: 14: Hoare triple {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:29,795 INFO L280 TraceCheckUtils]: 15: Hoare triple {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:29,796 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {5624#true} #94#return; {5653#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:29,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:29,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:29,959 INFO L280 TraceCheckUtils]: 0: Hoare triple {5698#(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; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:29,960 INFO L280 TraceCheckUtils]: 1: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:29,961 INFO L280 TraceCheckUtils]: 2: Hoare triple {5713#(= ~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; {5727#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:29,962 INFO L280 TraceCheckUtils]: 3: Hoare triple {5727#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:29,962 INFO L280 TraceCheckUtils]: 4: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:29,963 INFO L280 TraceCheckUtils]: 5: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:29,964 INFO L280 TraceCheckUtils]: 6: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:29,965 INFO L280 TraceCheckUtils]: 7: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:29,966 INFO L280 TraceCheckUtils]: 8: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:29,966 INFO L280 TraceCheckUtils]: 9: Hoare triple {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:29,968 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {5725#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:22:29,969 INFO L280 TraceCheckUtils]: 0: Hoare triple {5698#(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; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:29,970 INFO L263 TraceCheckUtils]: 1: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5698#(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-08 22:22:29,971 INFO L280 TraceCheckUtils]: 2: Hoare triple {5698#(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; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:29,972 INFO L280 TraceCheckUtils]: 3: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:29,973 INFO L280 TraceCheckUtils]: 4: Hoare triple {5713#(= ~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; {5727#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:29,974 INFO L280 TraceCheckUtils]: 5: Hoare triple {5727#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:29,974 INFO L280 TraceCheckUtils]: 6: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:29,975 INFO L280 TraceCheckUtils]: 7: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:29,976 INFO L280 TraceCheckUtils]: 8: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:29,977 INFO L280 TraceCheckUtils]: 9: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:29,978 INFO L280 TraceCheckUtils]: 10: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:29,978 INFO L280 TraceCheckUtils]: 11: Hoare triple {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:29,980 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {5725#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:22:29,981 INFO L280 TraceCheckUtils]: 13: Hoare triple {5725#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:29,982 INFO L280 TraceCheckUtils]: 14: Hoare triple {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:29,982 INFO L280 TraceCheckUtils]: 15: Hoare triple {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:29,984 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {5654#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #96#return; {5672#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-08 22:22:30,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:30,022 INFO L280 TraceCheckUtils]: 0: Hoare triple {5730#(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; {5624#true} is VALID [2020-07-08 22:22:30,023 INFO L280 TraceCheckUtils]: 1: Hoare triple {5624#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5624#true} is VALID [2020-07-08 22:22:30,023 INFO L280 TraceCheckUtils]: 2: Hoare triple {5624#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5624#true} is VALID [2020-07-08 22:22:30,023 INFO L280 TraceCheckUtils]: 3: Hoare triple {5624#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5624#true} is VALID [2020-07-08 22:22:30,023 INFO L280 TraceCheckUtils]: 4: Hoare triple {5624#true} assume !(0 != #t~nondet31); {5624#true} is VALID [2020-07-08 22:22:30,023 INFO L280 TraceCheckUtils]: 5: Hoare triple {5624#true} havoc #t~nondet31; {5624#true} is VALID [2020-07-08 22:22:30,023 INFO L280 TraceCheckUtils]: 6: Hoare triple {5624#true} assume true; {5624#true} is VALID [2020-07-08 22:22:30,024 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {5624#true} {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #98#return; {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 22:22:30,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:30,093 INFO L280 TraceCheckUtils]: 0: Hoare triple {5730#(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; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:30,094 INFO L280 TraceCheckUtils]: 1: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:30,094 INFO L280 TraceCheckUtils]: 2: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:30,095 INFO L280 TraceCheckUtils]: 3: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:30,096 INFO L280 TraceCheckUtils]: 4: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:30,097 INFO L280 TraceCheckUtils]: 5: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:30,098 INFO L280 TraceCheckUtils]: 6: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 22:22:30,098 INFO L280 TraceCheckUtils]: 7: Hoare triple {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 22:22:30,100 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #100#return; {5691#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 22:22:30,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:30,172 INFO L280 TraceCheckUtils]: 0: Hoare triple {5730#(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; {5733#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-08 22:22:30,173 INFO L280 TraceCheckUtils]: 1: Hoare triple {5733#(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; {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-08 22:22:30,174 INFO L280 TraceCheckUtils]: 2: Hoare triple {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} ~elem~0.base, ~elem~0.offset := 0, 0; {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-08 22:22:30,175 INFO L280 TraceCheckUtils]: 3: Hoare triple {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} assume true; {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-08 22:22:30,175 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} {5691#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #102#return; {5625#false} is VALID [2020-07-08 22:22:30,177 INFO L263 TraceCheckUtils]: 0: Hoare triple {5624#true} call ULTIMATE.init(); {5697#(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-08 22:22:30,177 INFO L280 TraceCheckUtils]: 1: Hoare triple {5697#(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; {5624#true} is VALID [2020-07-08 22:22:30,177 INFO L280 TraceCheckUtils]: 2: Hoare triple {5624#true} #valid := #valid[0 := 0]; {5624#true} is VALID [2020-07-08 22:22:30,177 INFO L280 TraceCheckUtils]: 3: Hoare triple {5624#true} assume 0 < #StackHeapBarrier; {5624#true} is VALID [2020-07-08 22:22:30,177 INFO L280 TraceCheckUtils]: 4: Hoare triple {5624#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {5624#true} is VALID [2020-07-08 22:22:30,177 INFO L280 TraceCheckUtils]: 5: Hoare triple {5624#true} ~elem~0.base, ~elem~0.offset := 0, 0; {5624#true} is VALID [2020-07-08 22:22:30,178 INFO L280 TraceCheckUtils]: 6: Hoare triple {5624#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {5624#true} is VALID [2020-07-08 22:22:30,178 INFO L280 TraceCheckUtils]: 7: Hoare triple {5624#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {5624#true} is VALID [2020-07-08 22:22:30,178 INFO L280 TraceCheckUtils]: 8: Hoare triple {5624#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {5624#true} is VALID [2020-07-08 22:22:30,178 INFO L280 TraceCheckUtils]: 9: Hoare triple {5624#true} assume true; {5624#true} is VALID [2020-07-08 22:22:30,178 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5624#true} {5624#true} #112#return; {5624#true} is VALID [2020-07-08 22:22:30,178 INFO L263 TraceCheckUtils]: 11: Hoare triple {5624#true} call #t~ret34 := main(); {5624#true} is VALID [2020-07-08 22:22:30,178 INFO L280 TraceCheckUtils]: 12: Hoare triple {5624#true} havoc ~dev1~0.base, ~dev1~0.offset; {5624#true} is VALID [2020-07-08 22:22:30,178 INFO L280 TraceCheckUtils]: 13: Hoare triple {5624#true} havoc ~dev2~0.base, ~dev2~0.offset; {5624#true} is VALID [2020-07-08 22:22:30,179 INFO L263 TraceCheckUtils]: 14: Hoare triple {5624#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {5698#(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-08 22:22:30,179 INFO L280 TraceCheckUtils]: 15: Hoare triple {5698#(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; {5624#true} is VALID [2020-07-08 22:22:30,180 INFO L263 TraceCheckUtils]: 16: Hoare triple {5624#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5698#(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-08 22:22:30,180 INFO L280 TraceCheckUtils]: 17: Hoare triple {5698#(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; {5624#true} is VALID [2020-07-08 22:22:30,180 INFO L280 TraceCheckUtils]: 18: Hoare triple {5624#true} assume ~size > 0; {5624#true} is VALID [2020-07-08 22:22:30,181 INFO L280 TraceCheckUtils]: 19: Hoare triple {5624#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5624#true} is VALID [2020-07-08 22:22:30,181 INFO L280 TraceCheckUtils]: 20: Hoare triple {5624#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5624#true} is VALID [2020-07-08 22:22:30,181 INFO L280 TraceCheckUtils]: 21: Hoare triple {5624#true} havoc #t~post28.base, #t~post28.offset; {5624#true} is VALID [2020-07-08 22:22:30,181 INFO L280 TraceCheckUtils]: 22: Hoare triple {5624#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5624#true} is VALID [2020-07-08 22:22:30,181 INFO L280 TraceCheckUtils]: 23: Hoare triple {5624#true} assume !(0 == #t~nondet29); {5624#true} is VALID [2020-07-08 22:22:30,181 INFO L280 TraceCheckUtils]: 24: Hoare triple {5624#true} havoc #t~nondet29; {5624#true} is VALID [2020-07-08 22:22:30,182 INFO L280 TraceCheckUtils]: 25: Hoare triple {5624#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:30,182 INFO L280 TraceCheckUtils]: 26: Hoare triple {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:30,183 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {5624#true} #92#return; {5710#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:30,184 INFO L280 TraceCheckUtils]: 28: Hoare triple {5710#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:30,185 INFO L280 TraceCheckUtils]: 29: Hoare triple {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:30,186 INFO L280 TraceCheckUtils]: 30: Hoare triple {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:30,188 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {5624#true} #94#return; {5653#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:30,189 INFO L280 TraceCheckUtils]: 32: Hoare triple {5653#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {5654#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:30,189 INFO L280 TraceCheckUtils]: 33: Hoare triple {5654#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} havoc #t~ret32.base, #t~ret32.offset; {5654#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:30,190 INFO L263 TraceCheckUtils]: 34: Hoare triple {5654#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {5698#(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-08 22:22:30,191 INFO L280 TraceCheckUtils]: 35: Hoare triple {5698#(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; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:30,193 INFO L263 TraceCheckUtils]: 36: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5698#(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-08 22:22:30,194 INFO L280 TraceCheckUtils]: 37: Hoare triple {5698#(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; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:30,194 INFO L280 TraceCheckUtils]: 38: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:30,195 INFO L280 TraceCheckUtils]: 39: Hoare triple {5713#(= ~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; {5727#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:30,196 INFO L280 TraceCheckUtils]: 40: Hoare triple {5727#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:30,197 INFO L280 TraceCheckUtils]: 41: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:30,198 INFO L280 TraceCheckUtils]: 42: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:30,198 INFO L280 TraceCheckUtils]: 43: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:30,199 INFO L280 TraceCheckUtils]: 44: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:30,205 INFO L280 TraceCheckUtils]: 45: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:30,206 INFO L280 TraceCheckUtils]: 46: Hoare triple {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:30,207 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {5725#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:22:30,208 INFO L280 TraceCheckUtils]: 48: Hoare triple {5725#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:30,208 INFO L280 TraceCheckUtils]: 49: Hoare triple {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:30,209 INFO L280 TraceCheckUtils]: 50: Hoare triple {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:30,210 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {5654#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #96#return; {5672#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-08 22:22:30,210 INFO L280 TraceCheckUtils]: 52: Hoare triple {5672#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 22:22:30,211 INFO L280 TraceCheckUtils]: 53: Hoare triple {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} havoc #t~ret33.base, #t~ret33.offset; {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 22:22:30,212 INFO L280 TraceCheckUtils]: 54: Hoare triple {5673#(<= (+ 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); {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 22:22:30,214 INFO L263 TraceCheckUtils]: 55: Hoare triple {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:30,214 INFO L280 TraceCheckUtils]: 56: Hoare triple {5730#(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; {5624#true} is VALID [2020-07-08 22:22:30,214 INFO L280 TraceCheckUtils]: 57: Hoare triple {5624#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5624#true} is VALID [2020-07-08 22:22:30,214 INFO L280 TraceCheckUtils]: 58: Hoare triple {5624#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5624#true} is VALID [2020-07-08 22:22:30,215 INFO L280 TraceCheckUtils]: 59: Hoare triple {5624#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5624#true} is VALID [2020-07-08 22:22:30,215 INFO L280 TraceCheckUtils]: 60: Hoare triple {5624#true} assume !(0 != #t~nondet31); {5624#true} is VALID [2020-07-08 22:22:30,215 INFO L280 TraceCheckUtils]: 61: Hoare triple {5624#true} havoc #t~nondet31; {5624#true} is VALID [2020-07-08 22:22:30,215 INFO L280 TraceCheckUtils]: 62: Hoare triple {5624#true} assume true; {5624#true} is VALID [2020-07-08 22:22:30,216 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {5624#true} {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #98#return; {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 22:22:30,217 INFO L263 TraceCheckUtils]: 64: Hoare triple {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:30,218 INFO L280 TraceCheckUtils]: 65: Hoare triple {5730#(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; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:30,219 INFO L280 TraceCheckUtils]: 66: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:30,219 INFO L280 TraceCheckUtils]: 67: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:30,225 INFO L280 TraceCheckUtils]: 68: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:30,225 INFO L280 TraceCheckUtils]: 69: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:30,226 INFO L280 TraceCheckUtils]: 70: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 22:22:30,227 INFO L280 TraceCheckUtils]: 71: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 22:22:30,228 INFO L280 TraceCheckUtils]: 72: Hoare triple {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 22:22:30,229 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #100#return; {5691#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 22:22:30,230 INFO L263 TraceCheckUtils]: 74: Hoare triple {5691#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:30,231 INFO L280 TraceCheckUtils]: 75: Hoare triple {5730#(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; {5733#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-08 22:22:30,233 INFO L280 TraceCheckUtils]: 76: Hoare triple {5733#(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; {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-08 22:22:30,236 INFO L280 TraceCheckUtils]: 77: Hoare triple {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} ~elem~0.base, ~elem~0.offset := 0, 0; {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-08 22:22:30,240 INFO L280 TraceCheckUtils]: 78: Hoare triple {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} assume true; {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-08 22:22:30,242 INFO L275 TraceCheckUtils]: 79: Hoare quadruple {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} {5691#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #102#return; {5625#false} is VALID [2020-07-08 22:22:30,242 INFO L263 TraceCheckUtils]: 80: Hoare triple {5625#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {5625#false} is VALID [2020-07-08 22:22:30,242 INFO L280 TraceCheckUtils]: 81: Hoare triple {5625#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5625#false} is VALID [2020-07-08 22:22:30,243 INFO L280 TraceCheckUtils]: 82: Hoare triple {5625#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5625#false} is VALID [2020-07-08 22:22:30,243 INFO L280 TraceCheckUtils]: 83: Hoare triple {5625#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {5625#false} is VALID [2020-07-08 22:22:30,243 INFO L263 TraceCheckUtils]: 84: Hoare triple {5625#false} call __blast_assert(); {5625#false} is VALID [2020-07-08 22:22:30,243 INFO L280 TraceCheckUtils]: 85: Hoare triple {5625#false} assume !false; {5625#false} is VALID [2020-07-08 22:22:30,251 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 21 proven. 6 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2020-07-08 22:22:30,252 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [772630192] [2020-07-08 22:22:30,252 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:22:30,252 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23] total 23 [2020-07-08 22:22:30,252 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1162521785] [2020-07-08 22:22:30,253 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 86 [2020-07-08 22:22:30,253 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:22:30,254 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2020-07-08 22:22:30,366 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-08 22:22:30,367 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2020-07-08 22:22:30,367 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:22:30,368 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2020-07-08 22:22:30,368 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=459, Unknown=0, NotChecked=0, Total=506 [2020-07-08 22:22:30,368 INFO L87 Difference]: Start difference. First operand 111 states and 121 transitions. Second operand 23 states. [2020-07-08 22:22:36,868 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:36,868 INFO L93 Difference]: Finished difference Result 129 states and 139 transitions. [2020-07-08 22:22:36,868 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-08 22:22:36,869 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 86 [2020-07-08 22:22:36,869 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:22:36,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-08 22:22:36,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 97 transitions. [2020-07-08 22:22:36,873 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-08 22:22:36,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 97 transitions. [2020-07-08 22:22:36,876 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 97 transitions. [2020-07-08 22:22:37,058 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:37,060 INFO L225 Difference]: With dead ends: 129 [2020-07-08 22:22:37,061 INFO L226 Difference]: Without dead ends: 112 [2020-07-08 22:22:37,062 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 232 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=214, Invalid=1766, Unknown=0, NotChecked=0, Total=1980 [2020-07-08 22:22:37,063 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2020-07-08 22:22:37,695 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 111. [2020-07-08 22:22:37,696 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:22:37,696 INFO L82 GeneralOperation]: Start isEquivalent. First operand 112 states. Second operand 111 states. [2020-07-08 22:22:37,696 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 111 states. [2020-07-08 22:22:37,696 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 111 states. [2020-07-08 22:22:37,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:37,700 INFO L93 Difference]: Finished difference Result 112 states and 121 transitions. [2020-07-08 22:22:37,701 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 121 transitions. [2020-07-08 22:22:37,701 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:37,701 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:37,702 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 112 states. [2020-07-08 22:22:37,702 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 112 states. [2020-07-08 22:22:37,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:37,706 INFO L93 Difference]: Finished difference Result 112 states and 121 transitions. [2020-07-08 22:22:37,707 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 121 transitions. [2020-07-08 22:22:37,707 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:37,707 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:37,707 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:22:37,707 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:22:37,707 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2020-07-08 22:22:37,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 120 transitions. [2020-07-08 22:22:37,714 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 120 transitions. Word has length 86 [2020-07-08 22:22:37,714 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:22:37,714 INFO L479 AbstractCegarLoop]: Abstraction has 111 states and 120 transitions. [2020-07-08 22:22:37,714 INFO L480 AbstractCegarLoop]: Interpolant automaton has 23 states. [2020-07-08 22:22:37,714 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 111 states and 120 transitions. [2020-07-08 22:22:38,013 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 120 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:38,013 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 120 transitions. [2020-07-08 22:22:38,015 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2020-07-08 22:22:38,015 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:22:38,015 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 22:22:38,016 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-08 22:22:38,016 INFO L427 AbstractCegarLoop]: === Iteration 10 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:22:38,016 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:22:38,016 INFO L82 PathProgramCache]: Analyzing trace with hash -305538175, now seen corresponding path program 2 times [2020-07-08 22:22:38,017 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:22:38,017 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1571675746] [2020-07-08 22:22:38,017 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:22:38,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:38,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:38,248 INFO L280 TraceCheckUtils]: 0: Hoare triple {6562#(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; {6487#true} is VALID [2020-07-08 22:22:38,248 INFO L280 TraceCheckUtils]: 1: Hoare triple {6487#true} #valid := #valid[0 := 0]; {6487#true} is VALID [2020-07-08 22:22:38,248 INFO L280 TraceCheckUtils]: 2: Hoare triple {6487#true} assume 0 < #StackHeapBarrier; {6487#true} is VALID [2020-07-08 22:22:38,249 INFO L280 TraceCheckUtils]: 3: Hoare triple {6487#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,250 INFO L280 TraceCheckUtils]: 4: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,251 INFO L280 TraceCheckUtils]: 5: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,253 INFO L280 TraceCheckUtils]: 6: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,253 INFO L280 TraceCheckUtils]: 7: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,254 INFO L280 TraceCheckUtils]: 8: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} assume true; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,255 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {6499#(= 0 ~guard_malloc_counter~0.offset)} {6487#true} #112#return; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:38,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:38,372 INFO L280 TraceCheckUtils]: 0: Hoare triple {6563#(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; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:38,372 INFO L280 TraceCheckUtils]: 1: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:38,373 INFO L280 TraceCheckUtils]: 2: Hoare triple {6564#(= ~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; {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:38,375 INFO L280 TraceCheckUtils]: 3: Hoare triple {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,376 INFO L280 TraceCheckUtils]: 4: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,377 INFO L280 TraceCheckUtils]: 5: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,378 INFO L280 TraceCheckUtils]: 6: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,379 INFO L280 TraceCheckUtils]: 7: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,380 INFO L280 TraceCheckUtils]: 8: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,381 INFO L280 TraceCheckUtils]: 9: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,382 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,383 INFO L280 TraceCheckUtils]: 0: Hoare triple {6563#(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; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:38,384 INFO L263 TraceCheckUtils]: 1: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {6563#(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-08 22:22:38,385 INFO L280 TraceCheckUtils]: 2: Hoare triple {6563#(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; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:38,386 INFO L280 TraceCheckUtils]: 3: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:38,386 INFO L280 TraceCheckUtils]: 4: Hoare triple {6564#(= ~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; {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:38,387 INFO L280 TraceCheckUtils]: 5: Hoare triple {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,388 INFO L280 TraceCheckUtils]: 6: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,389 INFO L280 TraceCheckUtils]: 7: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,390 INFO L280 TraceCheckUtils]: 8: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,390 INFO L280 TraceCheckUtils]: 9: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,392 INFO L280 TraceCheckUtils]: 10: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,392 INFO L280 TraceCheckUtils]: 11: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,394 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,395 INFO L280 TraceCheckUtils]: 13: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,396 INFO L280 TraceCheckUtils]: 14: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,396 INFO L280 TraceCheckUtils]: 15: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,398 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {6499#(= 0 ~guard_malloc_counter~0.offset)} #94#return; {6517#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,402 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:38,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:38,495 INFO L280 TraceCheckUtils]: 0: Hoare triple {6563#(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; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:38,496 INFO L280 TraceCheckUtils]: 1: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:38,498 INFO L280 TraceCheckUtils]: 2: Hoare triple {6564#(= ~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; {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:38,499 INFO L280 TraceCheckUtils]: 3: Hoare triple {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,500 INFO L280 TraceCheckUtils]: 4: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,501 INFO L280 TraceCheckUtils]: 5: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,502 INFO L280 TraceCheckUtils]: 6: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,502 INFO L280 TraceCheckUtils]: 7: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,503 INFO L280 TraceCheckUtils]: 8: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:38,504 INFO L280 TraceCheckUtils]: 9: Hoare triple {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:38,506 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {6589#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:22:38,507 INFO L280 TraceCheckUtils]: 0: Hoare triple {6563#(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; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:38,508 INFO L263 TraceCheckUtils]: 1: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {6563#(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-08 22:22:38,509 INFO L280 TraceCheckUtils]: 2: Hoare triple {6563#(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; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:38,509 INFO L280 TraceCheckUtils]: 3: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:38,510 INFO L280 TraceCheckUtils]: 4: Hoare triple {6564#(= ~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; {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:38,511 INFO L280 TraceCheckUtils]: 5: Hoare triple {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,513 INFO L280 TraceCheckUtils]: 6: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,513 INFO L280 TraceCheckUtils]: 7: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,514 INFO L280 TraceCheckUtils]: 8: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,515 INFO L280 TraceCheckUtils]: 9: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,515 INFO L280 TraceCheckUtils]: 10: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:38,516 INFO L280 TraceCheckUtils]: 11: Hoare triple {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:38,517 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {6589#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:22:38,518 INFO L280 TraceCheckUtils]: 13: Hoare triple {6589#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:38,519 INFO L280 TraceCheckUtils]: 14: Hoare triple {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:38,520 INFO L280 TraceCheckUtils]: 15: Hoare triple {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:38,521 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {6517#(<= 1 ~guard_malloc_counter~0.offset)} #96#return; {6535#(<= 2 |main_#t~ret33.offset|)} is VALID [2020-07-08 22:22:38,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:38,559 INFO L280 TraceCheckUtils]: 0: Hoare triple {6592#(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; {6487#true} is VALID [2020-07-08 22:22:38,560 INFO L280 TraceCheckUtils]: 1: Hoare triple {6487#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {6487#true} is VALID [2020-07-08 22:22:38,560 INFO L280 TraceCheckUtils]: 2: Hoare triple {6487#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {6487#true} is VALID [2020-07-08 22:22:38,560 INFO L280 TraceCheckUtils]: 3: Hoare triple {6487#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {6487#true} is VALID [2020-07-08 22:22:38,560 INFO L280 TraceCheckUtils]: 4: Hoare triple {6487#true} assume 0 != #t~nondet31; {6487#true} is VALID [2020-07-08 22:22:38,560 INFO L280 TraceCheckUtils]: 5: Hoare triple {6487#true} havoc #t~nondet31; {6487#true} is VALID [2020-07-08 22:22:38,561 INFO L280 TraceCheckUtils]: 6: Hoare triple {6487#true} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {6487#true} is VALID [2020-07-08 22:22:38,561 INFO L280 TraceCheckUtils]: 7: Hoare triple {6487#true} assume true; {6487#true} is VALID [2020-07-08 22:22:38,562 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {6487#true} {6536#(<= 2 main_~dev2~0.offset)} #98#return; {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-08 22:22:38,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:38,568 INFO L280 TraceCheckUtils]: 0: Hoare triple {6592#(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; {6487#true} is VALID [2020-07-08 22:22:38,569 INFO L280 TraceCheckUtils]: 1: Hoare triple {6487#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {6487#true} is VALID [2020-07-08 22:22:38,569 INFO L280 TraceCheckUtils]: 2: Hoare triple {6487#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {6487#true} is VALID [2020-07-08 22:22:38,569 INFO L280 TraceCheckUtils]: 3: Hoare triple {6487#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {6487#true} is VALID [2020-07-08 22:22:38,570 INFO L280 TraceCheckUtils]: 4: Hoare triple {6487#true} assume !(0 != #t~nondet31); {6487#true} is VALID [2020-07-08 22:22:38,570 INFO L280 TraceCheckUtils]: 5: Hoare triple {6487#true} havoc #t~nondet31; {6487#true} is VALID [2020-07-08 22:22:38,570 INFO L280 TraceCheckUtils]: 6: Hoare triple {6487#true} assume true; {6487#true} is VALID [2020-07-08 22:22:38,571 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {6487#true} {6536#(<= 2 main_~dev2~0.offset)} #100#return; {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-08 22:22:38,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:38,600 INFO L280 TraceCheckUtils]: 0: Hoare triple {6592#(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; {6487#true} is VALID [2020-07-08 22:22:38,600 INFO L280 TraceCheckUtils]: 1: Hoare triple {6487#true} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset; {6487#true} is VALID [2020-07-08 22:22:38,601 INFO L280 TraceCheckUtils]: 2: Hoare triple {6487#true} ~elem~0.base, ~elem~0.offset := 0, 0; {6593#(= 0 ~elem~0.offset)} is VALID [2020-07-08 22:22:38,602 INFO L280 TraceCheckUtils]: 3: Hoare triple {6593#(= 0 ~elem~0.offset)} assume true; {6593#(= 0 ~elem~0.offset)} is VALID [2020-07-08 22:22:38,603 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {6593#(= 0 ~elem~0.offset)} {6536#(<= 2 main_~dev2~0.offset)} #102#return; {6559#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-08 22:22:38,604 INFO L263 TraceCheckUtils]: 0: Hoare triple {6487#true} call ULTIMATE.init(); {6562#(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-08 22:22:38,605 INFO L280 TraceCheckUtils]: 1: Hoare triple {6562#(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; {6487#true} is VALID [2020-07-08 22:22:38,605 INFO L280 TraceCheckUtils]: 2: Hoare triple {6487#true} #valid := #valid[0 := 0]; {6487#true} is VALID [2020-07-08 22:22:38,605 INFO L280 TraceCheckUtils]: 3: Hoare triple {6487#true} assume 0 < #StackHeapBarrier; {6487#true} is VALID [2020-07-08 22:22:38,606 INFO L280 TraceCheckUtils]: 4: Hoare triple {6487#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,607 INFO L280 TraceCheckUtils]: 5: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,607 INFO L280 TraceCheckUtils]: 6: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,608 INFO L280 TraceCheckUtils]: 7: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,609 INFO L280 TraceCheckUtils]: 8: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,610 INFO L280 TraceCheckUtils]: 9: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} assume true; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,610 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {6499#(= 0 ~guard_malloc_counter~0.offset)} {6487#true} #112#return; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,611 INFO L263 TraceCheckUtils]: 11: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} call #t~ret34 := main(); {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,612 INFO L280 TraceCheckUtils]: 12: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} havoc ~dev1~0.base, ~dev1~0.offset; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,612 INFO L280 TraceCheckUtils]: 13: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} havoc ~dev2~0.base, ~dev2~0.offset; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,613 INFO L263 TraceCheckUtils]: 14: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {6563#(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-08 22:22:38,614 INFO L280 TraceCheckUtils]: 15: Hoare triple {6563#(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; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:38,615 INFO L263 TraceCheckUtils]: 16: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {6563#(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-08 22:22:38,616 INFO L280 TraceCheckUtils]: 17: Hoare triple {6563#(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; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:38,618 INFO L280 TraceCheckUtils]: 18: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:38,619 INFO L280 TraceCheckUtils]: 19: Hoare triple {6564#(= ~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; {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:38,621 INFO L280 TraceCheckUtils]: 20: Hoare triple {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,621 INFO L280 TraceCheckUtils]: 21: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,622 INFO L280 TraceCheckUtils]: 22: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,623 INFO L280 TraceCheckUtils]: 23: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,624 INFO L280 TraceCheckUtils]: 24: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,625 INFO L280 TraceCheckUtils]: 25: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,625 INFO L280 TraceCheckUtils]: 26: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,627 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,628 INFO L280 TraceCheckUtils]: 28: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,645 INFO L280 TraceCheckUtils]: 29: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,646 INFO L280 TraceCheckUtils]: 30: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,647 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {6499#(= 0 ~guard_malloc_counter~0.offset)} #94#return; {6517#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,648 INFO L280 TraceCheckUtils]: 32: Hoare triple {6517#(<= 1 ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {6517#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,649 INFO L280 TraceCheckUtils]: 33: Hoare triple {6517#(<= 1 ~guard_malloc_counter~0.offset)} havoc #t~ret32.base, #t~ret32.offset; {6517#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,650 INFO L263 TraceCheckUtils]: 34: Hoare triple {6517#(<= 1 ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {6563#(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-08 22:22:38,651 INFO L280 TraceCheckUtils]: 35: Hoare triple {6563#(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; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:38,652 INFO L263 TraceCheckUtils]: 36: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {6563#(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-08 22:22:38,652 INFO L280 TraceCheckUtils]: 37: Hoare triple {6563#(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; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:38,653 INFO L280 TraceCheckUtils]: 38: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:38,654 INFO L280 TraceCheckUtils]: 39: Hoare triple {6564#(= ~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; {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:38,655 INFO L280 TraceCheckUtils]: 40: Hoare triple {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,655 INFO L280 TraceCheckUtils]: 41: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,657 INFO L280 TraceCheckUtils]: 42: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,657 INFO L280 TraceCheckUtils]: 43: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,658 INFO L280 TraceCheckUtils]: 44: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:38,659 INFO L280 TraceCheckUtils]: 45: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:38,660 INFO L280 TraceCheckUtils]: 46: Hoare triple {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:38,661 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {6589#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:22:38,662 INFO L280 TraceCheckUtils]: 48: Hoare triple {6589#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:38,664 INFO L280 TraceCheckUtils]: 49: Hoare triple {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:38,664 INFO L280 TraceCheckUtils]: 50: Hoare triple {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:38,666 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {6517#(<= 1 ~guard_malloc_counter~0.offset)} #96#return; {6535#(<= 2 |main_#t~ret33.offset|)} is VALID [2020-07-08 22:22:38,667 INFO L280 TraceCheckUtils]: 52: Hoare triple {6535#(<= 2 |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-08 22:22:38,667 INFO L280 TraceCheckUtils]: 53: Hoare triple {6536#(<= 2 main_~dev2~0.offset)} havoc #t~ret33.base, #t~ret33.offset; {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-08 22:22:38,668 INFO L280 TraceCheckUtils]: 54: Hoare triple {6536#(<= 2 main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-08 22:22:38,670 INFO L263 TraceCheckUtils]: 55: Hoare triple {6536#(<= 2 main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:38,671 INFO L280 TraceCheckUtils]: 56: Hoare triple {6592#(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; {6487#true} is VALID [2020-07-08 22:22:38,671 INFO L280 TraceCheckUtils]: 57: Hoare triple {6487#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {6487#true} is VALID [2020-07-08 22:22:38,671 INFO L280 TraceCheckUtils]: 58: Hoare triple {6487#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {6487#true} is VALID [2020-07-08 22:22:38,671 INFO L280 TraceCheckUtils]: 59: Hoare triple {6487#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {6487#true} is VALID [2020-07-08 22:22:38,671 INFO L280 TraceCheckUtils]: 60: Hoare triple {6487#true} assume 0 != #t~nondet31; {6487#true} is VALID [2020-07-08 22:22:38,672 INFO L280 TraceCheckUtils]: 61: Hoare triple {6487#true} havoc #t~nondet31; {6487#true} is VALID [2020-07-08 22:22:38,672 INFO L280 TraceCheckUtils]: 62: Hoare triple {6487#true} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {6487#true} is VALID [2020-07-08 22:22:38,672 INFO L280 TraceCheckUtils]: 63: Hoare triple {6487#true} assume true; {6487#true} is VALID [2020-07-08 22:22:38,673 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {6487#true} {6536#(<= 2 main_~dev2~0.offset)} #98#return; {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-08 22:22:38,675 INFO L263 TraceCheckUtils]: 65: Hoare triple {6536#(<= 2 main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:38,676 INFO L280 TraceCheckUtils]: 66: Hoare triple {6592#(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; {6487#true} is VALID [2020-07-08 22:22:38,676 INFO L280 TraceCheckUtils]: 67: Hoare triple {6487#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {6487#true} is VALID [2020-07-08 22:22:38,676 INFO L280 TraceCheckUtils]: 68: Hoare triple {6487#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {6487#true} is VALID [2020-07-08 22:22:38,676 INFO L280 TraceCheckUtils]: 69: Hoare triple {6487#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {6487#true} is VALID [2020-07-08 22:22:38,677 INFO L280 TraceCheckUtils]: 70: Hoare triple {6487#true} assume !(0 != #t~nondet31); {6487#true} is VALID [2020-07-08 22:22:38,677 INFO L280 TraceCheckUtils]: 71: Hoare triple {6487#true} havoc #t~nondet31; {6487#true} is VALID [2020-07-08 22:22:38,677 INFO L280 TraceCheckUtils]: 72: Hoare triple {6487#true} assume true; {6487#true} is VALID [2020-07-08 22:22:38,678 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {6487#true} {6536#(<= 2 main_~dev2~0.offset)} #100#return; {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-08 22:22:38,680 INFO L263 TraceCheckUtils]: 74: Hoare triple {6536#(<= 2 main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:38,680 INFO L280 TraceCheckUtils]: 75: Hoare triple {6592#(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; {6487#true} is VALID [2020-07-08 22:22:38,680 INFO L280 TraceCheckUtils]: 76: Hoare triple {6487#true} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset; {6487#true} is VALID [2020-07-08 22:22:38,681 INFO L280 TraceCheckUtils]: 77: Hoare triple {6487#true} ~elem~0.base, ~elem~0.offset := 0, 0; {6593#(= 0 ~elem~0.offset)} is VALID [2020-07-08 22:22:38,682 INFO L280 TraceCheckUtils]: 78: Hoare triple {6593#(= 0 ~elem~0.offset)} assume true; {6593#(= 0 ~elem~0.offset)} is VALID [2020-07-08 22:22:38,683 INFO L275 TraceCheckUtils]: 79: Hoare quadruple {6593#(= 0 ~elem~0.offset)} {6536#(<= 2 main_~dev2~0.offset)} #102#return; {6559#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-08 22:22:38,685 INFO L263 TraceCheckUtils]: 80: Hoare triple {6559#(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); {6560#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} is VALID [2020-07-08 22:22:38,686 INFO L280 TraceCheckUtils]: 81: Hoare triple {6560#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {6561#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-08 22:22:38,687 INFO L280 TraceCheckUtils]: 82: Hoare triple {6561#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {6561#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-08 22:22:38,688 INFO L280 TraceCheckUtils]: 83: Hoare triple {6561#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {6488#false} is VALID [2020-07-08 22:22:38,688 INFO L263 TraceCheckUtils]: 84: Hoare triple {6488#false} call __blast_assert(); {6488#false} is VALID [2020-07-08 22:22:38,689 INFO L280 TraceCheckUtils]: 85: Hoare triple {6488#false} assume !false; {6488#false} is VALID [2020-07-08 22:22:38,701 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 4 proven. 8 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2020-07-08 22:22:38,701 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1571675746] [2020-07-08 22:22:38,702 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:22:38,702 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19] total 19 [2020-07-08 22:22:38,702 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [673022542] [2020-07-08 22:22:38,704 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 86 [2020-07-08 22:22:38,707 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:22:38,707 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2020-07-08 22:22:38,805 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:38,806 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2020-07-08 22:22:38,806 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:22:38,806 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2020-07-08 22:22:38,807 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=299, Unknown=0, NotChecked=0, Total=342 [2020-07-08 22:22:38,807 INFO L87 Difference]: Start difference. First operand 111 states and 120 transitions. Second operand 19 states. [2020-07-08 22:22:43,868 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:43,868 INFO L93 Difference]: Finished difference Result 144 states and 154 transitions. [2020-07-08 22:22:43,868 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-08 22:22:43,868 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 86 [2020-07-08 22:22:43,869 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:22:43,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-08 22:22:43,871 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 115 transitions. [2020-07-08 22:22:43,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-08 22:22:43,874 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 115 transitions. [2020-07-08 22:22:43,874 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 115 transitions. [2020-07-08 22:22:44,115 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:44,119 INFO L225 Difference]: With dead ends: 144 [2020-07-08 22:22:44,120 INFO L226 Difference]: Without dead ends: 131 [2020-07-08 22:22:44,121 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 279 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=253, Invalid=1469, Unknown=0, NotChecked=0, Total=1722 [2020-07-08 22:22:44,121 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2020-07-08 22:22:44,699 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 110. [2020-07-08 22:22:44,699 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:22:44,699 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand 110 states. [2020-07-08 22:22:44,700 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand 110 states. [2020-07-08 22:22:44,700 INFO L87 Difference]: Start difference. First operand 131 states. Second operand 110 states. [2020-07-08 22:22:44,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:44,704 INFO L93 Difference]: Finished difference Result 131 states and 139 transitions. [2020-07-08 22:22:44,704 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 139 transitions. [2020-07-08 22:22:44,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:44,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:44,704 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand 131 states. [2020-07-08 22:22:44,705 INFO L87 Difference]: Start difference. First operand 110 states. Second operand 131 states. [2020-07-08 22:22:44,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:44,708 INFO L93 Difference]: Finished difference Result 131 states and 139 transitions. [2020-07-08 22:22:44,708 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 139 transitions. [2020-07-08 22:22:44,709 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:44,709 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:44,709 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:22:44,709 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:22:44,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 110 states. [2020-07-08 22:22:44,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 118 transitions. [2020-07-08 22:22:44,712 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 118 transitions. Word has length 86 [2020-07-08 22:22:44,713 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:22:44,713 INFO L479 AbstractCegarLoop]: Abstraction has 110 states and 118 transitions. [2020-07-08 22:22:44,713 INFO L480 AbstractCegarLoop]: Interpolant automaton has 19 states. [2020-07-08 22:22:44,713 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 110 states and 118 transitions. [2020-07-08 22:22:45,013 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:45,013 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 118 transitions. [2020-07-08 22:22:45,015 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2020-07-08 22:22:45,015 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:22:45,015 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 3, 2, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 22:22:45,016 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-08 22:22:45,016 INFO L427 AbstractCegarLoop]: === Iteration 11 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:22:45,016 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:22:45,016 INFO L82 PathProgramCache]: Analyzing trace with hash -1959566780, now seen corresponding path program 1 times [2020-07-08 22:22:45,016 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:22:45,016 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [229948964] [2020-07-08 22:22:45,016 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:22:45,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:45,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:45,211 INFO L280 TraceCheckUtils]: 0: Hoare triple {7493#(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; {7414#true} is VALID [2020-07-08 22:22:45,211 INFO L280 TraceCheckUtils]: 1: Hoare triple {7414#true} #valid := #valid[0 := 0]; {7414#true} is VALID [2020-07-08 22:22:45,213 INFO L280 TraceCheckUtils]: 2: Hoare triple {7414#true} assume 0 < #StackHeapBarrier; {7414#true} is VALID [2020-07-08 22:22:45,214 INFO L280 TraceCheckUtils]: 3: Hoare triple {7414#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {7494#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,215 INFO L280 TraceCheckUtils]: 4: Hoare triple {7494#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:45,216 INFO L280 TraceCheckUtils]: 5: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:45,216 INFO L280 TraceCheckUtils]: 6: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:45,217 INFO L280 TraceCheckUtils]: 7: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:45,218 INFO L280 TraceCheckUtils]: 8: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:45,218 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {7414#true} #112#return; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:45,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:45,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:45,320 INFO L280 TraceCheckUtils]: 0: Hoare triple {7495#(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; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:45,320 INFO L280 TraceCheckUtils]: 1: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:45,321 INFO L280 TraceCheckUtils]: 2: Hoare triple {7496#(= ~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; {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:45,322 INFO L280 TraceCheckUtils]: 3: Hoare triple {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,323 INFO L280 TraceCheckUtils]: 4: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,323 INFO L280 TraceCheckUtils]: 5: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,324 INFO L280 TraceCheckUtils]: 6: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,325 INFO L280 TraceCheckUtils]: 7: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,325 INFO L280 TraceCheckUtils]: 8: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,326 INFO L280 TraceCheckUtils]: 9: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,328 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,329 INFO L280 TraceCheckUtils]: 0: Hoare triple {7495#(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; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:45,331 INFO L263 TraceCheckUtils]: 1: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {7495#(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-08 22:22:45,332 INFO L280 TraceCheckUtils]: 2: Hoare triple {7495#(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; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:45,332 INFO L280 TraceCheckUtils]: 3: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:45,333 INFO L280 TraceCheckUtils]: 4: Hoare triple {7496#(= ~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; {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:45,334 INFO L280 TraceCheckUtils]: 5: Hoare triple {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,334 INFO L280 TraceCheckUtils]: 6: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,335 INFO L280 TraceCheckUtils]: 7: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,335 INFO L280 TraceCheckUtils]: 8: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,336 INFO L280 TraceCheckUtils]: 9: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,337 INFO L280 TraceCheckUtils]: 10: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,338 INFO L280 TraceCheckUtils]: 11: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,340 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,340 INFO L280 TraceCheckUtils]: 13: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,341 INFO L280 TraceCheckUtils]: 14: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,342 INFO L280 TraceCheckUtils]: 15: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,343 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #94#return; {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:45,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:45,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:45,426 INFO L280 TraceCheckUtils]: 0: Hoare triple {7495#(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; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:45,427 INFO L280 TraceCheckUtils]: 1: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:45,427 INFO L280 TraceCheckUtils]: 2: Hoare triple {7496#(= ~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; {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:45,428 INFO L280 TraceCheckUtils]: 3: Hoare triple {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,429 INFO L280 TraceCheckUtils]: 4: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,429 INFO L280 TraceCheckUtils]: 5: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,430 INFO L280 TraceCheckUtils]: 6: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,430 INFO L280 TraceCheckUtils]: 7: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,431 INFO L280 TraceCheckUtils]: 8: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:45,432 INFO L280 TraceCheckUtils]: 9: Hoare triple {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:45,433 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {7521#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:22:45,434 INFO L280 TraceCheckUtils]: 0: Hoare triple {7495#(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; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:45,436 INFO L263 TraceCheckUtils]: 1: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {7495#(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-08 22:22:45,436 INFO L280 TraceCheckUtils]: 2: Hoare triple {7495#(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; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:45,437 INFO L280 TraceCheckUtils]: 3: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:45,437 INFO L280 TraceCheckUtils]: 4: Hoare triple {7496#(= ~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; {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:45,438 INFO L280 TraceCheckUtils]: 5: Hoare triple {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,439 INFO L280 TraceCheckUtils]: 6: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,439 INFO L280 TraceCheckUtils]: 7: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,440 INFO L280 TraceCheckUtils]: 8: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,441 INFO L280 TraceCheckUtils]: 9: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,442 INFO L280 TraceCheckUtils]: 10: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:45,442 INFO L280 TraceCheckUtils]: 11: Hoare triple {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:45,444 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {7521#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:22:45,445 INFO L280 TraceCheckUtils]: 13: Hoare triple {7521#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:45,445 INFO L280 TraceCheckUtils]: 14: Hoare triple {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:45,446 INFO L280 TraceCheckUtils]: 15: Hoare triple {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:45,447 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} #96#return; {7462#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} is VALID [2020-07-08 22:22:45,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:45,497 INFO L280 TraceCheckUtils]: 0: Hoare triple {7524#(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; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,498 INFO L280 TraceCheckUtils]: 1: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,498 INFO L280 TraceCheckUtils]: 2: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,499 INFO L280 TraceCheckUtils]: 3: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,499 INFO L280 TraceCheckUtils]: 4: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,500 INFO L280 TraceCheckUtils]: 5: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,500 INFO L280 TraceCheckUtils]: 6: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,502 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} #98#return; {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-08 22:22:45,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:45,511 INFO L280 TraceCheckUtils]: 0: Hoare triple {7524#(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; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,512 INFO L280 TraceCheckUtils]: 1: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,512 INFO L280 TraceCheckUtils]: 2: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,513 INFO L280 TraceCheckUtils]: 3: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,514 INFO L280 TraceCheckUtils]: 4: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,514 INFO L280 TraceCheckUtils]: 5: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,515 INFO L280 TraceCheckUtils]: 6: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,516 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} #100#return; {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-08 22:22:45,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:45,584 INFO L280 TraceCheckUtils]: 0: Hoare triple {7524#(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; {7526#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-08 22:22:45,584 INFO L280 TraceCheckUtils]: 1: Hoare triple {7526#(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; {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-08 22:22:45,585 INFO L280 TraceCheckUtils]: 2: Hoare triple {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} ~elem~0.base, ~elem~0.offset := 0, 0; {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-08 22:22:45,586 INFO L280 TraceCheckUtils]: 3: Hoare triple {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} assume true; {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-08 22:22:45,587 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} #102#return; {7415#false} is VALID [2020-07-08 22:22:45,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:45,598 INFO L280 TraceCheckUtils]: 0: Hoare triple {7524#(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; {7414#true} is VALID [2020-07-08 22:22:45,598 INFO L280 TraceCheckUtils]: 1: Hoare triple {7414#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7414#true} is VALID [2020-07-08 22:22:45,598 INFO L280 TraceCheckUtils]: 2: Hoare triple {7414#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {7414#true} is VALID [2020-07-08 22:22:45,599 INFO L280 TraceCheckUtils]: 3: Hoare triple {7414#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {7414#true} is VALID [2020-07-08 22:22:45,599 INFO L280 TraceCheckUtils]: 4: Hoare triple {7414#true} assume !(0 != #t~nondet31); {7414#true} is VALID [2020-07-08 22:22:45,599 INFO L280 TraceCheckUtils]: 5: Hoare triple {7414#true} havoc #t~nondet31; {7414#true} is VALID [2020-07-08 22:22:45,599 INFO L280 TraceCheckUtils]: 6: Hoare triple {7414#true} assume true; {7414#true} is VALID [2020-07-08 22:22:45,600 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {7414#true} {7415#false} #104#return; {7415#false} is VALID [2020-07-08 22:22:45,602 INFO L263 TraceCheckUtils]: 0: Hoare triple {7414#true} call ULTIMATE.init(); {7493#(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-08 22:22:45,602 INFO L280 TraceCheckUtils]: 1: Hoare triple {7493#(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; {7414#true} is VALID [2020-07-08 22:22:45,602 INFO L280 TraceCheckUtils]: 2: Hoare triple {7414#true} #valid := #valid[0 := 0]; {7414#true} is VALID [2020-07-08 22:22:45,603 INFO L280 TraceCheckUtils]: 3: Hoare triple {7414#true} assume 0 < #StackHeapBarrier; {7414#true} is VALID [2020-07-08 22:22:45,603 INFO L280 TraceCheckUtils]: 4: Hoare triple {7414#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {7494#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,604 INFO L280 TraceCheckUtils]: 5: Hoare triple {7494#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:45,605 INFO L280 TraceCheckUtils]: 6: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:45,606 INFO L280 TraceCheckUtils]: 7: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:45,607 INFO L280 TraceCheckUtils]: 8: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:45,608 INFO L280 TraceCheckUtils]: 9: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:45,609 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {7414#true} #112#return; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:45,609 INFO L263 TraceCheckUtils]: 11: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret34 := main(); {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:45,610 INFO L280 TraceCheckUtils]: 12: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev1~0.base, ~dev1~0.offset; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:45,611 INFO L280 TraceCheckUtils]: 13: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev2~0.base, ~dev2~0.offset; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:45,612 INFO L263 TraceCheckUtils]: 14: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {7495#(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-08 22:22:45,613 INFO L280 TraceCheckUtils]: 15: Hoare triple {7495#(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; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:45,614 INFO L263 TraceCheckUtils]: 16: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {7495#(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-08 22:22:45,614 INFO L280 TraceCheckUtils]: 17: Hoare triple {7495#(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; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:45,615 INFO L280 TraceCheckUtils]: 18: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:45,615 INFO L280 TraceCheckUtils]: 19: Hoare triple {7496#(= ~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; {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:45,616 INFO L280 TraceCheckUtils]: 20: Hoare triple {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,617 INFO L280 TraceCheckUtils]: 21: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,617 INFO L280 TraceCheckUtils]: 22: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,618 INFO L280 TraceCheckUtils]: 23: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,618 INFO L280 TraceCheckUtils]: 24: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,619 INFO L280 TraceCheckUtils]: 25: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,620 INFO L280 TraceCheckUtils]: 26: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,621 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,622 INFO L280 TraceCheckUtils]: 28: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,623 INFO L280 TraceCheckUtils]: 29: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,623 INFO L280 TraceCheckUtils]: 30: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,625 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #94#return; {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:45,625 INFO L280 TraceCheckUtils]: 32: Hoare triple {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:45,626 INFO L280 TraceCheckUtils]: 33: Hoare triple {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} havoc #t~ret32.base, #t~ret32.offset; {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 22:22:45,627 INFO L263 TraceCheckUtils]: 34: Hoare triple {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {7495#(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-08 22:22:45,628 INFO L280 TraceCheckUtils]: 35: Hoare triple {7495#(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; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:45,628 INFO L263 TraceCheckUtils]: 36: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {7495#(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-08 22:22:45,629 INFO L280 TraceCheckUtils]: 37: Hoare triple {7495#(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; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:45,630 INFO L280 TraceCheckUtils]: 38: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 22:22:45,630 INFO L280 TraceCheckUtils]: 39: Hoare triple {7496#(= ~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; {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-08 22:22:45,631 INFO L280 TraceCheckUtils]: 40: Hoare triple {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,632 INFO L280 TraceCheckUtils]: 41: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,633 INFO L280 TraceCheckUtils]: 42: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,633 INFO L280 TraceCheckUtils]: 43: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,634 INFO L280 TraceCheckUtils]: 44: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 22:22:45,635 INFO L280 TraceCheckUtils]: 45: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:45,635 INFO L280 TraceCheckUtils]: 46: Hoare triple {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 22:22:45,637 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {7521#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 22:22:45,637 INFO L280 TraceCheckUtils]: 48: Hoare triple {7521#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:45,638 INFO L280 TraceCheckUtils]: 49: Hoare triple {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:45,638 INFO L280 TraceCheckUtils]: 50: Hoare triple {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 22:22:45,640 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} #96#return; {7462#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} is VALID [2020-07-08 22:22:45,641 INFO L280 TraceCheckUtils]: 52: Hoare triple {7462#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-08 22:22:45,641 INFO L280 TraceCheckUtils]: 53: Hoare triple {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} havoc #t~ret33.base, #t~ret33.offset; {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-08 22:22:45,642 INFO L280 TraceCheckUtils]: 54: Hoare triple {7463#(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); {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-08 22:22:45,644 INFO L263 TraceCheckUtils]: 55: Hoare triple {7463#(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); {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:45,645 INFO L280 TraceCheckUtils]: 56: Hoare triple {7524#(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; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,645 INFO L280 TraceCheckUtils]: 57: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,646 INFO L280 TraceCheckUtils]: 58: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,646 INFO L280 TraceCheckUtils]: 59: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,647 INFO L280 TraceCheckUtils]: 60: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,648 INFO L280 TraceCheckUtils]: 61: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,648 INFO L280 TraceCheckUtils]: 62: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,650 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} #98#return; {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-08 22:22:45,651 INFO L263 TraceCheckUtils]: 64: Hoare triple {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:45,652 INFO L280 TraceCheckUtils]: 65: Hoare triple {7524#(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; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,653 INFO L280 TraceCheckUtils]: 66: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,653 INFO L280 TraceCheckUtils]: 67: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,654 INFO L280 TraceCheckUtils]: 68: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,655 INFO L280 TraceCheckUtils]: 69: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,655 INFO L280 TraceCheckUtils]: 70: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,656 INFO L280 TraceCheckUtils]: 71: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 22:22:45,657 INFO L275 TraceCheckUtils]: 72: Hoare quadruple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} #100#return; {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-08 22:22:45,658 INFO L263 TraceCheckUtils]: 73: Hoare triple {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} call list_del(~dev2~0.base, ~dev2~0.offset); {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:45,659 INFO L280 TraceCheckUtils]: 74: Hoare triple {7524#(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; {7526#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-08 22:22:45,660 INFO L280 TraceCheckUtils]: 75: Hoare triple {7526#(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; {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-08 22:22:45,660 INFO L280 TraceCheckUtils]: 76: Hoare triple {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} ~elem~0.base, ~elem~0.offset := 0, 0; {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-08 22:22:45,661 INFO L280 TraceCheckUtils]: 77: Hoare triple {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} assume true; {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-08 22:22:45,662 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} #102#return; {7415#false} is VALID [2020-07-08 22:22:45,662 INFO L263 TraceCheckUtils]: 79: Hoare triple {7415#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 22:22:45,662 INFO L280 TraceCheckUtils]: 80: Hoare triple {7524#(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; {7414#true} is VALID [2020-07-08 22:22:45,662 INFO L280 TraceCheckUtils]: 81: Hoare triple {7414#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7414#true} is VALID [2020-07-08 22:22:45,663 INFO L280 TraceCheckUtils]: 82: Hoare triple {7414#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {7414#true} is VALID [2020-07-08 22:22:45,663 INFO L280 TraceCheckUtils]: 83: Hoare triple {7414#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {7414#true} is VALID [2020-07-08 22:22:45,663 INFO L280 TraceCheckUtils]: 84: Hoare triple {7414#true} assume !(0 != #t~nondet31); {7414#true} is VALID [2020-07-08 22:22:45,663 INFO L280 TraceCheckUtils]: 85: Hoare triple {7414#true} havoc #t~nondet31; {7414#true} is VALID [2020-07-08 22:22:45,663 INFO L280 TraceCheckUtils]: 86: Hoare triple {7414#true} assume true; {7414#true} is VALID [2020-07-08 22:22:45,664 INFO L275 TraceCheckUtils]: 87: Hoare quadruple {7414#true} {7415#false} #104#return; {7415#false} is VALID [2020-07-08 22:22:45,664 INFO L263 TraceCheckUtils]: 88: Hoare triple {7415#false} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {7415#false} is VALID [2020-07-08 22:22:45,664 INFO L280 TraceCheckUtils]: 89: Hoare triple {7415#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {7415#false} is VALID [2020-07-08 22:22:45,664 INFO L280 TraceCheckUtils]: 90: Hoare triple {7415#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7415#false} is VALID [2020-07-08 22:22:45,664 INFO L280 TraceCheckUtils]: 91: Hoare triple {7415#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {7415#false} is VALID [2020-07-08 22:22:45,664 INFO L263 TraceCheckUtils]: 92: Hoare triple {7415#false} call __blast_assert(); {7415#false} is VALID [2020-07-08 22:22:45,665 INFO L280 TraceCheckUtils]: 93: Hoare triple {7415#false} assume !false; {7415#false} is VALID [2020-07-08 22:22:45,678 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 9 proven. 20 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2020-07-08 22:22:45,678 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [229948964] [2020-07-08 22:22:45,678 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:22:45,678 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19] total 19 [2020-07-08 22:22:45,678 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [633717527] [2020-07-08 22:22:45,679 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 94 [2020-07-08 22:22:45,679 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:22:45,680 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2020-07-08 22:22:45,781 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-08 22:22:45,781 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2020-07-08 22:22:45,781 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:22:45,782 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2020-07-08 22:22:45,782 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=299, Unknown=0, NotChecked=0, Total=342 [2020-07-08 22:22:45,782 INFO L87 Difference]: Start difference. First operand 110 states and 118 transitions. Second operand 19 states. [2020-07-08 22:22:50,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:50,628 INFO L93 Difference]: Finished difference Result 137 states and 144 transitions. [2020-07-08 22:22:50,629 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2020-07-08 22:22:50,629 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 94 [2020-07-08 22:22:50,629 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:22:50,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-08 22:22:50,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 113 transitions. [2020-07-08 22:22:50,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-08 22:22:50,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 113 transitions. [2020-07-08 22:22:50,634 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 113 transitions. [2020-07-08 22:22:50,853 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:50,855 INFO L225 Difference]: With dead ends: 137 [2020-07-08 22:22:50,855 INFO L226 Difference]: Without dead ends: 108 [2020-07-08 22:22:50,856 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 219 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=239, Invalid=1321, Unknown=0, NotChecked=0, Total=1560 [2020-07-08 22:22:50,857 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2020-07-08 22:22:51,368 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 100. [2020-07-08 22:22:51,369 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:22:51,369 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand 100 states. [2020-07-08 22:22:51,369 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand 100 states. [2020-07-08 22:22:51,369 INFO L87 Difference]: Start difference. First operand 108 states. Second operand 100 states. [2020-07-08 22:22:51,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:51,372 INFO L93 Difference]: Finished difference Result 108 states and 115 transitions. [2020-07-08 22:22:51,372 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 115 transitions. [2020-07-08 22:22:51,373 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:51,373 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:51,373 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 108 states. [2020-07-08 22:22:51,373 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 108 states. [2020-07-08 22:22:51,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:51,376 INFO L93 Difference]: Finished difference Result 108 states and 115 transitions. [2020-07-08 22:22:51,376 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 115 transitions. [2020-07-08 22:22:51,377 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:51,377 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:51,377 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:22:51,377 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:22:51,377 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 100 states. [2020-07-08 22:22:51,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 106 transitions. [2020-07-08 22:22:51,380 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 106 transitions. Word has length 94 [2020-07-08 22:22:51,380 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:22:51,381 INFO L479 AbstractCegarLoop]: Abstraction has 100 states and 106 transitions. [2020-07-08 22:22:51,381 INFO L480 AbstractCegarLoop]: Interpolant automaton has 19 states. [2020-07-08 22:22:51,381 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 100 states and 106 transitions. [2020-07-08 22:22:51,643 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:51,644 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 106 transitions. [2020-07-08 22:22:51,645 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2020-07-08 22:22:51,645 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:22:51,645 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 2, 2, 2, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 22:22:51,646 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2020-07-08 22:22:51,646 INFO L427 AbstractCegarLoop]: === Iteration 12 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:22:51,646 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:22:51,646 INFO L82 PathProgramCache]: Analyzing trace with hash -416868516, now seen corresponding path program 1 times [2020-07-08 22:22:51,646 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:22:51,647 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1072309093] [2020-07-08 22:22:51,647 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:22:51,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-08 22:22:51,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-08 22:22:51,799 INFO L174 FreeRefinementEngine]: Strategy FIXED_PREFERENCES found a feasible trace [2020-07-08 22:22:51,799 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-08 22:22:51,799 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2020-07-08 22:22:51,899 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-08 22:22:51,901 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-08 22:22:51,902 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-08 22:22:51,902 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-08 22:22:51,903 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-08 22:22:51,903 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-08 22:22:51,959 WARN L170 areAnnotationChecker]: my_mallocENTRY has no Hoare annotation [2020-07-08 22:22:51,959 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-08 22:22:51,959 WARN L170 areAnnotationChecker]: list_delENTRY has no Hoare annotation [2020-07-08 22:22:51,959 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-08 22:22:51,960 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-08 22:22:51,960 WARN L170 areAnnotationChecker]: __blast_assertENTRY has no Hoare annotation [2020-07-08 22:22:51,960 WARN L170 areAnnotationChecker]: __blast_assertENTRY has no Hoare annotation [2020-07-08 22:22:51,960 WARN L170 areAnnotationChecker]: list_addENTRY has no Hoare annotation [2020-07-08 22:22:51,960 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-08 22:22:51,960 WARN L170 areAnnotationChecker]: __getMemoryENTRY has no Hoare annotation [2020-07-08 22:22:51,960 WARN L170 areAnnotationChecker]: L879 has no Hoare annotation [2020-07-08 22:22:51,960 WARN L170 areAnnotationChecker]: L879 has no Hoare annotation [2020-07-08 22:22:51,960 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-08 22:22:51,961 WARN L170 areAnnotationChecker]: L896 has no Hoare annotation [2020-07-08 22:22:51,961 WARN L170 areAnnotationChecker]: L896 has no Hoare annotation [2020-07-08 22:22:51,961 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-08 22:22:51,961 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-08 22:22:51,961 WARN L170 areAnnotationChecker]: __blast_assertFINAL has no Hoare annotation [2020-07-08 22:22:51,961 WARN L170 areAnnotationChecker]: L889 has no Hoare annotation [2020-07-08 22:22:51,961 WARN L170 areAnnotationChecker]: L903 has no Hoare annotation [2020-07-08 22:22:51,961 WARN L170 areAnnotationChecker]: L871 has no Hoare annotation [2020-07-08 22:22:51,961 WARN L170 areAnnotationChecker]: L871 has no Hoare annotation [2020-07-08 22:22:51,962 WARN L170 areAnnotationChecker]: L879-1 has no Hoare annotation [2020-07-08 22:22:51,962 WARN L170 areAnnotationChecker]: L-1-1 has no Hoare annotation [2020-07-08 22:22:51,962 WARN L170 areAnnotationChecker]: L897 has no Hoare annotation [2020-07-08 22:22:51,962 WARN L170 areAnnotationChecker]: L896-2 has no Hoare annotation [2020-07-08 22:22:51,962 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-08 22:22:51,962 WARN L170 areAnnotationChecker]: __blast_assertEXIT has no Hoare annotation [2020-07-08 22:22:51,962 WARN L170 areAnnotationChecker]: __blast_assertEXIT has no Hoare annotation [2020-07-08 22:22:51,962 WARN L170 areAnnotationChecker]: L890 has no Hoare annotation [2020-07-08 22:22:51,962 WARN L170 areAnnotationChecker]: L890 has no Hoare annotation [2020-07-08 22:22:51,963 WARN L170 areAnnotationChecker]: L904 has no Hoare annotation [2020-07-08 22:22:51,963 WARN L170 areAnnotationChecker]: L904 has no Hoare annotation [2020-07-08 22:22:51,963 WARN L170 areAnnotationChecker]: L871-3 has no Hoare annotation [2020-07-08 22:22:51,963 WARN L170 areAnnotationChecker]: L871-2 has no Hoare annotation [2020-07-08 22:22:51,963 WARN L170 areAnnotationChecker]: L871-2 has no Hoare annotation [2020-07-08 22:22:51,963 WARN L170 areAnnotationChecker]: L879-2 has no Hoare annotation [2020-07-08 22:22:51,964 WARN L170 areAnnotationChecker]: L867 has no Hoare annotation [2020-07-08 22:22:51,964 WARN L170 areAnnotationChecker]: list_delEXIT has no Hoare annotation [2020-07-08 22:22:51,964 WARN L170 areAnnotationChecker]: L890-3 has no Hoare annotation [2020-07-08 22:22:51,964 WARN L170 areAnnotationChecker]: L890-2 has no Hoare annotation [2020-07-08 22:22:51,964 WARN L170 areAnnotationChecker]: L890-2 has no Hoare annotation [2020-07-08 22:22:51,964 WARN L170 areAnnotationChecker]: L904-1 has no Hoare annotation [2020-07-08 22:22:51,964 WARN L170 areAnnotationChecker]: L872 has no Hoare annotation [2020-07-08 22:22:51,964 WARN L170 areAnnotationChecker]: my_mallocFINAL has no Hoare annotation [2020-07-08 22:22:51,964 WARN L170 areAnnotationChecker]: L887 has no Hoare annotation [2020-07-08 22:22:51,964 WARN L170 areAnnotationChecker]: L909 has no Hoare annotation [2020-07-08 22:22:51,965 WARN L170 areAnnotationChecker]: L909 has no Hoare annotation [2020-07-08 22:22:51,965 WARN L170 areAnnotationChecker]: L891 has no Hoare annotation [2020-07-08 22:22:51,965 WARN L170 areAnnotationChecker]: L891 has no Hoare annotation [2020-07-08 22:22:51,965 WARN L170 areAnnotationChecker]: L904-2 has no Hoare annotation [2020-07-08 22:22:51,965 WARN L170 areAnnotationChecker]: L872-1 has no Hoare annotation [2020-07-08 22:22:51,965 WARN L170 areAnnotationChecker]: my_mallocEXIT has no Hoare annotation [2020-07-08 22:22:51,965 WARN L170 areAnnotationChecker]: my_mallocEXIT has no Hoare annotation [2020-07-08 22:22:51,965 WARN L170 areAnnotationChecker]: L900 has no Hoare annotation [2020-07-08 22:22:51,965 WARN L170 areAnnotationChecker]: L910 has no Hoare annotation [2020-07-08 22:22:51,965 WARN L170 areAnnotationChecker]: L910 has no Hoare annotation [2020-07-08 22:22:51,965 WARN L170 areAnnotationChecker]: L891-1 has no Hoare annotation [2020-07-08 22:22:51,966 WARN L170 areAnnotationChecker]: L891-3 has no Hoare annotation [2020-07-08 22:22:51,966 WARN L170 areAnnotationChecker]: L905 has no Hoare annotation [2020-07-08 22:22:51,966 WARN L170 areAnnotationChecker]: L905 has no Hoare annotation [2020-07-08 22:22:51,966 WARN L170 areAnnotationChecker]: L873 has no Hoare annotation [2020-07-08 22:22:51,966 WARN L170 areAnnotationChecker]: L905-1 has no Hoare annotation [2020-07-08 22:22:51,966 WARN L170 areAnnotationChecker]: L900-1 has no Hoare annotation [2020-07-08 22:22:51,966 WARN L170 areAnnotationChecker]: L906-1 has no Hoare annotation [2020-07-08 22:22:51,966 WARN L170 areAnnotationChecker]: L892 has no Hoare annotation [2020-07-08 22:22:51,966 WARN L170 areAnnotationChecker]: L891-4 has no Hoare annotation [2020-07-08 22:22:51,966 WARN L170 areAnnotationChecker]: L873-1 has no Hoare annotation [2020-07-08 22:22:51,967 WARN L170 areAnnotationChecker]: L873-1 has no Hoare annotation [2020-07-08 22:22:51,967 WARN L170 areAnnotationChecker]: L905-2 has no Hoare annotation [2020-07-08 22:22:51,967 WARN L170 areAnnotationChecker]: L900-2 has no Hoare annotation [2020-07-08 22:22:51,967 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-08 22:22:51,967 WARN L170 areAnnotationChecker]: list_addEXIT has no Hoare annotation [2020-07-08 22:22:51,967 WARN L170 areAnnotationChecker]: list_addEXIT has no Hoare annotation [2020-07-08 22:22:51,967 WARN L170 areAnnotationChecker]: list_addEXIT has no Hoare annotation [2020-07-08 22:22:51,967 WARN L170 areAnnotationChecker]: list_addEXIT has no Hoare annotation [2020-07-08 22:22:51,967 WARN L170 areAnnotationChecker]: L873-2 has no Hoare annotation [2020-07-08 22:22:51,967 WARN L170 areAnnotationChecker]: L873-3 has no Hoare annotation [2020-07-08 22:22:51,967 WARN L170 areAnnotationChecker]: L906 has no Hoare annotation [2020-07-08 22:22:51,968 WARN L170 areAnnotationChecker]: L906 has no Hoare annotation [2020-07-08 22:22:51,968 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-08 22:22:51,968 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-08 22:22:51,968 WARN L170 areAnnotationChecker]: L907-1 has no Hoare annotation [2020-07-08 22:22:51,968 WARN L170 areAnnotationChecker]: L907-1 has no Hoare annotation [2020-07-08 22:22:51,968 WARN L170 areAnnotationChecker]: L908 has no Hoare annotation [2020-07-08 22:22:51,968 WARN L170 areAnnotationChecker]: L908 has no Hoare annotation [2020-07-08 22:22:51,968 WARN L170 areAnnotationChecker]: L874 has no Hoare annotation [2020-07-08 22:22:51,968 WARN L170 areAnnotationChecker]: L875 has no Hoare annotation [2020-07-08 22:22:51,969 WARN L170 areAnnotationChecker]: L907 has no Hoare annotation [2020-07-08 22:22:51,969 WARN L170 areAnnotationChecker]: L907 has no Hoare annotation [2020-07-08 22:22:51,969 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-08 22:22:51,969 WARN L170 areAnnotationChecker]: __getMemoryFINAL has no Hoare annotation [2020-07-08 22:22:51,969 WARN L170 areAnnotationChecker]: __getMemoryEXIT has no Hoare annotation [2020-07-08 22:22:51,969 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-08 22:22:51,972 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.07 10:22:51 BoogieIcfgContainer [2020-07-08 22:22:51,973 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-08 22:22:51,975 INFO L168 Benchmark]: Toolchain (without parser) took 64527.63 ms. Allocated memory was 138.4 MB in the beginning and 610.8 MB in the end (delta: 472.4 MB). Free memory was 102.8 MB in the beginning and 411.8 MB in the end (delta: -309.0 MB). Peak memory consumption was 163.3 MB. Max. memory is 7.1 GB. [2020-07-08 22:22:51,975 INFO L168 Benchmark]: CDTParser took 0.21 ms. Allocated memory is still 138.4 MB. Free memory was 121.8 MB in the beginning and 121.6 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. [2020-07-08 22:22:51,976 INFO L168 Benchmark]: CACSL2BoogieTranslator took 725.27 ms. Allocated memory was 138.4 MB in the beginning and 202.9 MB in the end (delta: 64.5 MB). Free memory was 102.6 MB in the beginning and 167.6 MB in the end (delta: -65.0 MB). Peak memory consumption was 26.7 MB. Max. memory is 7.1 GB. [2020-07-08 22:22:51,977 INFO L168 Benchmark]: Boogie Preprocessor took 64.15 ms. Allocated memory is still 202.9 MB. Free memory was 167.6 MB in the beginning and 164.1 MB in the end (delta: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 7.1 GB. [2020-07-08 22:22:51,977 INFO L168 Benchmark]: RCFGBuilder took 774.58 ms. Allocated memory is still 202.9 MB. Free memory was 164.1 MB in the beginning and 105.2 MB in the end (delta: 58.9 MB). Peak memory consumption was 58.9 MB. Max. memory is 7.1 GB. [2020-07-08 22:22:51,978 INFO L168 Benchmark]: TraceAbstraction took 62958.73 ms. Allocated memory was 202.9 MB in the beginning and 610.8 MB in the end (delta: 407.9 MB). Free memory was 104.5 MB in the beginning and 411.8 MB in the end (delta: -307.3 MB). Peak memory consumption was 100.6 MB. Max. memory is 7.1 GB. [2020-07-08 22:22:51,980 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.21 ms. Allocated memory is still 138.4 MB. Free memory was 121.8 MB in the beginning and 121.6 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 725.27 ms. Allocated memory was 138.4 MB in the beginning and 202.9 MB in the end (delta: 64.5 MB). Free memory was 102.6 MB in the beginning and 167.6 MB in the end (delta: -65.0 MB). Peak memory consumption was 26.7 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 64.15 ms. Allocated memory is still 202.9 MB. Free memory was 167.6 MB in the beginning and 164.1 MB in the end (delta: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 7.1 GB. * RCFGBuilder took 774.58 ms. Allocated memory is still 202.9 MB. Free memory was 164.1 MB in the beginning and 105.2 MB in the end (delta: 58.9 MB). Peak memory consumption was 58.9 MB. Max. memory is 7.1 GB. * TraceAbstraction took 62958.73 ms. Allocated memory was 202.9 MB in the beginning and 610.8 MB in the end (delta: 407.9 MB). Free memory was 104.5 MB in the beginning and 411.8 MB in the end (delta: -307.3 MB). Peak memory consumption was 100.6 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# - 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# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 16 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 13 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; VAL [\old(elem)=9, \old(elem)=14, \old(guard_malloc_counter)=12, \old(guard_malloc_counter)=11, \old(head)=null, \old(head)=null, elem={14:9}, guard_malloc_counter={0:0}, head={16:13}] [L887] struct list_head *elem = ((void *)0); VAL [\old(elem)=14, \old(elem)=9, \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={16:13}] [L900] static struct list_head head; VAL [\old(elem)=14, \old(elem)=9, \old(guard_malloc_counter)=11, \old(guard_malloc_counter)=12, \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++ 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:1}, head={3:0}, size=8] [L873] COND FALSE !(!__VERIFIER_nondet_int()) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, __VERIFIER_nondet_int()=1, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, size=8] [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); VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, \result={0:1}, __getMemory(size)={0:1}, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, size=8] [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)) 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:1}, head={3:0}, my_malloc(sizeof(*dev1))={0:1}] [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)=0, \old(guard_malloc_counter)=1, \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++ VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=1, \old(size)=8, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, size=8] [L873] COND FALSE !(!__VERIFIER_nondet_int()) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=1, \old(size)=8, __VERIFIER_nondet_int()=1, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, size=8] [L875] return (void *) guard_malloc_counter; VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=1, \old(guard_malloc_counter)=0, \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); VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=1, \old(size)=8, \result={0:2}, __getMemory(size)={0:2}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, size=8] [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)) 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}, my_malloc(sizeof(*dev2))={0:2}] [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 FALSE !(__VERIFIER_nondet_int()) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, __VERIFIER_nondet_int()=0, elem={0:0}, 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:0}, guard_malloc_counter={0:2}, head={3:0}] [L908] CALL list_add(dev1, &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:1}] [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:1}, new={0:1}] [L891] COND TRUE __VERIFIER_nondet_int() VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, __VERIFIER_nondet_int()=1, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:1}, new={0:1}] [L892] elem = new VAL [\old(elem)=0, \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)=1, \old(elem)=0, \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)=1, \old(elem)=0, \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)=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: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()) VAL [\old(elem)=1, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, __VERIFIER_nondet_int()=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:2}, new={0:2}] [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)=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: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)=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}] - StatisticsResult: Ultimate Automizer benchmark data CFG has 8 procedures, 71 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 62.7s, OverallIterations: 12, TraceHistogramMax: 4, AutomataDifference: 47.4s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 629 SDtfs, 1079 SDslu, 2227 SDs, 0 SdLazy, 7454 SolverSat, 595 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 14.9s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 454 GetRequests, 141 SyntacticMatches, 1 SemanticMatches, 312 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1428 ImplicationChecksByTransitivity, 9.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=112occurred in iteration=7, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 5.0s AutomataMinimizationTime, 11 MinimizatonAttempts, 72 StatesRemovedByMinimization, 10 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 5.9s InterpolantComputationTime, 875 NumberOfCodeBlocks, 875 NumberOfCodeBlocksAsserted, 12 NumberOfCheckSat, 770 ConstructedInterpolants, 0 QuantifiedInterpolants, 225364 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 11 InterpolantComputations, 2 PerfectInterpolantSequences, 170/259 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...