/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/list-ext2-properties/list_and_tree_cnstr-1.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-8fc6572 [2020-07-11 01:09:01,148 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-11 01:09:01,151 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-11 01:09:01,171 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-11 01:09:01,171 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-11 01:09:01,173 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-11 01:09:01,175 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-11 01:09:01,187 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-11 01:09:01,191 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-11 01:09:01,195 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-11 01:09:01,197 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-11 01:09:01,198 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-11 01:09:01,198 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-11 01:09:01,199 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-11 01:09:01,202 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-11 01:09:01,204 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-11 01:09:01,205 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-11 01:09:01,207 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-11 01:09:01,209 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-11 01:09:01,215 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-11 01:09:01,221 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-11 01:09:01,224 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-11 01:09:01,226 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-11 01:09:01,226 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-11 01:09:01,229 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-11 01:09:01,229 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-11 01:09:01,229 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-11 01:09:01,232 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-11 01:09:01,232 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-11 01:09:01,234 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-11 01:09:01,235 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-11 01:09:01,236 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-11 01:09:01,237 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-11 01:09:01,238 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-11 01:09:01,239 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-11 01:09:01,239 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-11 01:09:01,240 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-11 01:09:01,240 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-11 01:09:01,240 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-11 01:09:01,241 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-11 01:09:01,243 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-11 01:09:01,244 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf [2020-07-11 01:09:01,261 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-11 01:09:01,261 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-11 01:09:01,266 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-11 01:09:01,266 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-11 01:09:01,266 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-11 01:09:01,266 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-11 01:09:01,267 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-11 01:09:01,267 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-11 01:09:01,267 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-11 01:09:01,267 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-11 01:09:01,267 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-11 01:09:01,267 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-11 01:09:01,268 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-11 01:09:01,268 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-11 01:09:01,268 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-11 01:09:01,271 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-11 01:09:01,272 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-11 01:09:01,272 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-11 01:09:01,272 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-11 01:09:01,272 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-11 01:09:01,272 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-11 01:09:01,273 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-11 01:09:01,273 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-11 01:09:01,577 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-11 01:09:01,594 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-11 01:09:01,601 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-11 01:09:01,603 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-11 01:09:01,603 INFO L275 PluginConnector]: CDTParser initialized [2020-07-11 01:09:01,604 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/list-ext2-properties/list_and_tree_cnstr-1.i [2020-07-11 01:09:01,678 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a7d49b1c5/2900b37c7f79453498744896f754833d/FLAG2e6734d39 [2020-07-11 01:09:02,248 INFO L306 CDTParser]: Found 1 translation units. [2020-07-11 01:09:02,248 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/list-ext2-properties/list_and_tree_cnstr-1.i [2020-07-11 01:09:02,264 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a7d49b1c5/2900b37c7f79453498744896f754833d/FLAG2e6734d39 [2020-07-11 01:09:02,501 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a7d49b1c5/2900b37c7f79453498744896f754833d [2020-07-11 01:09:02,511 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-11 01:09:02,513 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-11 01:09:02,514 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-11 01:09:02,514 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-11 01:09:02,518 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-11 01:09:02,519 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 11.07 01:09:02" (1/1) ... [2020-07-11 01:09:02,523 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@579d2d59 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:09:02, skipping insertion in model container [2020-07-11 01:09:02,523 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 11.07 01:09:02" (1/1) ... [2020-07-11 01:09:02,531 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-11 01:09:02,579 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-11 01:09:03,046 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-11 01:09:03,058 INFO L203 MainTranslator]: Completed pre-run [2020-07-11 01:09:03,149 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-11 01:09:03,227 INFO L208 MainTranslator]: Completed translation [2020-07-11 01:09:03,227 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:09:03 WrapperNode [2020-07-11 01:09:03,228 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-11 01:09:03,228 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-11 01:09:03,229 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-11 01:09:03,229 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-11 01:09:03,245 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:09:03" (1/1) ... [2020-07-11 01:09:03,245 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:09:03" (1/1) ... [2020-07-11 01:09:03,277 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:09:03" (1/1) ... [2020-07-11 01:09:03,278 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:09:03" (1/1) ... [2020-07-11 01:09:03,314 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:09:03" (1/1) ... [2020-07-11 01:09:03,324 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:09:03" (1/1) ... [2020-07-11 01:09:03,328 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:09:03" (1/1) ... [2020-07-11 01:09:03,340 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-11 01:09:03,344 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-11 01:09:03,344 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-11 01:09:03,344 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-11 01:09:03,345 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:09:03" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-11 01:09:03,411 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-11 01:09:03,413 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-11 01:09:03,414 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_32 [2020-07-11 01:09:03,414 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_64 [2020-07-11 01:09:03,414 INFO L138 BoogieDeclarations]: Found implementation of procedure myexit [2020-07-11 01:09:03,414 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-11 01:09:03,414 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-11 01:09:03,415 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-11 01:09:03,415 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2020-07-11 01:09:03,415 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2020-07-11 01:09:03,415 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2020-07-11 01:09:03,415 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2020-07-11 01:09:03,415 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2020-07-11 01:09:03,416 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2020-07-11 01:09:03,416 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2020-07-11 01:09:03,416 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2020-07-11 01:09:03,417 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2020-07-11 01:09:03,417 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2020-07-11 01:09:03,417 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2020-07-11 01:09:03,418 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2020-07-11 01:09:03,418 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2020-07-11 01:09:03,419 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2020-07-11 01:09:03,419 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2020-07-11 01:09:03,420 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2020-07-11 01:09:03,420 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_32 [2020-07-11 01:09:03,420 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_64 [2020-07-11 01:09:03,420 INFO L130 BoogieDeclarations]: Found specification of procedure select [2020-07-11 01:09:03,421 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2020-07-11 01:09:03,421 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2020-07-11 01:09:03,422 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2020-07-11 01:09:03,422 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2020-07-11 01:09:03,422 INFO L130 BoogieDeclarations]: Found specification of procedure random [2020-07-11 01:09:03,424 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2020-07-11 01:09:03,424 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2020-07-11 01:09:03,425 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2020-07-11 01:09:03,425 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2020-07-11 01:09:03,425 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2020-07-11 01:09:03,425 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2020-07-11 01:09:03,425 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2020-07-11 01:09:03,425 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2020-07-11 01:09:03,425 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2020-07-11 01:09:03,426 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2020-07-11 01:09:03,426 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2020-07-11 01:09:03,426 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2020-07-11 01:09:03,426 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2020-07-11 01:09:03,426 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2020-07-11 01:09:03,426 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2020-07-11 01:09:03,426 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2020-07-11 01:09:03,426 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2020-07-11 01:09:03,426 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2020-07-11 01:09:03,427 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2020-07-11 01:09:03,427 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2020-07-11 01:09:03,427 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2020-07-11 01:09:03,427 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2020-07-11 01:09:03,427 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2020-07-11 01:09:03,427 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2020-07-11 01:09:03,427 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2020-07-11 01:09:03,427 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2020-07-11 01:09:03,427 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2020-07-11 01:09:03,427 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2020-07-11 01:09:03,428 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-11 01:09:03,428 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-11 01:09:03,428 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-11 01:09:03,428 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-11 01:09:03,428 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-11 01:09:03,428 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2020-07-11 01:09:03,429 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-11 01:09:03,429 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2020-07-11 01:09:03,429 INFO L130 BoogieDeclarations]: Found specification of procedure aligned_alloc [2020-07-11 01:09:03,429 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-11 01:09:03,429 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2020-07-11 01:09:03,429 INFO L130 BoogieDeclarations]: Found specification of procedure at_quick_exit [2020-07-11 01:09:03,429 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2020-07-11 01:09:03,429 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2020-07-11 01:09:03,430 INFO L130 BoogieDeclarations]: Found specification of procedure quick_exit [2020-07-11 01:09:03,430 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2020-07-11 01:09:03,430 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2020-07-11 01:09:03,431 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2020-07-11 01:09:03,431 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2020-07-11 01:09:03,431 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2020-07-11 01:09:03,431 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2020-07-11 01:09:03,432 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2020-07-11 01:09:03,432 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2020-07-11 01:09:03,432 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2020-07-11 01:09:03,432 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2020-07-11 01:09:03,432 INFO L130 BoogieDeclarations]: Found specification of procedure system [2020-07-11 01:09:03,432 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2020-07-11 01:09:03,433 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2020-07-11 01:09:03,433 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2020-07-11 01:09:03,433 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2020-07-11 01:09:03,433 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2020-07-11 01:09:03,434 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2020-07-11 01:09:03,434 INFO L130 BoogieDeclarations]: Found specification of procedure div [2020-07-11 01:09:03,434 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2020-07-11 01:09:03,434 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2020-07-11 01:09:03,435 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2020-07-11 01:09:03,435 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2020-07-11 01:09:03,435 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2020-07-11 01:09:03,435 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2020-07-11 01:09:03,435 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2020-07-11 01:09:03,435 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2020-07-11 01:09:03,435 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2020-07-11 01:09:03,436 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2020-07-11 01:09:03,436 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2020-07-11 01:09:03,436 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2020-07-11 01:09:03,436 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2020-07-11 01:09:03,436 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2020-07-11 01:09:03,436 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2020-07-11 01:09:03,436 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2020-07-11 01:09:03,436 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2020-07-11 01:09:03,436 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2020-07-11 01:09:03,436 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2020-07-11 01:09:03,436 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2020-07-11 01:09:03,437 INFO L130 BoogieDeclarations]: Found specification of procedure myexit [2020-07-11 01:09:03,437 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-11 01:09:03,437 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2020-07-11 01:09:03,437 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-11 01:09:03,438 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-11 01:09:03,438 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-11 01:09:03,438 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-11 01:09:03,438 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-11 01:09:03,438 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-11 01:09:03,438 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-11 01:09:03,864 INFO L728 $ProcedureCfgBuilder]: dead code at ProgramPoint myexitFINAL: assume true; [2020-07-11 01:09:04,539 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-11 01:09:04,539 INFO L295 CfgBuilder]: Removed 8 assume(true) statements. [2020-07-11 01:09:04,544 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 11.07 01:09:04 BoogieIcfgContainer [2020-07-11 01:09:04,544 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-11 01:09:04,545 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-11 01:09:04,545 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-11 01:09:04,554 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-11 01:09:04,554 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 11.07 01:09:02" (1/3) ... [2020-07-11 01:09:04,555 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3d781320 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 11.07 01:09:04, skipping insertion in model container [2020-07-11 01:09:04,555 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:09:03" (2/3) ... [2020-07-11 01:09:04,556 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3d781320 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 11.07 01:09:04, skipping insertion in model container [2020-07-11 01:09:04,556 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 11.07 01:09:04" (3/3) ... [2020-07-11 01:09:04,558 INFO L109 eAbstractionObserver]: Analyzing ICFG list_and_tree_cnstr-1.i [2020-07-11 01:09:04,573 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-11 01:09:04,585 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-11 01:09:04,605 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-11 01:09:04,640 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-11 01:09:04,640 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-11 01:09:04,640 INFO L377 AbstractCegarLoop]: Compute interpolants for Craig_NestedInterpolation [2020-07-11 01:09:04,640 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-11 01:09:04,641 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-11 01:09:04,641 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-11 01:09:04,641 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-11 01:09:04,641 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-11 01:09:04,663 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states. [2020-07-11 01:09:04,678 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2020-07-11 01:09:04,678 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:09:04,680 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:09:04,680 INFO L427 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:09:04,687 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:09:04,687 INFO L82 PathProgramCache]: Analyzing trace with hash -652445128, now seen corresponding path program 1 times [2020-07-11 01:09:04,697 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:09:04,697 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [340586146] [2020-07-11 01:09:04,698 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:09:04,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:04,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:04,938 INFO L280 TraceCheckUtils]: 0: Hoare triple {187#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {180#true} is VALID [2020-07-11 01:09:04,939 INFO L280 TraceCheckUtils]: 1: Hoare triple {180#true} #valid := #valid[0 := 0]; {180#true} is VALID [2020-07-11 01:09:04,940 INFO L280 TraceCheckUtils]: 2: Hoare triple {180#true} assume 0 < #StackHeapBarrier; {180#true} is VALID [2020-07-11 01:09:04,940 INFO L280 TraceCheckUtils]: 3: Hoare triple {180#true} assume true; {180#true} is VALID [2020-07-11 01:09:04,941 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {180#true} {180#true} #349#return; {180#true} is VALID [2020-07-11 01:09:04,944 INFO L263 TraceCheckUtils]: 0: Hoare triple {180#true} call ULTIMATE.init(); {187#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-11 01:09:04,945 INFO L280 TraceCheckUtils]: 1: Hoare triple {187#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {180#true} is VALID [2020-07-11 01:09:04,945 INFO L280 TraceCheckUtils]: 2: Hoare triple {180#true} #valid := #valid[0 := 0]; {180#true} is VALID [2020-07-11 01:09:04,946 INFO L280 TraceCheckUtils]: 3: Hoare triple {180#true} assume 0 < #StackHeapBarrier; {180#true} is VALID [2020-07-11 01:09:04,946 INFO L280 TraceCheckUtils]: 4: Hoare triple {180#true} assume true; {180#true} is VALID [2020-07-11 01:09:04,946 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {180#true} {180#true} #349#return; {180#true} is VALID [2020-07-11 01:09:04,947 INFO L263 TraceCheckUtils]: 6: Hoare triple {180#true} call #t~ret41 := main(); {180#true} is VALID [2020-07-11 01:09:04,947 INFO L280 TraceCheckUtils]: 7: Hoare triple {180#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {180#true} is VALID [2020-07-11 01:09:04,948 INFO L280 TraceCheckUtils]: 8: Hoare triple {180#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {180#true} is VALID [2020-07-11 01:09:04,948 INFO L280 TraceCheckUtils]: 9: Hoare triple {180#true} havoc ~n~0.base, ~n~0.offset; {180#true} is VALID [2020-07-11 01:09:04,949 INFO L280 TraceCheckUtils]: 10: Hoare triple {180#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {180#true} is VALID [2020-07-11 01:09:04,949 INFO L280 TraceCheckUtils]: 11: Hoare triple {180#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {180#true} is VALID [2020-07-11 01:09:04,951 INFO L280 TraceCheckUtils]: 12: Hoare triple {180#true} assume !true; {181#false} is VALID [2020-07-11 01:09:04,952 INFO L280 TraceCheckUtils]: 13: Hoare triple {181#false} ~n~0.base, ~n~0.offset := 0, 0; {181#false} is VALID [2020-07-11 01:09:04,952 INFO L280 TraceCheckUtils]: 14: Hoare triple {181#false} havoc ~pred~0.base, ~pred~0.offset; {181#false} is VALID [2020-07-11 01:09:04,953 INFO L280 TraceCheckUtils]: 15: Hoare triple {181#false} assume !(~root~0.base != 0 || ~root~0.offset != 0); {181#false} is VALID [2020-07-11 01:09:04,953 INFO L280 TraceCheckUtils]: 16: Hoare triple {181#false} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {181#false} is VALID [2020-07-11 01:09:04,954 INFO L280 TraceCheckUtils]: 17: Hoare triple {181#false} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {181#false} is VALID [2020-07-11 01:09:04,954 INFO L280 TraceCheckUtils]: 18: Hoare triple {181#false} assume !(~a~0.base == 0 && ~a~0.offset == 0); {181#false} is VALID [2020-07-11 01:09:04,954 INFO L280 TraceCheckUtils]: 19: Hoare triple {181#false} havoc ~t~0.base, ~t~0.offset; {181#false} is VALID [2020-07-11 01:09:04,955 INFO L280 TraceCheckUtils]: 20: Hoare triple {181#false} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {181#false} is VALID [2020-07-11 01:09:04,955 INFO L280 TraceCheckUtils]: 21: Hoare triple {181#false} assume !true; {181#false} is VALID [2020-07-11 01:09:04,955 INFO L280 TraceCheckUtils]: 22: Hoare triple {181#false} assume !true; {181#false} is VALID [2020-07-11 01:09:04,956 INFO L280 TraceCheckUtils]: 23: Hoare triple {181#false} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {181#false} is VALID [2020-07-11 01:09:04,956 INFO L280 TraceCheckUtils]: 24: Hoare triple {181#false} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {181#false} is VALID [2020-07-11 01:09:04,957 INFO L280 TraceCheckUtils]: 25: Hoare triple {181#false} assume !true; {181#false} is VALID [2020-07-11 01:09:04,957 INFO L280 TraceCheckUtils]: 26: Hoare triple {181#false} assume !true; {181#false} is VALID [2020-07-11 01:09:04,957 INFO L280 TraceCheckUtils]: 27: Hoare triple {181#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {181#false} is VALID [2020-07-11 01:09:04,957 INFO L280 TraceCheckUtils]: 28: Hoare triple {181#false} assume 3 != #t~mem40; {181#false} is VALID [2020-07-11 01:09:04,958 INFO L280 TraceCheckUtils]: 29: Hoare triple {181#false} havoc #t~mem40; {181#false} is VALID [2020-07-11 01:09:04,958 INFO L280 TraceCheckUtils]: 30: Hoare triple {181#false} assume !false; {181#false} is VALID [2020-07-11 01:09:04,962 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-11 01:09:04,963 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [340586146] [2020-07-11 01:09:04,965 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-11 01:09:04,966 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-07-11 01:09:04,967 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1215439527] [2020-07-11 01:09:04,977 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 31 [2020-07-11 01:09:04,980 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:09:04,986 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-11 01:09:05,047 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:05,048 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-11 01:09:05,048 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:09:05,058 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-11 01:09:05,059 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-11 01:09:05,061 INFO L87 Difference]: Start difference. First operand 177 states. Second operand 3 states. [2020-07-11 01:09:06,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:06,080 INFO L93 Difference]: Finished difference Result 342 states and 400 transitions. [2020-07-11 01:09:06,080 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-11 01:09:06,080 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 31 [2020-07-11 01:09:06,080 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:09:06,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-11 01:09:06,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 400 transitions. [2020-07-11 01:09:06,104 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-11 01:09:06,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 400 transitions. [2020-07-11 01:09:06,113 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 400 transitions. [2020-07-11 01:09:06,572 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 400 edges. 400 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:06,600 INFO L225 Difference]: With dead ends: 342 [2020-07-11 01:09:06,600 INFO L226 Difference]: Without dead ends: 166 [2020-07-11 01:09:06,605 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-11 01:09:06,626 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 166 states. [2020-07-11 01:09:06,731 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 166 to 166. [2020-07-11 01:09:06,731 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:09:06,732 INFO L82 GeneralOperation]: Start isEquivalent. First operand 166 states. Second operand 166 states. [2020-07-11 01:09:06,732 INFO L74 IsIncluded]: Start isIncluded. First operand 166 states. Second operand 166 states. [2020-07-11 01:09:06,732 INFO L87 Difference]: Start difference. First operand 166 states. Second operand 166 states. [2020-07-11 01:09:06,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:06,748 INFO L93 Difference]: Finished difference Result 166 states and 183 transitions. [2020-07-11 01:09:06,748 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 183 transitions. [2020-07-11 01:09:06,750 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:06,751 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:06,751 INFO L74 IsIncluded]: Start isIncluded. First operand 166 states. Second operand 166 states. [2020-07-11 01:09:06,751 INFO L87 Difference]: Start difference. First operand 166 states. Second operand 166 states. [2020-07-11 01:09:06,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:06,766 INFO L93 Difference]: Finished difference Result 166 states and 183 transitions. [2020-07-11 01:09:06,766 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 183 transitions. [2020-07-11 01:09:06,768 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:06,768 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:06,768 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:09:06,768 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:09:06,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 166 states. [2020-07-11 01:09:06,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 183 transitions. [2020-07-11 01:09:06,782 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 183 transitions. Word has length 31 [2020-07-11 01:09:06,783 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:09:06,783 INFO L479 AbstractCegarLoop]: Abstraction has 166 states and 183 transitions. [2020-07-11 01:09:06,783 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-11 01:09:06,783 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 166 states and 183 transitions. [2020-07-11 01:09:06,974 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 183 edges. 183 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:06,975 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 183 transitions. [2020-07-11 01:09:06,978 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2020-07-11 01:09:06,978 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:09:06,978 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:09:06,979 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-11 01:09:06,979 INFO L427 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:09:06,979 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:09:06,979 INFO L82 PathProgramCache]: Analyzing trace with hash 473660712, now seen corresponding path program 1 times [2020-07-11 01:09:06,980 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:09:06,980 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [716529168] [2020-07-11 01:09:06,980 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:09:07,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:07,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:07,146 INFO L280 TraceCheckUtils]: 0: Hoare triple {1547#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1538#true} is VALID [2020-07-11 01:09:07,147 INFO L280 TraceCheckUtils]: 1: Hoare triple {1538#true} #valid := #valid[0 := 0]; {1538#true} is VALID [2020-07-11 01:09:07,147 INFO L280 TraceCheckUtils]: 2: Hoare triple {1538#true} assume 0 < #StackHeapBarrier; {1538#true} is VALID [2020-07-11 01:09:07,147 INFO L280 TraceCheckUtils]: 3: Hoare triple {1538#true} assume true; {1538#true} is VALID [2020-07-11 01:09:07,148 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1538#true} {1538#true} #349#return; {1538#true} is VALID [2020-07-11 01:09:07,149 INFO L263 TraceCheckUtils]: 0: Hoare triple {1538#true} call ULTIMATE.init(); {1547#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-11 01:09:07,150 INFO L280 TraceCheckUtils]: 1: Hoare triple {1547#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1538#true} is VALID [2020-07-11 01:09:07,150 INFO L280 TraceCheckUtils]: 2: Hoare triple {1538#true} #valid := #valid[0 := 0]; {1538#true} is VALID [2020-07-11 01:09:07,154 INFO L280 TraceCheckUtils]: 3: Hoare triple {1538#true} assume 0 < #StackHeapBarrier; {1538#true} is VALID [2020-07-11 01:09:07,155 INFO L280 TraceCheckUtils]: 4: Hoare triple {1538#true} assume true; {1538#true} is VALID [2020-07-11 01:09:07,155 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1538#true} {1538#true} #349#return; {1538#true} is VALID [2020-07-11 01:09:07,155 INFO L263 TraceCheckUtils]: 6: Hoare triple {1538#true} call #t~ret41 := main(); {1538#true} is VALID [2020-07-11 01:09:07,158 INFO L280 TraceCheckUtils]: 7: Hoare triple {1538#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {1545#(not (= 0 |main_#t~malloc2.base|))} is VALID [2020-07-11 01:09:07,159 INFO L280 TraceCheckUtils]: 8: Hoare triple {1545#(not (= 0 |main_#t~malloc2.base|))} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {1546#(not (= 0 main_~root~0.base))} is VALID [2020-07-11 01:09:07,160 INFO L280 TraceCheckUtils]: 9: Hoare triple {1546#(not (= 0 main_~root~0.base))} havoc ~n~0.base, ~n~0.offset; {1546#(not (= 0 main_~root~0.base))} is VALID [2020-07-11 01:09:07,161 INFO L280 TraceCheckUtils]: 10: Hoare triple {1546#(not (= 0 main_~root~0.base))} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {1546#(not (= 0 main_~root~0.base))} is VALID [2020-07-11 01:09:07,161 INFO L280 TraceCheckUtils]: 11: Hoare triple {1546#(not (= 0 main_~root~0.base))} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {1546#(not (= 0 main_~root~0.base))} is VALID [2020-07-11 01:09:07,162 INFO L280 TraceCheckUtils]: 12: Hoare triple {1546#(not (= 0 main_~root~0.base))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {1546#(not (= 0 main_~root~0.base))} is VALID [2020-07-11 01:09:07,163 INFO L280 TraceCheckUtils]: 13: Hoare triple {1546#(not (= 0 main_~root~0.base))} assume !(0 != #t~nondet3); {1546#(not (= 0 main_~root~0.base))} is VALID [2020-07-11 01:09:07,164 INFO L280 TraceCheckUtils]: 14: Hoare triple {1546#(not (= 0 main_~root~0.base))} havoc #t~nondet3; {1546#(not (= 0 main_~root~0.base))} is VALID [2020-07-11 01:09:07,164 INFO L280 TraceCheckUtils]: 15: Hoare triple {1546#(not (= 0 main_~root~0.base))} ~n~0.base, ~n~0.offset := 0, 0; {1546#(not (= 0 main_~root~0.base))} is VALID [2020-07-11 01:09:07,165 INFO L280 TraceCheckUtils]: 16: Hoare triple {1546#(not (= 0 main_~root~0.base))} havoc ~pred~0.base, ~pred~0.offset; {1546#(not (= 0 main_~root~0.base))} is VALID [2020-07-11 01:09:07,166 INFO L280 TraceCheckUtils]: 17: Hoare triple {1546#(not (= 0 main_~root~0.base))} assume !(~root~0.base != 0 || ~root~0.offset != 0); {1539#false} is VALID [2020-07-11 01:09:07,166 INFO L280 TraceCheckUtils]: 18: Hoare triple {1539#false} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {1539#false} is VALID [2020-07-11 01:09:07,166 INFO L280 TraceCheckUtils]: 19: Hoare triple {1539#false} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {1539#false} is VALID [2020-07-11 01:09:07,167 INFO L280 TraceCheckUtils]: 20: Hoare triple {1539#false} assume !(~a~0.base == 0 && ~a~0.offset == 0); {1539#false} is VALID [2020-07-11 01:09:07,167 INFO L280 TraceCheckUtils]: 21: Hoare triple {1539#false} havoc ~t~0.base, ~t~0.offset; {1539#false} is VALID [2020-07-11 01:09:07,167 INFO L280 TraceCheckUtils]: 22: Hoare triple {1539#false} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {1539#false} is VALID [2020-07-11 01:09:07,168 INFO L280 TraceCheckUtils]: 23: Hoare triple {1539#false} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {1539#false} is VALID [2020-07-11 01:09:07,168 INFO L280 TraceCheckUtils]: 24: Hoare triple {1539#false} assume !(0 != #t~nondet30); {1539#false} is VALID [2020-07-11 01:09:07,168 INFO L280 TraceCheckUtils]: 25: Hoare triple {1539#false} havoc #t~nondet30; {1539#false} is VALID [2020-07-11 01:09:07,169 INFO L280 TraceCheckUtils]: 26: Hoare triple {1539#false} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {1539#false} is VALID [2020-07-11 01:09:07,169 INFO L280 TraceCheckUtils]: 27: Hoare triple {1539#false} assume !(0 != #t~nondet33); {1539#false} is VALID [2020-07-11 01:09:07,169 INFO L280 TraceCheckUtils]: 28: Hoare triple {1539#false} havoc #t~nondet33; {1539#false} is VALID [2020-07-11 01:09:07,169 INFO L280 TraceCheckUtils]: 29: Hoare triple {1539#false} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {1539#false} is VALID [2020-07-11 01:09:07,170 INFO L280 TraceCheckUtils]: 30: Hoare triple {1539#false} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {1539#false} is VALID [2020-07-11 01:09:07,170 INFO L280 TraceCheckUtils]: 31: Hoare triple {1539#false} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {1539#false} is VALID [2020-07-11 01:09:07,170 INFO L280 TraceCheckUtils]: 32: Hoare triple {1539#false} assume !(2 == #t~mem36); {1539#false} is VALID [2020-07-11 01:09:07,171 INFO L280 TraceCheckUtils]: 33: Hoare triple {1539#false} havoc #t~mem36; {1539#false} is VALID [2020-07-11 01:09:07,171 INFO L280 TraceCheckUtils]: 34: Hoare triple {1539#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {1539#false} is VALID [2020-07-11 01:09:07,171 INFO L280 TraceCheckUtils]: 35: Hoare triple {1539#false} assume !(1 == #t~mem38); {1539#false} is VALID [2020-07-11 01:09:07,171 INFO L280 TraceCheckUtils]: 36: Hoare triple {1539#false} havoc #t~mem38; {1539#false} is VALID [2020-07-11 01:09:07,172 INFO L280 TraceCheckUtils]: 37: Hoare triple {1539#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {1539#false} is VALID [2020-07-11 01:09:07,172 INFO L280 TraceCheckUtils]: 38: Hoare triple {1539#false} assume 3 != #t~mem40; {1539#false} is VALID [2020-07-11 01:09:07,172 INFO L280 TraceCheckUtils]: 39: Hoare triple {1539#false} havoc #t~mem40; {1539#false} is VALID [2020-07-11 01:09:07,172 INFO L280 TraceCheckUtils]: 40: Hoare triple {1539#false} assume !false; {1539#false} is VALID [2020-07-11 01:09:07,175 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-11 01:09:07,176 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [716529168] [2020-07-11 01:09:07,176 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-11 01:09:07,176 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-11 01:09:07,176 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1151912602] [2020-07-11 01:09:07,178 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 41 [2020-07-11 01:09:07,179 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:09:07,179 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-11 01:09:07,232 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:07,232 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-11 01:09:07,232 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:09:07,233 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-11 01:09:07,233 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-11 01:09:07,233 INFO L87 Difference]: Start difference. First operand 166 states and 183 transitions. Second operand 5 states. [2020-07-11 01:09:08,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:08,427 INFO L93 Difference]: Finished difference Result 251 states and 277 transitions. [2020-07-11 01:09:08,427 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-11 01:09:08,427 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 41 [2020-07-11 01:09:08,427 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:09:08,427 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-11 01:09:08,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 277 transitions. [2020-07-11 01:09:08,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-11 01:09:08,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 277 transitions. [2020-07-11 01:09:08,439 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 277 transitions. [2020-07-11 01:09:08,795 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 277 edges. 277 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:08,802 INFO L225 Difference]: With dead ends: 251 [2020-07-11 01:09:08,803 INFO L226 Difference]: Without dead ends: 201 [2020-07-11 01:09:08,804 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2020-07-11 01:09:08,805 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 201 states. [2020-07-11 01:09:09,097 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 201 to 200. [2020-07-11 01:09:09,098 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:09:09,098 INFO L82 GeneralOperation]: Start isEquivalent. First operand 201 states. Second operand 200 states. [2020-07-11 01:09:09,098 INFO L74 IsIncluded]: Start isIncluded. First operand 201 states. Second operand 200 states. [2020-07-11 01:09:09,098 INFO L87 Difference]: Start difference. First operand 201 states. Second operand 200 states. [2020-07-11 01:09:09,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:09,107 INFO L93 Difference]: Finished difference Result 201 states and 223 transitions. [2020-07-11 01:09:09,107 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 223 transitions. [2020-07-11 01:09:09,108 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:09,108 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:09,108 INFO L74 IsIncluded]: Start isIncluded. First operand 200 states. Second operand 201 states. [2020-07-11 01:09:09,109 INFO L87 Difference]: Start difference. First operand 200 states. Second operand 201 states. [2020-07-11 01:09:09,116 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:09,117 INFO L93 Difference]: Finished difference Result 201 states and 223 transitions. [2020-07-11 01:09:09,117 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 223 transitions. [2020-07-11 01:09:09,118 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:09,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:09,118 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:09:09,118 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:09:09,118 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 200 states. [2020-07-11 01:09:09,125 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 200 states to 200 states and 222 transitions. [2020-07-11 01:09:09,126 INFO L78 Accepts]: Start accepts. Automaton has 200 states and 222 transitions. Word has length 41 [2020-07-11 01:09:09,126 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:09:09,126 INFO L479 AbstractCegarLoop]: Abstraction has 200 states and 222 transitions. [2020-07-11 01:09:09,126 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-11 01:09:09,127 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 200 states and 222 transitions. [2020-07-11 01:09:09,419 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 222 edges. 222 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:09,419 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 222 transitions. [2020-07-11 01:09:09,420 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2020-07-11 01:09:09,421 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:09:09,421 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-11 01:09:09,421 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-11 01:09:09,421 INFO L427 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:09:09,421 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:09:09,422 INFO L82 PathProgramCache]: Analyzing trace with hash 1870874818, now seen corresponding path program 1 times [2020-07-11 01:09:09,422 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:09:09,422 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [58903092] [2020-07-11 01:09:09,422 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:09:09,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:09,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:09,531 INFO L280 TraceCheckUtils]: 0: Hoare triple {2864#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {2856#true} is VALID [2020-07-11 01:09:09,532 INFO L280 TraceCheckUtils]: 1: Hoare triple {2856#true} #valid := #valid[0 := 0]; {2856#true} is VALID [2020-07-11 01:09:09,532 INFO L280 TraceCheckUtils]: 2: Hoare triple {2856#true} assume 0 < #StackHeapBarrier; {2856#true} is VALID [2020-07-11 01:09:09,532 INFO L280 TraceCheckUtils]: 3: Hoare triple {2856#true} assume true; {2856#true} is VALID [2020-07-11 01:09:09,533 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {2856#true} {2856#true} #349#return; {2856#true} is VALID [2020-07-11 01:09:09,534 INFO L263 TraceCheckUtils]: 0: Hoare triple {2856#true} call ULTIMATE.init(); {2864#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-11 01:09:09,534 INFO L280 TraceCheckUtils]: 1: Hoare triple {2864#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {2856#true} is VALID [2020-07-11 01:09:09,535 INFO L280 TraceCheckUtils]: 2: Hoare triple {2856#true} #valid := #valid[0 := 0]; {2856#true} is VALID [2020-07-11 01:09:09,535 INFO L280 TraceCheckUtils]: 3: Hoare triple {2856#true} assume 0 < #StackHeapBarrier; {2856#true} is VALID [2020-07-11 01:09:09,535 INFO L280 TraceCheckUtils]: 4: Hoare triple {2856#true} assume true; {2856#true} is VALID [2020-07-11 01:09:09,536 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2856#true} {2856#true} #349#return; {2856#true} is VALID [2020-07-11 01:09:09,536 INFO L263 TraceCheckUtils]: 6: Hoare triple {2856#true} call #t~ret41 := main(); {2856#true} is VALID [2020-07-11 01:09:09,536 INFO L280 TraceCheckUtils]: 7: Hoare triple {2856#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {2856#true} is VALID [2020-07-11 01:09:09,536 INFO L280 TraceCheckUtils]: 8: Hoare triple {2856#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {2856#true} is VALID [2020-07-11 01:09:09,537 INFO L280 TraceCheckUtils]: 9: Hoare triple {2856#true} havoc ~n~0.base, ~n~0.offset; {2856#true} is VALID [2020-07-11 01:09:09,537 INFO L280 TraceCheckUtils]: 10: Hoare triple {2856#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {2856#true} is VALID [2020-07-11 01:09:09,537 INFO L280 TraceCheckUtils]: 11: Hoare triple {2856#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {2856#true} is VALID [2020-07-11 01:09:09,538 INFO L280 TraceCheckUtils]: 12: Hoare triple {2856#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {2856#true} is VALID [2020-07-11 01:09:09,538 INFO L280 TraceCheckUtils]: 13: Hoare triple {2856#true} assume !(0 != #t~nondet3); {2856#true} is VALID [2020-07-11 01:09:09,538 INFO L280 TraceCheckUtils]: 14: Hoare triple {2856#true} havoc #t~nondet3; {2856#true} is VALID [2020-07-11 01:09:09,539 INFO L280 TraceCheckUtils]: 15: Hoare triple {2856#true} ~n~0.base, ~n~0.offset := 0, 0; {2856#true} is VALID [2020-07-11 01:09:09,539 INFO L280 TraceCheckUtils]: 16: Hoare triple {2856#true} havoc ~pred~0.base, ~pred~0.offset; {2856#true} is VALID [2020-07-11 01:09:09,539 INFO L280 TraceCheckUtils]: 17: Hoare triple {2856#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {2856#true} is VALID [2020-07-11 01:09:09,540 INFO L280 TraceCheckUtils]: 18: Hoare triple {2856#true} ~pred~0.base, ~pred~0.offset := 0, 0; {2856#true} is VALID [2020-07-11 01:09:09,540 INFO L280 TraceCheckUtils]: 19: Hoare triple {2856#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {2856#true} is VALID [2020-07-11 01:09:09,540 INFO L280 TraceCheckUtils]: 20: Hoare triple {2856#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {2856#true} is VALID [2020-07-11 01:09:09,543 INFO L280 TraceCheckUtils]: 21: Hoare triple {2856#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {2856#true} is VALID [2020-07-11 01:09:09,549 INFO L280 TraceCheckUtils]: 22: Hoare triple {2856#true} assume #t~short24; {2863#|main_#t~short24|} is VALID [2020-07-11 01:09:09,550 INFO L280 TraceCheckUtils]: 23: Hoare triple {2863#|main_#t~short24|} assume !#t~short24; {2857#false} is VALID [2020-07-11 01:09:09,550 INFO L280 TraceCheckUtils]: 24: Hoare triple {2857#false} havoc #t~mem22.base, #t~mem22.offset; {2857#false} is VALID [2020-07-11 01:09:09,550 INFO L280 TraceCheckUtils]: 25: Hoare triple {2857#false} havoc #t~short24; {2857#false} is VALID [2020-07-11 01:09:09,551 INFO L280 TraceCheckUtils]: 26: Hoare triple {2857#false} havoc #t~mem23.base, #t~mem23.offset; {2857#false} is VALID [2020-07-11 01:09:09,551 INFO L280 TraceCheckUtils]: 27: Hoare triple {2857#false} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {2857#false} is VALID [2020-07-11 01:09:09,551 INFO L280 TraceCheckUtils]: 28: Hoare triple {2857#false} ~root~0.base, ~root~0.offset := 0, 0; {2857#false} is VALID [2020-07-11 01:09:09,551 INFO L280 TraceCheckUtils]: 29: Hoare triple {2857#false} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {2857#false} is VALID [2020-07-11 01:09:09,551 INFO L280 TraceCheckUtils]: 30: Hoare triple {2857#false} assume !(~root~0.base != 0 || ~root~0.offset != 0); {2857#false} is VALID [2020-07-11 01:09:09,552 INFO L280 TraceCheckUtils]: 31: Hoare triple {2857#false} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {2857#false} is VALID [2020-07-11 01:09:09,552 INFO L280 TraceCheckUtils]: 32: Hoare triple {2857#false} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {2857#false} is VALID [2020-07-11 01:09:09,552 INFO L280 TraceCheckUtils]: 33: Hoare triple {2857#false} assume !(~a~0.base == 0 && ~a~0.offset == 0); {2857#false} is VALID [2020-07-11 01:09:09,552 INFO L280 TraceCheckUtils]: 34: Hoare triple {2857#false} havoc ~t~0.base, ~t~0.offset; {2857#false} is VALID [2020-07-11 01:09:09,552 INFO L280 TraceCheckUtils]: 35: Hoare triple {2857#false} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {2857#false} is VALID [2020-07-11 01:09:09,553 INFO L280 TraceCheckUtils]: 36: Hoare triple {2857#false} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {2857#false} is VALID [2020-07-11 01:09:09,553 INFO L280 TraceCheckUtils]: 37: Hoare triple {2857#false} assume !(0 != #t~nondet30); {2857#false} is VALID [2020-07-11 01:09:09,553 INFO L280 TraceCheckUtils]: 38: Hoare triple {2857#false} havoc #t~nondet30; {2857#false} is VALID [2020-07-11 01:09:09,553 INFO L280 TraceCheckUtils]: 39: Hoare triple {2857#false} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {2857#false} is VALID [2020-07-11 01:09:09,553 INFO L280 TraceCheckUtils]: 40: Hoare triple {2857#false} assume !(0 != #t~nondet33); {2857#false} is VALID [2020-07-11 01:09:09,554 INFO L280 TraceCheckUtils]: 41: Hoare triple {2857#false} havoc #t~nondet33; {2857#false} is VALID [2020-07-11 01:09:09,554 INFO L280 TraceCheckUtils]: 42: Hoare triple {2857#false} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {2857#false} is VALID [2020-07-11 01:09:09,554 INFO L280 TraceCheckUtils]: 43: Hoare triple {2857#false} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {2857#false} is VALID [2020-07-11 01:09:09,554 INFO L280 TraceCheckUtils]: 44: Hoare triple {2857#false} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {2857#false} is VALID [2020-07-11 01:09:09,554 INFO L280 TraceCheckUtils]: 45: Hoare triple {2857#false} assume !(2 == #t~mem36); {2857#false} is VALID [2020-07-11 01:09:09,555 INFO L280 TraceCheckUtils]: 46: Hoare triple {2857#false} havoc #t~mem36; {2857#false} is VALID [2020-07-11 01:09:09,555 INFO L280 TraceCheckUtils]: 47: Hoare triple {2857#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {2857#false} is VALID [2020-07-11 01:09:09,555 INFO L280 TraceCheckUtils]: 48: Hoare triple {2857#false} assume !(1 == #t~mem38); {2857#false} is VALID [2020-07-11 01:09:09,555 INFO L280 TraceCheckUtils]: 49: Hoare triple {2857#false} havoc #t~mem38; {2857#false} is VALID [2020-07-11 01:09:09,556 INFO L280 TraceCheckUtils]: 50: Hoare triple {2857#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {2857#false} is VALID [2020-07-11 01:09:09,556 INFO L280 TraceCheckUtils]: 51: Hoare triple {2857#false} assume 3 != #t~mem40; {2857#false} is VALID [2020-07-11 01:09:09,556 INFO L280 TraceCheckUtils]: 52: Hoare triple {2857#false} havoc #t~mem40; {2857#false} is VALID [2020-07-11 01:09:09,556 INFO L280 TraceCheckUtils]: 53: Hoare triple {2857#false} assume !false; {2857#false} is VALID [2020-07-11 01:09:09,560 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-11 01:09:09,560 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [58903092] [2020-07-11 01:09:09,560 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-11 01:09:09,560 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-11 01:09:09,561 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [537177793] [2020-07-11 01:09:09,561 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 54 [2020-07-11 01:09:09,562 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:09:09,562 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-11 01:09:09,623 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:09,623 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-11 01:09:09,624 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:09:09,624 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-11 01:09:09,624 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-11 01:09:09,625 INFO L87 Difference]: Start difference. First operand 200 states and 222 transitions. Second operand 4 states. [2020-07-11 01:09:10,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:10,530 INFO L93 Difference]: Finished difference Result 321 states and 359 transitions. [2020-07-11 01:09:10,530 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-11 01:09:10,530 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 54 [2020-07-11 01:09:10,531 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:09:10,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-11 01:09:10,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 279 transitions. [2020-07-11 01:09:10,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-11 01:09:10,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 279 transitions. [2020-07-11 01:09:10,540 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 279 transitions. [2020-07-11 01:09:10,830 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 279 edges. 279 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:10,835 INFO L225 Difference]: With dead ends: 321 [2020-07-11 01:09:10,835 INFO L226 Difference]: Without dead ends: 202 [2020-07-11 01:09:10,836 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-11 01:09:10,837 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 202 states. [2020-07-11 01:09:11,109 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 202 to 202. [2020-07-11 01:09:11,109 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:09:11,110 INFO L82 GeneralOperation]: Start isEquivalent. First operand 202 states. Second operand 202 states. [2020-07-11 01:09:11,110 INFO L74 IsIncluded]: Start isIncluded. First operand 202 states. Second operand 202 states. [2020-07-11 01:09:11,110 INFO L87 Difference]: Start difference. First operand 202 states. Second operand 202 states. [2020-07-11 01:09:11,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:11,118 INFO L93 Difference]: Finished difference Result 202 states and 224 transitions. [2020-07-11 01:09:11,118 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 224 transitions. [2020-07-11 01:09:11,119 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:11,119 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:11,119 INFO L74 IsIncluded]: Start isIncluded. First operand 202 states. Second operand 202 states. [2020-07-11 01:09:11,119 INFO L87 Difference]: Start difference. First operand 202 states. Second operand 202 states. [2020-07-11 01:09:11,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:11,127 INFO L93 Difference]: Finished difference Result 202 states and 224 transitions. [2020-07-11 01:09:11,128 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 224 transitions. [2020-07-11 01:09:11,128 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:11,129 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:11,129 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:09:11,129 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:09:11,129 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 202 states. [2020-07-11 01:09:11,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 224 transitions. [2020-07-11 01:09:11,136 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 224 transitions. Word has length 54 [2020-07-11 01:09:11,137 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:09:11,137 INFO L479 AbstractCegarLoop]: Abstraction has 202 states and 224 transitions. [2020-07-11 01:09:11,137 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-11 01:09:11,137 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 202 states and 224 transitions. [2020-07-11 01:09:11,402 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 224 edges. 224 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:11,403 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 224 transitions. [2020-07-11 01:09:11,404 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2020-07-11 01:09:11,405 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:09:11,405 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-11 01:09:11,405 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-11 01:09:11,405 INFO L427 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:09:11,406 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:09:11,406 INFO L82 PathProgramCache]: Analyzing trace with hash 129316031, now seen corresponding path program 1 times [2020-07-11 01:09:11,406 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:09:11,406 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [808022028] [2020-07-11 01:09:11,407 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:09:11,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:11,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:11,588 INFO L280 TraceCheckUtils]: 0: Hoare triple {4328#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {4317#true} is VALID [2020-07-11 01:09:11,588 INFO L280 TraceCheckUtils]: 1: Hoare triple {4317#true} #valid := #valid[0 := 0]; {4317#true} is VALID [2020-07-11 01:09:11,589 INFO L280 TraceCheckUtils]: 2: Hoare triple {4317#true} assume 0 < #StackHeapBarrier; {4317#true} is VALID [2020-07-11 01:09:11,589 INFO L280 TraceCheckUtils]: 3: Hoare triple {4317#true} assume true; {4317#true} is VALID [2020-07-11 01:09:11,589 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {4317#true} {4317#true} #349#return; {4317#true} is VALID [2020-07-11 01:09:11,590 INFO L263 TraceCheckUtils]: 0: Hoare triple {4317#true} call ULTIMATE.init(); {4328#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-11 01:09:11,591 INFO L280 TraceCheckUtils]: 1: Hoare triple {4328#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {4317#true} is VALID [2020-07-11 01:09:11,591 INFO L280 TraceCheckUtils]: 2: Hoare triple {4317#true} #valid := #valid[0 := 0]; {4317#true} is VALID [2020-07-11 01:09:11,591 INFO L280 TraceCheckUtils]: 3: Hoare triple {4317#true} assume 0 < #StackHeapBarrier; {4317#true} is VALID [2020-07-11 01:09:11,591 INFO L280 TraceCheckUtils]: 4: Hoare triple {4317#true} assume true; {4317#true} is VALID [2020-07-11 01:09:11,592 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4317#true} {4317#true} #349#return; {4317#true} is VALID [2020-07-11 01:09:11,592 INFO L263 TraceCheckUtils]: 6: Hoare triple {4317#true} call #t~ret41 := main(); {4317#true} is VALID [2020-07-11 01:09:11,593 INFO L280 TraceCheckUtils]: 7: Hoare triple {4317#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {4317#true} is VALID [2020-07-11 01:09:11,593 INFO L280 TraceCheckUtils]: 8: Hoare triple {4317#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {4317#true} is VALID [2020-07-11 01:09:11,594 INFO L280 TraceCheckUtils]: 9: Hoare triple {4317#true} havoc ~n~0.base, ~n~0.offset; {4317#true} is VALID [2020-07-11 01:09:11,594 INFO L280 TraceCheckUtils]: 10: Hoare triple {4317#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {4317#true} is VALID [2020-07-11 01:09:11,594 INFO L280 TraceCheckUtils]: 11: Hoare triple {4317#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {4317#true} is VALID [2020-07-11 01:09:11,594 INFO L280 TraceCheckUtils]: 12: Hoare triple {4317#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4317#true} is VALID [2020-07-11 01:09:11,595 INFO L280 TraceCheckUtils]: 13: Hoare triple {4317#true} assume !(0 != #t~nondet3); {4317#true} is VALID [2020-07-11 01:09:11,595 INFO L280 TraceCheckUtils]: 14: Hoare triple {4317#true} havoc #t~nondet3; {4317#true} is VALID [2020-07-11 01:09:11,595 INFO L280 TraceCheckUtils]: 15: Hoare triple {4317#true} ~n~0.base, ~n~0.offset := 0, 0; {4317#true} is VALID [2020-07-11 01:09:11,596 INFO L280 TraceCheckUtils]: 16: Hoare triple {4317#true} havoc ~pred~0.base, ~pred~0.offset; {4317#true} is VALID [2020-07-11 01:09:11,596 INFO L280 TraceCheckUtils]: 17: Hoare triple {4317#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {4317#true} is VALID [2020-07-11 01:09:11,596 INFO L280 TraceCheckUtils]: 18: Hoare triple {4317#true} ~pred~0.base, ~pred~0.offset := 0, 0; {4317#true} is VALID [2020-07-11 01:09:11,596 INFO L280 TraceCheckUtils]: 19: Hoare triple {4317#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {4317#true} is VALID [2020-07-11 01:09:11,596 INFO L280 TraceCheckUtils]: 20: Hoare triple {4317#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {4317#true} is VALID [2020-07-11 01:09:11,597 INFO L280 TraceCheckUtils]: 21: Hoare triple {4317#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {4317#true} is VALID [2020-07-11 01:09:11,597 INFO L280 TraceCheckUtils]: 22: Hoare triple {4317#true} assume !#t~short24; {4317#true} is VALID [2020-07-11 01:09:11,597 INFO L280 TraceCheckUtils]: 23: Hoare triple {4317#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {4317#true} is VALID [2020-07-11 01:09:11,598 INFO L280 TraceCheckUtils]: 24: Hoare triple {4317#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {4317#true} is VALID [2020-07-11 01:09:11,598 INFO L280 TraceCheckUtils]: 25: Hoare triple {4317#true} assume !#t~short24; {4317#true} is VALID [2020-07-11 01:09:11,598 INFO L280 TraceCheckUtils]: 26: Hoare triple {4317#true} havoc #t~mem22.base, #t~mem22.offset; {4317#true} is VALID [2020-07-11 01:09:11,598 INFO L280 TraceCheckUtils]: 27: Hoare triple {4317#true} havoc #t~short24; {4317#true} is VALID [2020-07-11 01:09:11,599 INFO L280 TraceCheckUtils]: 28: Hoare triple {4317#true} havoc #t~mem23.base, #t~mem23.offset; {4317#true} is VALID [2020-07-11 01:09:11,599 INFO L280 TraceCheckUtils]: 29: Hoare triple {4317#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {4317#true} is VALID [2020-07-11 01:09:11,599 INFO L280 TraceCheckUtils]: 30: Hoare triple {4317#true} ~root~0.base, ~root~0.offset := 0, 0; {4317#true} is VALID [2020-07-11 01:09:11,599 INFO L280 TraceCheckUtils]: 31: Hoare triple {4317#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {4317#true} is VALID [2020-07-11 01:09:11,600 INFO L280 TraceCheckUtils]: 32: Hoare triple {4317#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {4317#true} is VALID [2020-07-11 01:09:11,600 INFO L280 TraceCheckUtils]: 33: Hoare triple {4317#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {4317#true} is VALID [2020-07-11 01:09:11,600 INFO L280 TraceCheckUtils]: 34: Hoare triple {4317#true} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {4317#true} is VALID [2020-07-11 01:09:11,600 INFO L280 TraceCheckUtils]: 35: Hoare triple {4317#true} assume !(~a~0.base == 0 && ~a~0.offset == 0); {4317#true} is VALID [2020-07-11 01:09:11,601 INFO L280 TraceCheckUtils]: 36: Hoare triple {4317#true} havoc ~t~0.base, ~t~0.offset; {4317#true} is VALID [2020-07-11 01:09:11,602 INFO L280 TraceCheckUtils]: 37: Hoare triple {4317#true} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:11,603 INFO L280 TraceCheckUtils]: 38: Hoare triple {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:11,604 INFO L280 TraceCheckUtils]: 39: Hoare triple {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet30); {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:11,604 INFO L280 TraceCheckUtils]: 40: Hoare triple {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet30; {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:11,605 INFO L280 TraceCheckUtils]: 41: Hoare triple {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:11,606 INFO L280 TraceCheckUtils]: 42: Hoare triple {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet33); {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:11,606 INFO L280 TraceCheckUtils]: 43: Hoare triple {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet33; {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:11,607 INFO L280 TraceCheckUtils]: 44: Hoare triple {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {4325#(= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-11 01:09:11,608 INFO L280 TraceCheckUtils]: 45: Hoare triple {4325#(= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:11,613 INFO L280 TraceCheckUtils]: 46: Hoare triple {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:11,614 INFO L280 TraceCheckUtils]: 47: Hoare triple {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(2 == #t~mem36); {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:11,614 INFO L280 TraceCheckUtils]: 48: Hoare triple {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem36; {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:11,614 INFO L280 TraceCheckUtils]: 49: Hoare triple {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:11,615 INFO L280 TraceCheckUtils]: 50: Hoare triple {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(1 == #t~mem38); {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:11,624 INFO L280 TraceCheckUtils]: 51: Hoare triple {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem38; {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:11,625 INFO L280 TraceCheckUtils]: 52: Hoare triple {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {4327#(= |main_#t~mem40| 3)} is VALID [2020-07-11 01:09:11,625 INFO L280 TraceCheckUtils]: 53: Hoare triple {4327#(= |main_#t~mem40| 3)} assume 3 != #t~mem40; {4318#false} is VALID [2020-07-11 01:09:11,625 INFO L280 TraceCheckUtils]: 54: Hoare triple {4318#false} havoc #t~mem40; {4318#false} is VALID [2020-07-11 01:09:11,626 INFO L280 TraceCheckUtils]: 55: Hoare triple {4318#false} assume !false; {4318#false} is VALID [2020-07-11 01:09:11,631 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-11 01:09:11,632 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [808022028] [2020-07-11 01:09:11,633 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-11 01:09:11,633 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-11 01:09:11,634 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1697943531] [2020-07-11 01:09:11,635 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 56 [2020-07-11 01:09:11,636 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:09:11,637 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-11 01:09:11,692 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:11,693 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-11 01:09:11,693 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:09:11,693 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-11 01:09:11,694 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-11 01:09:11,694 INFO L87 Difference]: Start difference. First operand 202 states and 224 transitions. Second operand 7 states. [2020-07-11 01:09:13,315 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:13,315 INFO L93 Difference]: Finished difference Result 279 states and 306 transitions. [2020-07-11 01:09:13,316 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-11 01:09:13,316 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 56 [2020-07-11 01:09:13,316 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:09:13,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-11 01:09:13,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 265 transitions. [2020-07-11 01:09:13,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-11 01:09:13,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 265 transitions. [2020-07-11 01:09:13,324 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 265 transitions. [2020-07-11 01:09:13,607 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 265 edges. 265 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:13,613 INFO L225 Difference]: With dead ends: 279 [2020-07-11 01:09:13,614 INFO L226 Difference]: Without dead ends: 273 [2020-07-11 01:09:13,614 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2020-07-11 01:09:13,615 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 273 states. [2020-07-11 01:09:13,967 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 273 to 215. [2020-07-11 01:09:13,967 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:09:13,967 INFO L82 GeneralOperation]: Start isEquivalent. First operand 273 states. Second operand 215 states. [2020-07-11 01:09:13,968 INFO L74 IsIncluded]: Start isIncluded. First operand 273 states. Second operand 215 states. [2020-07-11 01:09:13,968 INFO L87 Difference]: Start difference. First operand 273 states. Second operand 215 states. [2020-07-11 01:09:13,978 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:13,978 INFO L93 Difference]: Finished difference Result 273 states and 300 transitions. [2020-07-11 01:09:13,978 INFO L276 IsEmpty]: Start isEmpty. Operand 273 states and 300 transitions. [2020-07-11 01:09:13,979 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:13,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:13,980 INFO L74 IsIncluded]: Start isIncluded. First operand 215 states. Second operand 273 states. [2020-07-11 01:09:13,980 INFO L87 Difference]: Start difference. First operand 215 states. Second operand 273 states. [2020-07-11 01:09:13,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:13,991 INFO L93 Difference]: Finished difference Result 273 states and 300 transitions. [2020-07-11 01:09:13,991 INFO L276 IsEmpty]: Start isEmpty. Operand 273 states and 300 transitions. [2020-07-11 01:09:13,992 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:13,992 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:13,992 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:09:13,992 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:09:13,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 215 states. [2020-07-11 01:09:13,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 215 states to 215 states and 240 transitions. [2020-07-11 01:09:14,000 INFO L78 Accepts]: Start accepts. Automaton has 215 states and 240 transitions. Word has length 56 [2020-07-11 01:09:14,000 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:09:14,000 INFO L479 AbstractCegarLoop]: Abstraction has 215 states and 240 transitions. [2020-07-11 01:09:14,000 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-11 01:09:14,001 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 215 states and 240 transitions. [2020-07-11 01:09:14,280 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 240 edges. 240 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:14,280 INFO L276 IsEmpty]: Start isEmpty. Operand 215 states and 240 transitions. [2020-07-11 01:09:14,281 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2020-07-11 01:09:14,282 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:09:14,282 INFO L422 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-11 01:09:14,282 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-11 01:09:14,282 INFO L427 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:09:14,283 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:09:14,283 INFO L82 PathProgramCache]: Analyzing trace with hash 593034583, now seen corresponding path program 1 times [2020-07-11 01:09:14,283 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:09:14,283 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1984836415] [2020-07-11 01:09:14,283 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:09:14,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:14,432 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:14,443 INFO L280 TraceCheckUtils]: 0: Hoare triple {5880#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {5869#true} is VALID [2020-07-11 01:09:14,443 INFO L280 TraceCheckUtils]: 1: Hoare triple {5869#true} #valid := #valid[0 := 0]; {5869#true} is VALID [2020-07-11 01:09:14,443 INFO L280 TraceCheckUtils]: 2: Hoare triple {5869#true} assume 0 < #StackHeapBarrier; {5869#true} is VALID [2020-07-11 01:09:14,444 INFO L280 TraceCheckUtils]: 3: Hoare triple {5869#true} assume true; {5869#true} is VALID [2020-07-11 01:09:14,444 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {5869#true} {5869#true} #349#return; {5869#true} is VALID [2020-07-11 01:09:14,452 INFO L263 TraceCheckUtils]: 0: Hoare triple {5869#true} call ULTIMATE.init(); {5880#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-11 01:09:14,452 INFO L280 TraceCheckUtils]: 1: Hoare triple {5880#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {5869#true} is VALID [2020-07-11 01:09:14,452 INFO L280 TraceCheckUtils]: 2: Hoare triple {5869#true} #valid := #valid[0 := 0]; {5869#true} is VALID [2020-07-11 01:09:14,453 INFO L280 TraceCheckUtils]: 3: Hoare triple {5869#true} assume 0 < #StackHeapBarrier; {5869#true} is VALID [2020-07-11 01:09:14,453 INFO L280 TraceCheckUtils]: 4: Hoare triple {5869#true} assume true; {5869#true} is VALID [2020-07-11 01:09:14,453 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {5869#true} {5869#true} #349#return; {5869#true} is VALID [2020-07-11 01:09:14,453 INFO L263 TraceCheckUtils]: 6: Hoare triple {5869#true} call #t~ret41 := main(); {5869#true} is VALID [2020-07-11 01:09:14,454 INFO L280 TraceCheckUtils]: 7: Hoare triple {5869#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {5869#true} is VALID [2020-07-11 01:09:14,454 INFO L280 TraceCheckUtils]: 8: Hoare triple {5869#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {5869#true} is VALID [2020-07-11 01:09:14,454 INFO L280 TraceCheckUtils]: 9: Hoare triple {5869#true} havoc ~n~0.base, ~n~0.offset; {5869#true} is VALID [2020-07-11 01:09:14,454 INFO L280 TraceCheckUtils]: 10: Hoare triple {5869#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {5869#true} is VALID [2020-07-11 01:09:14,455 INFO L280 TraceCheckUtils]: 11: Hoare triple {5869#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {5869#true} is VALID [2020-07-11 01:09:14,455 INFO L280 TraceCheckUtils]: 12: Hoare triple {5869#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {5869#true} is VALID [2020-07-11 01:09:14,455 INFO L280 TraceCheckUtils]: 13: Hoare triple {5869#true} assume !(0 != #t~nondet3); {5869#true} is VALID [2020-07-11 01:09:14,457 INFO L280 TraceCheckUtils]: 14: Hoare triple {5869#true} havoc #t~nondet3; {5869#true} is VALID [2020-07-11 01:09:14,457 INFO L280 TraceCheckUtils]: 15: Hoare triple {5869#true} ~n~0.base, ~n~0.offset := 0, 0; {5869#true} is VALID [2020-07-11 01:09:14,457 INFO L280 TraceCheckUtils]: 16: Hoare triple {5869#true} havoc ~pred~0.base, ~pred~0.offset; {5869#true} is VALID [2020-07-11 01:09:14,457 INFO L280 TraceCheckUtils]: 17: Hoare triple {5869#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {5869#true} is VALID [2020-07-11 01:09:14,458 INFO L280 TraceCheckUtils]: 18: Hoare triple {5869#true} ~pred~0.base, ~pred~0.offset := 0, 0; {5869#true} is VALID [2020-07-11 01:09:14,458 INFO L280 TraceCheckUtils]: 19: Hoare triple {5869#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {5869#true} is VALID [2020-07-11 01:09:14,458 INFO L280 TraceCheckUtils]: 20: Hoare triple {5869#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {5869#true} is VALID [2020-07-11 01:09:14,458 INFO L280 TraceCheckUtils]: 21: Hoare triple {5869#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {5869#true} is VALID [2020-07-11 01:09:14,459 INFO L280 TraceCheckUtils]: 22: Hoare triple {5869#true} assume !#t~short24; {5869#true} is VALID [2020-07-11 01:09:14,460 INFO L280 TraceCheckUtils]: 23: Hoare triple {5869#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {5869#true} is VALID [2020-07-11 01:09:14,460 INFO L280 TraceCheckUtils]: 24: Hoare triple {5869#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {5869#true} is VALID [2020-07-11 01:09:14,460 INFO L280 TraceCheckUtils]: 25: Hoare triple {5869#true} assume !#t~short24; {5869#true} is VALID [2020-07-11 01:09:14,461 INFO L280 TraceCheckUtils]: 26: Hoare triple {5869#true} havoc #t~mem22.base, #t~mem22.offset; {5869#true} is VALID [2020-07-11 01:09:14,461 INFO L280 TraceCheckUtils]: 27: Hoare triple {5869#true} havoc #t~short24; {5869#true} is VALID [2020-07-11 01:09:14,461 INFO L280 TraceCheckUtils]: 28: Hoare triple {5869#true} havoc #t~mem23.base, #t~mem23.offset; {5869#true} is VALID [2020-07-11 01:09:14,463 INFO L280 TraceCheckUtils]: 29: Hoare triple {5869#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {5869#true} is VALID [2020-07-11 01:09:14,463 INFO L280 TraceCheckUtils]: 30: Hoare triple {5869#true} ~root~0.base, ~root~0.offset := 0, 0; {5869#true} is VALID [2020-07-11 01:09:14,465 INFO L280 TraceCheckUtils]: 31: Hoare triple {5869#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {5869#true} is VALID [2020-07-11 01:09:14,465 INFO L280 TraceCheckUtils]: 32: Hoare triple {5869#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {5869#true} is VALID [2020-07-11 01:09:14,465 INFO L280 TraceCheckUtils]: 33: Hoare triple {5869#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {5869#true} is VALID [2020-07-11 01:09:14,466 INFO L280 TraceCheckUtils]: 34: Hoare triple {5869#true} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {5869#true} is VALID [2020-07-11 01:09:14,466 INFO L280 TraceCheckUtils]: 35: Hoare triple {5869#true} assume !(~a~0.base == 0 && ~a~0.offset == 0); {5869#true} is VALID [2020-07-11 01:09:14,466 INFO L280 TraceCheckUtils]: 36: Hoare triple {5869#true} havoc ~t~0.base, ~t~0.offset; {5869#true} is VALID [2020-07-11 01:09:14,471 INFO L280 TraceCheckUtils]: 37: Hoare triple {5869#true} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:14,472 INFO L280 TraceCheckUtils]: 38: Hoare triple {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:14,472 INFO L280 TraceCheckUtils]: 39: Hoare triple {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet30); {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:14,473 INFO L280 TraceCheckUtils]: 40: Hoare triple {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet30; {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:14,474 INFO L280 TraceCheckUtils]: 41: Hoare triple {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:14,475 INFO L280 TraceCheckUtils]: 42: Hoare triple {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet33); {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:14,476 INFO L280 TraceCheckUtils]: 43: Hoare triple {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet33; {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:14,477 INFO L280 TraceCheckUtils]: 44: Hoare triple {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {5877#(= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-11 01:09:14,478 INFO L280 TraceCheckUtils]: 45: Hoare triple {5877#(= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {5878#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:14,480 INFO L280 TraceCheckUtils]: 46: Hoare triple {5878#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {5878#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:14,484 INFO L280 TraceCheckUtils]: 47: Hoare triple {5878#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(2 == #t~mem36); {5878#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:14,489 INFO L280 TraceCheckUtils]: 48: Hoare triple {5878#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem36; {5878#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:14,493 INFO L280 TraceCheckUtils]: 49: Hoare triple {5878#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {5879#(= |main_#t~mem38| 3)} is VALID [2020-07-11 01:09:14,494 INFO L280 TraceCheckUtils]: 50: Hoare triple {5879#(= |main_#t~mem38| 3)} assume !!(1 == #t~mem38); {5870#false} is VALID [2020-07-11 01:09:14,494 INFO L280 TraceCheckUtils]: 51: Hoare triple {5870#false} havoc #t~mem38; {5870#false} is VALID [2020-07-11 01:09:14,495 INFO L280 TraceCheckUtils]: 52: Hoare triple {5870#false} SUMMARY for call #t~mem39.base, #t~mem39.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L607 {5870#false} is VALID [2020-07-11 01:09:14,495 INFO L280 TraceCheckUtils]: 53: Hoare triple {5870#false} ~p~0.base, ~p~0.offset := #t~mem39.base, #t~mem39.offset; {5870#false} is VALID [2020-07-11 01:09:14,495 INFO L280 TraceCheckUtils]: 54: Hoare triple {5870#false} havoc #t~mem39.base, #t~mem39.offset; {5870#false} is VALID [2020-07-11 01:09:14,495 INFO L280 TraceCheckUtils]: 55: Hoare triple {5870#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {5870#false} is VALID [2020-07-11 01:09:14,496 INFO L280 TraceCheckUtils]: 56: Hoare triple {5870#false} assume !(1 == #t~mem38); {5870#false} is VALID [2020-07-11 01:09:14,496 INFO L280 TraceCheckUtils]: 57: Hoare triple {5870#false} havoc #t~mem38; {5870#false} is VALID [2020-07-11 01:09:14,496 INFO L280 TraceCheckUtils]: 58: Hoare triple {5870#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {5870#false} is VALID [2020-07-11 01:09:14,496 INFO L280 TraceCheckUtils]: 59: Hoare triple {5870#false} assume 3 != #t~mem40; {5870#false} is VALID [2020-07-11 01:09:14,497 INFO L280 TraceCheckUtils]: 60: Hoare triple {5870#false} havoc #t~mem40; {5870#false} is VALID [2020-07-11 01:09:14,497 INFO L280 TraceCheckUtils]: 61: Hoare triple {5870#false} assume !false; {5870#false} is VALID [2020-07-11 01:09:14,504 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-11 01:09:14,504 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1984836415] [2020-07-11 01:09:14,505 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-11 01:09:14,505 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-11 01:09:14,505 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [275045189] [2020-07-11 01:09:14,506 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 62 [2020-07-11 01:09:14,506 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:09:14,506 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-11 01:09:14,564 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:14,564 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-11 01:09:14,564 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:09:14,565 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-11 01:09:14,565 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-11 01:09:14,565 INFO L87 Difference]: Start difference. First operand 215 states and 240 transitions. Second operand 7 states. [2020-07-11 01:09:16,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:16,324 INFO L93 Difference]: Finished difference Result 282 states and 309 transitions. [2020-07-11 01:09:16,324 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-11 01:09:16,324 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 62 [2020-07-11 01:09:16,325 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:09:16,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-11 01:09:16,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 268 transitions. [2020-07-11 01:09:16,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-11 01:09:16,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 268 transitions. [2020-07-11 01:09:16,334 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 268 transitions. [2020-07-11 01:09:16,629 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 268 edges. 268 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:16,635 INFO L225 Difference]: With dead ends: 282 [2020-07-11 01:09:16,636 INFO L226 Difference]: Without dead ends: 267 [2020-07-11 01:09:16,636 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2020-07-11 01:09:16,637 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 267 states. [2020-07-11 01:09:16,960 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 267 to 212. [2020-07-11 01:09:16,961 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:09:16,961 INFO L82 GeneralOperation]: Start isEquivalent. First operand 267 states. Second operand 212 states. [2020-07-11 01:09:16,961 INFO L74 IsIncluded]: Start isIncluded. First operand 267 states. Second operand 212 states. [2020-07-11 01:09:16,961 INFO L87 Difference]: Start difference. First operand 267 states. Second operand 212 states. [2020-07-11 01:09:16,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:16,970 INFO L93 Difference]: Finished difference Result 267 states and 293 transitions. [2020-07-11 01:09:16,971 INFO L276 IsEmpty]: Start isEmpty. Operand 267 states and 293 transitions. [2020-07-11 01:09:16,971 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:16,972 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:16,972 INFO L74 IsIncluded]: Start isIncluded. First operand 212 states. Second operand 267 states. [2020-07-11 01:09:16,972 INFO L87 Difference]: Start difference. First operand 212 states. Second operand 267 states. [2020-07-11 01:09:16,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:16,990 INFO L93 Difference]: Finished difference Result 267 states and 293 transitions. [2020-07-11 01:09:16,990 INFO L276 IsEmpty]: Start isEmpty. Operand 267 states and 293 transitions. [2020-07-11 01:09:16,991 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:16,991 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:16,991 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:09:16,992 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:09:16,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 212 states. [2020-07-11 01:09:16,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 236 transitions. [2020-07-11 01:09:16,998 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 236 transitions. Word has length 62 [2020-07-11 01:09:16,998 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:09:16,998 INFO L479 AbstractCegarLoop]: Abstraction has 212 states and 236 transitions. [2020-07-11 01:09:16,998 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-11 01:09:16,999 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 212 states and 236 transitions. [2020-07-11 01:09:17,285 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 236 edges. 236 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:17,285 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 236 transitions. [2020-07-11 01:09:17,287 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2020-07-11 01:09:17,287 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:09:17,287 INFO L422 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-11 01:09:17,288 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-11 01:09:17,288 INFO L427 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:09:17,288 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:09:17,288 INFO L82 PathProgramCache]: Analyzing trace with hash 1629716359, now seen corresponding path program 1 times [2020-07-11 01:09:17,288 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:09:17,289 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [889671837] [2020-07-11 01:09:17,289 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:09:17,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:17,423 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:17,429 INFO L280 TraceCheckUtils]: 0: Hoare triple {7420#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {7409#true} is VALID [2020-07-11 01:09:17,429 INFO L280 TraceCheckUtils]: 1: Hoare triple {7409#true} #valid := #valid[0 := 0]; {7409#true} is VALID [2020-07-11 01:09:17,429 INFO L280 TraceCheckUtils]: 2: Hoare triple {7409#true} assume 0 < #StackHeapBarrier; {7409#true} is VALID [2020-07-11 01:09:17,430 INFO L280 TraceCheckUtils]: 3: Hoare triple {7409#true} assume true; {7409#true} is VALID [2020-07-11 01:09:17,430 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {7409#true} {7409#true} #349#return; {7409#true} is VALID [2020-07-11 01:09:17,431 INFO L263 TraceCheckUtils]: 0: Hoare triple {7409#true} call ULTIMATE.init(); {7420#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-11 01:09:17,431 INFO L280 TraceCheckUtils]: 1: Hoare triple {7420#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {7409#true} is VALID [2020-07-11 01:09:17,431 INFO L280 TraceCheckUtils]: 2: Hoare triple {7409#true} #valid := #valid[0 := 0]; {7409#true} is VALID [2020-07-11 01:09:17,432 INFO L280 TraceCheckUtils]: 3: Hoare triple {7409#true} assume 0 < #StackHeapBarrier; {7409#true} is VALID [2020-07-11 01:09:17,432 INFO L280 TraceCheckUtils]: 4: Hoare triple {7409#true} assume true; {7409#true} is VALID [2020-07-11 01:09:17,432 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {7409#true} {7409#true} #349#return; {7409#true} is VALID [2020-07-11 01:09:17,432 INFO L263 TraceCheckUtils]: 6: Hoare triple {7409#true} call #t~ret41 := main(); {7409#true} is VALID [2020-07-11 01:09:17,433 INFO L280 TraceCheckUtils]: 7: Hoare triple {7409#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {7409#true} is VALID [2020-07-11 01:09:17,433 INFO L280 TraceCheckUtils]: 8: Hoare triple {7409#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {7409#true} is VALID [2020-07-11 01:09:17,433 INFO L280 TraceCheckUtils]: 9: Hoare triple {7409#true} havoc ~n~0.base, ~n~0.offset; {7409#true} is VALID [2020-07-11 01:09:17,433 INFO L280 TraceCheckUtils]: 10: Hoare triple {7409#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {7409#true} is VALID [2020-07-11 01:09:17,433 INFO L280 TraceCheckUtils]: 11: Hoare triple {7409#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {7409#true} is VALID [2020-07-11 01:09:17,434 INFO L280 TraceCheckUtils]: 12: Hoare triple {7409#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {7409#true} is VALID [2020-07-11 01:09:17,434 INFO L280 TraceCheckUtils]: 13: Hoare triple {7409#true} assume !(0 != #t~nondet3); {7409#true} is VALID [2020-07-11 01:09:17,434 INFO L280 TraceCheckUtils]: 14: Hoare triple {7409#true} havoc #t~nondet3; {7409#true} is VALID [2020-07-11 01:09:17,434 INFO L280 TraceCheckUtils]: 15: Hoare triple {7409#true} ~n~0.base, ~n~0.offset := 0, 0; {7409#true} is VALID [2020-07-11 01:09:17,434 INFO L280 TraceCheckUtils]: 16: Hoare triple {7409#true} havoc ~pred~0.base, ~pred~0.offset; {7409#true} is VALID [2020-07-11 01:09:17,435 INFO L280 TraceCheckUtils]: 17: Hoare triple {7409#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {7409#true} is VALID [2020-07-11 01:09:17,435 INFO L280 TraceCheckUtils]: 18: Hoare triple {7409#true} ~pred~0.base, ~pred~0.offset := 0, 0; {7409#true} is VALID [2020-07-11 01:09:17,435 INFO L280 TraceCheckUtils]: 19: Hoare triple {7409#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {7409#true} is VALID [2020-07-11 01:09:17,435 INFO L280 TraceCheckUtils]: 20: Hoare triple {7409#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {7409#true} is VALID [2020-07-11 01:09:17,436 INFO L280 TraceCheckUtils]: 21: Hoare triple {7409#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {7409#true} is VALID [2020-07-11 01:09:17,436 INFO L280 TraceCheckUtils]: 22: Hoare triple {7409#true} assume !#t~short24; {7409#true} is VALID [2020-07-11 01:09:17,436 INFO L280 TraceCheckUtils]: 23: Hoare triple {7409#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {7409#true} is VALID [2020-07-11 01:09:17,436 INFO L280 TraceCheckUtils]: 24: Hoare triple {7409#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {7409#true} is VALID [2020-07-11 01:09:17,436 INFO L280 TraceCheckUtils]: 25: Hoare triple {7409#true} assume !#t~short24; {7409#true} is VALID [2020-07-11 01:09:17,437 INFO L280 TraceCheckUtils]: 26: Hoare triple {7409#true} havoc #t~mem22.base, #t~mem22.offset; {7409#true} is VALID [2020-07-11 01:09:17,437 INFO L280 TraceCheckUtils]: 27: Hoare triple {7409#true} havoc #t~short24; {7409#true} is VALID [2020-07-11 01:09:17,437 INFO L280 TraceCheckUtils]: 28: Hoare triple {7409#true} havoc #t~mem23.base, #t~mem23.offset; {7409#true} is VALID [2020-07-11 01:09:17,437 INFO L280 TraceCheckUtils]: 29: Hoare triple {7409#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {7409#true} is VALID [2020-07-11 01:09:17,438 INFO L280 TraceCheckUtils]: 30: Hoare triple {7409#true} ~root~0.base, ~root~0.offset := 0, 0; {7409#true} is VALID [2020-07-11 01:09:17,438 INFO L280 TraceCheckUtils]: 31: Hoare triple {7409#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {7409#true} is VALID [2020-07-11 01:09:17,438 INFO L280 TraceCheckUtils]: 32: Hoare triple {7409#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {7409#true} is VALID [2020-07-11 01:09:17,438 INFO L280 TraceCheckUtils]: 33: Hoare triple {7409#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {7409#true} is VALID [2020-07-11 01:09:17,438 INFO L280 TraceCheckUtils]: 34: Hoare triple {7409#true} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {7409#true} is VALID [2020-07-11 01:09:17,439 INFO L280 TraceCheckUtils]: 35: Hoare triple {7409#true} assume !(~a~0.base == 0 && ~a~0.offset == 0); {7409#true} is VALID [2020-07-11 01:09:17,439 INFO L280 TraceCheckUtils]: 36: Hoare triple {7409#true} havoc ~t~0.base, ~t~0.offset; {7409#true} is VALID [2020-07-11 01:09:17,440 INFO L280 TraceCheckUtils]: 37: Hoare triple {7409#true} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:17,441 INFO L280 TraceCheckUtils]: 38: Hoare triple {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:17,441 INFO L280 TraceCheckUtils]: 39: Hoare triple {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet30); {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:17,442 INFO L280 TraceCheckUtils]: 40: Hoare triple {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet30; {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:17,443 INFO L280 TraceCheckUtils]: 41: Hoare triple {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:17,449 INFO L280 TraceCheckUtils]: 42: Hoare triple {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet33); {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:17,452 INFO L280 TraceCheckUtils]: 43: Hoare triple {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet33; {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:17,454 INFO L280 TraceCheckUtils]: 44: Hoare triple {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {7417#(= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-11 01:09:17,457 INFO L280 TraceCheckUtils]: 45: Hoare triple {7417#(= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {7418#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:17,458 INFO L280 TraceCheckUtils]: 46: Hoare triple {7418#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {7419#(= |main_#t~mem36| 3)} is VALID [2020-07-11 01:09:17,458 INFO L280 TraceCheckUtils]: 47: Hoare triple {7419#(= |main_#t~mem36| 3)} assume !!(2 == #t~mem36); {7410#false} is VALID [2020-07-11 01:09:17,459 INFO L280 TraceCheckUtils]: 48: Hoare triple {7410#false} havoc #t~mem36; {7410#false} is VALID [2020-07-11 01:09:17,459 INFO L280 TraceCheckUtils]: 49: Hoare triple {7410#false} SUMMARY for call #t~mem37.base, #t~mem37.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L605 {7410#false} is VALID [2020-07-11 01:09:17,459 INFO L280 TraceCheckUtils]: 50: Hoare triple {7410#false} ~p~0.base, ~p~0.offset := #t~mem37.base, #t~mem37.offset; {7410#false} is VALID [2020-07-11 01:09:17,459 INFO L280 TraceCheckUtils]: 51: Hoare triple {7410#false} havoc #t~mem37.base, #t~mem37.offset; {7410#false} is VALID [2020-07-11 01:09:17,460 INFO L280 TraceCheckUtils]: 52: Hoare triple {7410#false} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {7410#false} is VALID [2020-07-11 01:09:17,460 INFO L280 TraceCheckUtils]: 53: Hoare triple {7410#false} assume !(2 == #t~mem36); {7410#false} is VALID [2020-07-11 01:09:17,460 INFO L280 TraceCheckUtils]: 54: Hoare triple {7410#false} havoc #t~mem36; {7410#false} is VALID [2020-07-11 01:09:17,460 INFO L280 TraceCheckUtils]: 55: Hoare triple {7410#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {7410#false} is VALID [2020-07-11 01:09:17,460 INFO L280 TraceCheckUtils]: 56: Hoare triple {7410#false} assume !(1 == #t~mem38); {7410#false} is VALID [2020-07-11 01:09:17,460 INFO L280 TraceCheckUtils]: 57: Hoare triple {7410#false} havoc #t~mem38; {7410#false} is VALID [2020-07-11 01:09:17,461 INFO L280 TraceCheckUtils]: 58: Hoare triple {7410#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {7410#false} is VALID [2020-07-11 01:09:17,461 INFO L280 TraceCheckUtils]: 59: Hoare triple {7410#false} assume 3 != #t~mem40; {7410#false} is VALID [2020-07-11 01:09:17,461 INFO L280 TraceCheckUtils]: 60: Hoare triple {7410#false} havoc #t~mem40; {7410#false} is VALID [2020-07-11 01:09:17,461 INFO L280 TraceCheckUtils]: 61: Hoare triple {7410#false} assume !false; {7410#false} is VALID [2020-07-11 01:09:17,465 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-11 01:09:17,466 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [889671837] [2020-07-11 01:09:17,467 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-11 01:09:17,467 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-11 01:09:17,467 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [608855915] [2020-07-11 01:09:17,469 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 62 [2020-07-11 01:09:17,470 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:09:17,470 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-11 01:09:17,527 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:17,527 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-11 01:09:17,528 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:09:17,528 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-11 01:09:17,528 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-11 01:09:17,528 INFO L87 Difference]: Start difference. First operand 212 states and 236 transitions. Second operand 7 states. [2020-07-11 01:09:19,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:19,101 INFO L93 Difference]: Finished difference Result 264 states and 290 transitions. [2020-07-11 01:09:19,101 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-11 01:09:19,101 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 62 [2020-07-11 01:09:19,101 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:09:19,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-11 01:09:19,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 249 transitions. [2020-07-11 01:09:19,104 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-11 01:09:19,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 249 transitions. [2020-07-11 01:09:19,106 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 249 transitions. [2020-07-11 01:09:19,371 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 249 edges. 249 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:19,377 INFO L225 Difference]: With dead ends: 264 [2020-07-11 01:09:19,377 INFO L226 Difference]: Without dead ends: 240 [2020-07-11 01:09:19,378 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2020-07-11 01:09:19,379 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 240 states. [2020-07-11 01:09:19,684 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 240 to 207. [2020-07-11 01:09:19,684 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:09:19,684 INFO L82 GeneralOperation]: Start isEquivalent. First operand 240 states. Second operand 207 states. [2020-07-11 01:09:19,685 INFO L74 IsIncluded]: Start isIncluded. First operand 240 states. Second operand 207 states. [2020-07-11 01:09:19,685 INFO L87 Difference]: Start difference. First operand 240 states. Second operand 207 states. [2020-07-11 01:09:19,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:19,691 INFO L93 Difference]: Finished difference Result 240 states and 264 transitions. [2020-07-11 01:09:19,691 INFO L276 IsEmpty]: Start isEmpty. Operand 240 states and 264 transitions. [2020-07-11 01:09:19,692 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:19,692 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:19,692 INFO L74 IsIncluded]: Start isIncluded. First operand 207 states. Second operand 240 states. [2020-07-11 01:09:19,692 INFO L87 Difference]: Start difference. First operand 207 states. Second operand 240 states. [2020-07-11 01:09:19,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:19,698 INFO L93 Difference]: Finished difference Result 240 states and 264 transitions. [2020-07-11 01:09:19,698 INFO L276 IsEmpty]: Start isEmpty. Operand 240 states and 264 transitions. [2020-07-11 01:09:19,699 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:19,699 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:19,700 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:09:19,700 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:09:19,700 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 207 states. [2020-07-11 01:09:19,705 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 207 states to 207 states and 230 transitions. [2020-07-11 01:09:19,705 INFO L78 Accepts]: Start accepts. Automaton has 207 states and 230 transitions. Word has length 62 [2020-07-11 01:09:19,706 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:09:19,706 INFO L479 AbstractCegarLoop]: Abstraction has 207 states and 230 transitions. [2020-07-11 01:09:19,706 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-11 01:09:19,706 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 207 states and 230 transitions. [2020-07-11 01:09:20,098 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 230 edges. 230 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:20,099 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 230 transitions. [2020-07-11 01:09:20,100 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2020-07-11 01:09:20,101 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:09:20,101 INFO L422 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-11 01:09:20,101 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-11 01:09:20,101 INFO L427 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:09:20,102 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:09:20,102 INFO L82 PathProgramCache]: Analyzing trace with hash 852438762, now seen corresponding path program 1 times [2020-07-11 01:09:20,102 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:09:20,103 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [527900623] [2020-07-11 01:09:20,103 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:09:20,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:20,521 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:20,529 INFO L280 TraceCheckUtils]: 0: Hoare triple {8868#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {8849#true} is VALID [2020-07-11 01:09:20,529 INFO L280 TraceCheckUtils]: 1: Hoare triple {8849#true} #valid := #valid[0 := 0]; {8849#true} is VALID [2020-07-11 01:09:20,530 INFO L280 TraceCheckUtils]: 2: Hoare triple {8849#true} assume 0 < #StackHeapBarrier; {8849#true} is VALID [2020-07-11 01:09:20,530 INFO L280 TraceCheckUtils]: 3: Hoare triple {8849#true} assume true; {8849#true} is VALID [2020-07-11 01:09:20,530 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {8849#true} {8849#true} #349#return; {8849#true} is VALID [2020-07-11 01:09:20,533 INFO L263 TraceCheckUtils]: 0: Hoare triple {8849#true} call ULTIMATE.init(); {8868#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-11 01:09:20,533 INFO L280 TraceCheckUtils]: 1: Hoare triple {8868#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {8849#true} is VALID [2020-07-11 01:09:20,533 INFO L280 TraceCheckUtils]: 2: Hoare triple {8849#true} #valid := #valid[0 := 0]; {8849#true} is VALID [2020-07-11 01:09:20,534 INFO L280 TraceCheckUtils]: 3: Hoare triple {8849#true} assume 0 < #StackHeapBarrier; {8849#true} is VALID [2020-07-11 01:09:20,534 INFO L280 TraceCheckUtils]: 4: Hoare triple {8849#true} assume true; {8849#true} is VALID [2020-07-11 01:09:20,534 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {8849#true} {8849#true} #349#return; {8849#true} is VALID [2020-07-11 01:09:20,534 INFO L263 TraceCheckUtils]: 6: Hoare triple {8849#true} call #t~ret41 := main(); {8849#true} is VALID [2020-07-11 01:09:20,535 INFO L280 TraceCheckUtils]: 7: Hoare triple {8849#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {8849#true} is VALID [2020-07-11 01:09:20,535 INFO L280 TraceCheckUtils]: 8: Hoare triple {8849#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {8849#true} is VALID [2020-07-11 01:09:20,535 INFO L280 TraceCheckUtils]: 9: Hoare triple {8849#true} havoc ~n~0.base, ~n~0.offset; {8849#true} is VALID [2020-07-11 01:09:20,535 INFO L280 TraceCheckUtils]: 10: Hoare triple {8849#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {8849#true} is VALID [2020-07-11 01:09:20,535 INFO L280 TraceCheckUtils]: 11: Hoare triple {8849#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {8849#true} is VALID [2020-07-11 01:09:20,536 INFO L280 TraceCheckUtils]: 12: Hoare triple {8849#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {8849#true} is VALID [2020-07-11 01:09:20,536 INFO L280 TraceCheckUtils]: 13: Hoare triple {8849#true} assume !(0 != #t~nondet3); {8849#true} is VALID [2020-07-11 01:09:20,536 INFO L280 TraceCheckUtils]: 14: Hoare triple {8849#true} havoc #t~nondet3; {8849#true} is VALID [2020-07-11 01:09:20,536 INFO L280 TraceCheckUtils]: 15: Hoare triple {8849#true} ~n~0.base, ~n~0.offset := 0, 0; {8849#true} is VALID [2020-07-11 01:09:20,537 INFO L280 TraceCheckUtils]: 16: Hoare triple {8849#true} havoc ~pred~0.base, ~pred~0.offset; {8849#true} is VALID [2020-07-11 01:09:20,537 INFO L280 TraceCheckUtils]: 17: Hoare triple {8849#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {8849#true} is VALID [2020-07-11 01:09:20,537 INFO L280 TraceCheckUtils]: 18: Hoare triple {8849#true} ~pred~0.base, ~pred~0.offset := 0, 0; {8849#true} is VALID [2020-07-11 01:09:20,538 INFO L280 TraceCheckUtils]: 19: Hoare triple {8849#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {8849#true} is VALID [2020-07-11 01:09:20,538 INFO L280 TraceCheckUtils]: 20: Hoare triple {8849#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {8849#true} is VALID [2020-07-11 01:09:20,538 INFO L280 TraceCheckUtils]: 21: Hoare triple {8849#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {8849#true} is VALID [2020-07-11 01:09:20,539 INFO L280 TraceCheckUtils]: 22: Hoare triple {8849#true} assume !#t~short24; {8849#true} is VALID [2020-07-11 01:09:20,539 INFO L280 TraceCheckUtils]: 23: Hoare triple {8849#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {8849#true} is VALID [2020-07-11 01:09:20,539 INFO L280 TraceCheckUtils]: 24: Hoare triple {8849#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {8849#true} is VALID [2020-07-11 01:09:20,540 INFO L280 TraceCheckUtils]: 25: Hoare triple {8849#true} assume !#t~short24; {8849#true} is VALID [2020-07-11 01:09:20,540 INFO L280 TraceCheckUtils]: 26: Hoare triple {8849#true} havoc #t~mem22.base, #t~mem22.offset; {8849#true} is VALID [2020-07-11 01:09:20,540 INFO L280 TraceCheckUtils]: 27: Hoare triple {8849#true} havoc #t~short24; {8849#true} is VALID [2020-07-11 01:09:20,540 INFO L280 TraceCheckUtils]: 28: Hoare triple {8849#true} havoc #t~mem23.base, #t~mem23.offset; {8849#true} is VALID [2020-07-11 01:09:20,540 INFO L280 TraceCheckUtils]: 29: Hoare triple {8849#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {8849#true} is VALID [2020-07-11 01:09:20,541 INFO L280 TraceCheckUtils]: 30: Hoare triple {8849#true} ~root~0.base, ~root~0.offset := 0, 0; {8849#true} is VALID [2020-07-11 01:09:20,541 INFO L280 TraceCheckUtils]: 31: Hoare triple {8849#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {8849#true} is VALID [2020-07-11 01:09:20,541 INFO L280 TraceCheckUtils]: 32: Hoare triple {8849#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {8849#true} is VALID [2020-07-11 01:09:20,542 INFO L280 TraceCheckUtils]: 33: Hoare triple {8849#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {8856#(= 1 (select |#valid| |main_#t~malloc29.base|))} is VALID [2020-07-11 01:09:20,543 INFO L280 TraceCheckUtils]: 34: Hoare triple {8856#(= 1 (select |#valid| |main_#t~malloc29.base|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {8857#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-11 01:09:20,544 INFO L280 TraceCheckUtils]: 35: Hoare triple {8857#(= 1 (select |#valid| main_~a~0.base))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {8857#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-11 01:09:20,545 INFO L280 TraceCheckUtils]: 36: Hoare triple {8857#(= 1 (select |#valid| main_~a~0.base))} havoc ~t~0.base, ~t~0.offset; {8857#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-11 01:09:20,546 INFO L280 TraceCheckUtils]: 37: Hoare triple {8857#(= 1 (select |#valid| main_~a~0.base))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:20,547 INFO L280 TraceCheckUtils]: 38: Hoare triple {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:20,547 INFO L280 TraceCheckUtils]: 39: Hoare triple {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet30); {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:20,548 INFO L280 TraceCheckUtils]: 40: Hoare triple {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet30; {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:20,550 INFO L280 TraceCheckUtils]: 41: Hoare triple {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:20,551 INFO L280 TraceCheckUtils]: 42: Hoare triple {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !!(0 != #t~nondet33); {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:20,554 INFO L280 TraceCheckUtils]: 43: Hoare triple {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet33; {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:20,555 INFO L280 TraceCheckUtils]: 44: Hoare triple {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {8859#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:20,556 INFO L280 TraceCheckUtils]: 45: Hoare triple {8859#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {8860#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} is VALID [2020-07-11 01:09:20,557 INFO L280 TraceCheckUtils]: 46: Hoare triple {8860#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {8861#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:20,558 INFO L280 TraceCheckUtils]: 47: Hoare triple {8861#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {8861#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:20,560 INFO L280 TraceCheckUtils]: 48: Hoare triple {8861#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {8862#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:20,561 INFO L280 TraceCheckUtils]: 49: Hoare triple {8862#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {8863#(and (not (= main_~a~0.base |main_#t~mem35.base|)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:20,562 INFO L280 TraceCheckUtils]: 50: Hoare triple {8863#(and (not (= main_~a~0.base |main_#t~mem35.base|)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {8864#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:20,563 INFO L280 TraceCheckUtils]: 51: Hoare triple {8864#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} havoc #t~mem35.base, #t~mem35.offset; {8864#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:20,563 INFO L280 TraceCheckUtils]: 52: Hoare triple {8864#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {8864#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:20,564 INFO L280 TraceCheckUtils]: 53: Hoare triple {8864#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume !(0 != #t~nondet33); {8864#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:20,565 INFO L280 TraceCheckUtils]: 54: Hoare triple {8864#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} havoc #t~nondet33; {8864#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:20,566 INFO L280 TraceCheckUtils]: 55: Hoare triple {8864#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {8865#(= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-11 01:09:20,569 INFO L280 TraceCheckUtils]: 56: Hoare triple {8865#(= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {8866#(= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:20,570 INFO L280 TraceCheckUtils]: 57: Hoare triple {8866#(= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {8867#(= |main_#t~mem36| 2)} is VALID [2020-07-11 01:09:20,571 INFO L280 TraceCheckUtils]: 58: Hoare triple {8867#(= |main_#t~mem36| 2)} assume !(2 == #t~mem36); {8850#false} is VALID [2020-07-11 01:09:20,571 INFO L280 TraceCheckUtils]: 59: Hoare triple {8850#false} havoc #t~mem36; {8850#false} is VALID [2020-07-11 01:09:20,571 INFO L280 TraceCheckUtils]: 60: Hoare triple {8850#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {8850#false} is VALID [2020-07-11 01:09:20,571 INFO L280 TraceCheckUtils]: 61: Hoare triple {8850#false} assume !(1 == #t~mem38); {8850#false} is VALID [2020-07-11 01:09:20,571 INFO L280 TraceCheckUtils]: 62: Hoare triple {8850#false} havoc #t~mem38; {8850#false} is VALID [2020-07-11 01:09:20,571 INFO L280 TraceCheckUtils]: 63: Hoare triple {8850#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {8850#false} is VALID [2020-07-11 01:09:20,572 INFO L280 TraceCheckUtils]: 64: Hoare triple {8850#false} assume 3 != #t~mem40; {8850#false} is VALID [2020-07-11 01:09:20,572 INFO L280 TraceCheckUtils]: 65: Hoare triple {8850#false} havoc #t~mem40; {8850#false} is VALID [2020-07-11 01:09:20,572 INFO L280 TraceCheckUtils]: 66: Hoare triple {8850#false} assume !false; {8850#false} is VALID [2020-07-11 01:09:20,584 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-11 01:09:20,584 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [527900623] [2020-07-11 01:09:20,584 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:09:20,585 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15] total 15 [2020-07-11 01:09:20,585 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [932655786] [2020-07-11 01:09:20,585 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 67 [2020-07-11 01:09:20,586 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:09:20,586 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2020-07-11 01:09:20,658 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:20,658 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2020-07-11 01:09:20,658 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:09:20,659 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2020-07-11 01:09:20,659 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2020-07-11 01:09:20,659 INFO L87 Difference]: Start difference. First operand 207 states and 230 transitions. Second operand 15 states. [2020-07-11 01:09:23,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:23,900 INFO L93 Difference]: Finished difference Result 302 states and 330 transitions. [2020-07-11 01:09:23,900 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-11 01:09:23,900 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 67 [2020-07-11 01:09:23,902 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:09:23,902 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-11 01:09:23,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 289 transitions. [2020-07-11 01:09:23,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-11 01:09:23,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 289 transitions. [2020-07-11 01:09:23,914 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 289 transitions. [2020-07-11 01:09:24,248 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 289 edges. 289 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:24,255 INFO L225 Difference]: With dead ends: 302 [2020-07-11 01:09:24,255 INFO L226 Difference]: Without dead ends: 289 [2020-07-11 01:09:24,256 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 145 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=228, Invalid=764, Unknown=0, NotChecked=0, Total=992 [2020-07-11 01:09:24,257 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 289 states. [2020-07-11 01:09:24,669 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 289 to 223. [2020-07-11 01:09:24,669 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:09:24,669 INFO L82 GeneralOperation]: Start isEquivalent. First operand 289 states. Second operand 223 states. [2020-07-11 01:09:24,669 INFO L74 IsIncluded]: Start isIncluded. First operand 289 states. Second operand 223 states. [2020-07-11 01:09:24,670 INFO L87 Difference]: Start difference. First operand 289 states. Second operand 223 states. [2020-07-11 01:09:24,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:24,677 INFO L93 Difference]: Finished difference Result 289 states and 316 transitions. [2020-07-11 01:09:24,678 INFO L276 IsEmpty]: Start isEmpty. Operand 289 states and 316 transitions. [2020-07-11 01:09:24,678 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:24,679 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:24,679 INFO L74 IsIncluded]: Start isIncluded. First operand 223 states. Second operand 289 states. [2020-07-11 01:09:24,679 INFO L87 Difference]: Start difference. First operand 223 states. Second operand 289 states. [2020-07-11 01:09:24,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:24,688 INFO L93 Difference]: Finished difference Result 289 states and 316 transitions. [2020-07-11 01:09:24,688 INFO L276 IsEmpty]: Start isEmpty. Operand 289 states and 316 transitions. [2020-07-11 01:09:24,689 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:24,689 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:24,689 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:09:24,689 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:09:24,690 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 223 states. [2020-07-11 01:09:24,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 223 states to 223 states and 247 transitions. [2020-07-11 01:09:24,695 INFO L78 Accepts]: Start accepts. Automaton has 223 states and 247 transitions. Word has length 67 [2020-07-11 01:09:24,696 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:09:24,696 INFO L479 AbstractCegarLoop]: Abstraction has 223 states and 247 transitions. [2020-07-11 01:09:24,696 INFO L480 AbstractCegarLoop]: Interpolant automaton has 15 states. [2020-07-11 01:09:24,696 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 223 states and 247 transitions. [2020-07-11 01:09:25,032 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 247 edges. 247 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:25,032 INFO L276 IsEmpty]: Start isEmpty. Operand 223 states and 247 transitions. [2020-07-11 01:09:25,033 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2020-07-11 01:09:25,033 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:09:25,034 INFO L422 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-11 01:09:25,034 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-11 01:09:25,034 INFO L427 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:09:25,034 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:09:25,035 INFO L82 PathProgramCache]: Analyzing trace with hash -1742912072, now seen corresponding path program 1 times [2020-07-11 01:09:25,035 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:09:25,035 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1071629577] [2020-07-11 01:09:25,035 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:09:25,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:25,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:25,374 INFO L280 TraceCheckUtils]: 0: Hoare triple {10552#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {10533#true} is VALID [2020-07-11 01:09:25,374 INFO L280 TraceCheckUtils]: 1: Hoare triple {10533#true} #valid := #valid[0 := 0]; {10533#true} is VALID [2020-07-11 01:09:25,374 INFO L280 TraceCheckUtils]: 2: Hoare triple {10533#true} assume 0 < #StackHeapBarrier; {10533#true} is VALID [2020-07-11 01:09:25,374 INFO L280 TraceCheckUtils]: 3: Hoare triple {10533#true} assume true; {10533#true} is VALID [2020-07-11 01:09:25,375 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {10533#true} {10533#true} #349#return; {10533#true} is VALID [2020-07-11 01:09:25,376 INFO L263 TraceCheckUtils]: 0: Hoare triple {10533#true} call ULTIMATE.init(); {10552#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-11 01:09:25,376 INFO L280 TraceCheckUtils]: 1: Hoare triple {10552#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {10533#true} is VALID [2020-07-11 01:09:25,376 INFO L280 TraceCheckUtils]: 2: Hoare triple {10533#true} #valid := #valid[0 := 0]; {10533#true} is VALID [2020-07-11 01:09:25,376 INFO L280 TraceCheckUtils]: 3: Hoare triple {10533#true} assume 0 < #StackHeapBarrier; {10533#true} is VALID [2020-07-11 01:09:25,376 INFO L280 TraceCheckUtils]: 4: Hoare triple {10533#true} assume true; {10533#true} is VALID [2020-07-11 01:09:25,377 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {10533#true} {10533#true} #349#return; {10533#true} is VALID [2020-07-11 01:09:25,377 INFO L263 TraceCheckUtils]: 6: Hoare triple {10533#true} call #t~ret41 := main(); {10533#true} is VALID [2020-07-11 01:09:25,377 INFO L280 TraceCheckUtils]: 7: Hoare triple {10533#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {10533#true} is VALID [2020-07-11 01:09:25,377 INFO L280 TraceCheckUtils]: 8: Hoare triple {10533#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {10533#true} is VALID [2020-07-11 01:09:25,377 INFO L280 TraceCheckUtils]: 9: Hoare triple {10533#true} havoc ~n~0.base, ~n~0.offset; {10533#true} is VALID [2020-07-11 01:09:25,378 INFO L280 TraceCheckUtils]: 10: Hoare triple {10533#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {10533#true} is VALID [2020-07-11 01:09:25,378 INFO L280 TraceCheckUtils]: 11: Hoare triple {10533#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {10533#true} is VALID [2020-07-11 01:09:25,378 INFO L280 TraceCheckUtils]: 12: Hoare triple {10533#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {10533#true} is VALID [2020-07-11 01:09:25,378 INFO L280 TraceCheckUtils]: 13: Hoare triple {10533#true} assume !(0 != #t~nondet3); {10533#true} is VALID [2020-07-11 01:09:25,378 INFO L280 TraceCheckUtils]: 14: Hoare triple {10533#true} havoc #t~nondet3; {10533#true} is VALID [2020-07-11 01:09:25,378 INFO L280 TraceCheckUtils]: 15: Hoare triple {10533#true} ~n~0.base, ~n~0.offset := 0, 0; {10533#true} is VALID [2020-07-11 01:09:25,379 INFO L280 TraceCheckUtils]: 16: Hoare triple {10533#true} havoc ~pred~0.base, ~pred~0.offset; {10533#true} is VALID [2020-07-11 01:09:25,379 INFO L280 TraceCheckUtils]: 17: Hoare triple {10533#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {10533#true} is VALID [2020-07-11 01:09:25,379 INFO L280 TraceCheckUtils]: 18: Hoare triple {10533#true} ~pred~0.base, ~pred~0.offset := 0, 0; {10533#true} is VALID [2020-07-11 01:09:25,379 INFO L280 TraceCheckUtils]: 19: Hoare triple {10533#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {10533#true} is VALID [2020-07-11 01:09:25,379 INFO L280 TraceCheckUtils]: 20: Hoare triple {10533#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {10533#true} is VALID [2020-07-11 01:09:25,380 INFO L280 TraceCheckUtils]: 21: Hoare triple {10533#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {10533#true} is VALID [2020-07-11 01:09:25,380 INFO L280 TraceCheckUtils]: 22: Hoare triple {10533#true} assume !#t~short24; {10533#true} is VALID [2020-07-11 01:09:25,380 INFO L280 TraceCheckUtils]: 23: Hoare triple {10533#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {10533#true} is VALID [2020-07-11 01:09:25,380 INFO L280 TraceCheckUtils]: 24: Hoare triple {10533#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {10533#true} is VALID [2020-07-11 01:09:25,380 INFO L280 TraceCheckUtils]: 25: Hoare triple {10533#true} assume !#t~short24; {10533#true} is VALID [2020-07-11 01:09:25,380 INFO L280 TraceCheckUtils]: 26: Hoare triple {10533#true} havoc #t~mem22.base, #t~mem22.offset; {10533#true} is VALID [2020-07-11 01:09:25,381 INFO L280 TraceCheckUtils]: 27: Hoare triple {10533#true} havoc #t~short24; {10533#true} is VALID [2020-07-11 01:09:25,381 INFO L280 TraceCheckUtils]: 28: Hoare triple {10533#true} havoc #t~mem23.base, #t~mem23.offset; {10533#true} is VALID [2020-07-11 01:09:25,381 INFO L280 TraceCheckUtils]: 29: Hoare triple {10533#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {10533#true} is VALID [2020-07-11 01:09:25,381 INFO L280 TraceCheckUtils]: 30: Hoare triple {10533#true} ~root~0.base, ~root~0.offset := 0, 0; {10533#true} is VALID [2020-07-11 01:09:25,381 INFO L280 TraceCheckUtils]: 31: Hoare triple {10533#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {10533#true} is VALID [2020-07-11 01:09:25,382 INFO L280 TraceCheckUtils]: 32: Hoare triple {10533#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {10533#true} is VALID [2020-07-11 01:09:25,383 INFO L280 TraceCheckUtils]: 33: Hoare triple {10533#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {10540#(= 1 (select |#valid| |main_#t~malloc29.base|))} is VALID [2020-07-11 01:09:25,384 INFO L280 TraceCheckUtils]: 34: Hoare triple {10540#(= 1 (select |#valid| |main_#t~malloc29.base|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {10541#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-11 01:09:25,384 INFO L280 TraceCheckUtils]: 35: Hoare triple {10541#(= 1 (select |#valid| main_~a~0.base))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {10541#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-11 01:09:25,385 INFO L280 TraceCheckUtils]: 36: Hoare triple {10541#(= 1 (select |#valid| main_~a~0.base))} havoc ~t~0.base, ~t~0.offset; {10541#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-11 01:09:25,385 INFO L280 TraceCheckUtils]: 37: Hoare triple {10541#(= 1 (select |#valid| main_~a~0.base))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {10542#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:25,386 INFO L280 TraceCheckUtils]: 38: Hoare triple {10542#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {10542#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:25,387 INFO L280 TraceCheckUtils]: 39: Hoare triple {10542#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !!(0 != #t~nondet30); {10542#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:25,388 INFO L280 TraceCheckUtils]: 40: Hoare triple {10542#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet30; {10542#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:25,389 INFO L280 TraceCheckUtils]: 41: Hoare triple {10542#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(1, ~p~0.base, ~p~0.offset, 4); srcloc: L589 {10543#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:25,390 INFO L280 TraceCheckUtils]: 42: Hoare triple {10543#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~malloc31.base, #t~malloc31.offset := #Ultimate.allocOnHeap(8); srcloc: L589-1 {10544#(and (= main_~a~0.base main_~p~0.base) (not (= main_~p~0.base |main_#t~malloc31.base|)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:25,391 INFO L280 TraceCheckUtils]: 43: Hoare triple {10544#(and (= main_~a~0.base main_~p~0.base) (not (= main_~p~0.base |main_#t~malloc31.base|)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset))} ~t~0.base, ~t~0.offset := #t~malloc31.base, #t~malloc31.offset; {10545#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:25,392 INFO L280 TraceCheckUtils]: 44: Hoare triple {10545#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {10545#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:25,393 INFO L280 TraceCheckUtils]: 45: Hoare triple {10545#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L591-3 {10546#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:25,403 INFO L280 TraceCheckUtils]: 46: Hoare triple {10546#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~mem32.base, #t~mem32.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L592 {10547#(and (not (= main_~a~0.base |main_#t~mem32.base|)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:25,404 INFO L280 TraceCheckUtils]: 47: Hoare triple {10547#(and (not (= main_~a~0.base |main_#t~mem32.base|)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} ~p~0.base, ~p~0.offset := #t~mem32.base, #t~mem32.offset; {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:25,404 INFO L280 TraceCheckUtils]: 48: Hoare triple {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} havoc #t~mem32.base, #t~mem32.offset; {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:25,405 INFO L280 TraceCheckUtils]: 49: Hoare triple {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:25,406 INFO L280 TraceCheckUtils]: 50: Hoare triple {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume !(0 != #t~nondet30); {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:25,407 INFO L280 TraceCheckUtils]: 51: Hoare triple {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} havoc #t~nondet30; {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:25,407 INFO L280 TraceCheckUtils]: 52: Hoare triple {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:25,408 INFO L280 TraceCheckUtils]: 53: Hoare triple {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume !(0 != #t~nondet33); {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:25,409 INFO L280 TraceCheckUtils]: 54: Hoare triple {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} havoc #t~nondet33; {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:25,410 INFO L280 TraceCheckUtils]: 55: Hoare triple {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {10549#(= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-11 01:09:25,411 INFO L280 TraceCheckUtils]: 56: Hoare triple {10549#(= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {10550#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:25,411 INFO L280 TraceCheckUtils]: 57: Hoare triple {10550#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {10550#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:25,412 INFO L280 TraceCheckUtils]: 58: Hoare triple {10550#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(2 == #t~mem36); {10550#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:25,412 INFO L280 TraceCheckUtils]: 59: Hoare triple {10550#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem36; {10550#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:25,413 INFO L280 TraceCheckUtils]: 60: Hoare triple {10550#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {10551#(= |main_#t~mem38| 1)} is VALID [2020-07-11 01:09:25,413 INFO L280 TraceCheckUtils]: 61: Hoare triple {10551#(= |main_#t~mem38| 1)} assume !(1 == #t~mem38); {10534#false} is VALID [2020-07-11 01:09:25,414 INFO L280 TraceCheckUtils]: 62: Hoare triple {10534#false} havoc #t~mem38; {10534#false} is VALID [2020-07-11 01:09:25,414 INFO L280 TraceCheckUtils]: 63: Hoare triple {10534#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {10534#false} is VALID [2020-07-11 01:09:25,414 INFO L280 TraceCheckUtils]: 64: Hoare triple {10534#false} assume 3 != #t~mem40; {10534#false} is VALID [2020-07-11 01:09:25,414 INFO L280 TraceCheckUtils]: 65: Hoare triple {10534#false} havoc #t~mem40; {10534#false} is VALID [2020-07-11 01:09:25,414 INFO L280 TraceCheckUtils]: 66: Hoare triple {10534#false} assume !false; {10534#false} is VALID [2020-07-11 01:09:25,424 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-11 01:09:25,425 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1071629577] [2020-07-11 01:09:25,425 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:09:25,425 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15] total 15 [2020-07-11 01:09:25,426 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1767235873] [2020-07-11 01:09:25,427 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 67 [2020-07-11 01:09:25,427 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:09:25,428 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2020-07-11 01:09:25,508 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:25,508 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2020-07-11 01:09:25,508 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:09:25,509 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2020-07-11 01:09:25,509 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2020-07-11 01:09:25,509 INFO L87 Difference]: Start difference. First operand 223 states and 247 transitions. Second operand 15 states. [2020-07-11 01:09:30,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:30,276 INFO L93 Difference]: Finished difference Result 326 states and 357 transitions. [2020-07-11 01:09:30,276 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-11 01:09:30,276 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 67 [2020-07-11 01:09:30,276 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:09:30,276 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-11 01:09:30,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 307 transitions. [2020-07-11 01:09:30,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-11 01:09:30,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 307 transitions. [2020-07-11 01:09:30,284 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 307 transitions. [2020-07-11 01:09:30,658 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 307 edges. 307 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:30,671 INFO L225 Difference]: With dead ends: 326 [2020-07-11 01:09:30,672 INFO L226 Difference]: Without dead ends: 320 [2020-07-11 01:09:30,673 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 144 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=228, Invalid=764, Unknown=0, NotChecked=0, Total=992 [2020-07-11 01:09:30,674 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 320 states. [2020-07-11 01:09:31,201 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 320 to 245. [2020-07-11 01:09:31,201 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:09:31,201 INFO L82 GeneralOperation]: Start isEquivalent. First operand 320 states. Second operand 245 states. [2020-07-11 01:09:31,201 INFO L74 IsIncluded]: Start isIncluded. First operand 320 states. Second operand 245 states. [2020-07-11 01:09:31,202 INFO L87 Difference]: Start difference. First operand 320 states. Second operand 245 states. [2020-07-11 01:09:31,212 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:31,212 INFO L93 Difference]: Finished difference Result 320 states and 351 transitions. [2020-07-11 01:09:31,212 INFO L276 IsEmpty]: Start isEmpty. Operand 320 states and 351 transitions. [2020-07-11 01:09:31,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:31,213 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:31,214 INFO L74 IsIncluded]: Start isIncluded. First operand 245 states. Second operand 320 states. [2020-07-11 01:09:31,214 INFO L87 Difference]: Start difference. First operand 245 states. Second operand 320 states. [2020-07-11 01:09:31,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:31,222 INFO L93 Difference]: Finished difference Result 320 states and 351 transitions. [2020-07-11 01:09:31,222 INFO L276 IsEmpty]: Start isEmpty. Operand 320 states and 351 transitions. [2020-07-11 01:09:31,223 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:31,223 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:31,223 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:09:31,223 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:09:31,223 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 245 states. [2020-07-11 01:09:31,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 245 states to 245 states and 272 transitions. [2020-07-11 01:09:31,229 INFO L78 Accepts]: Start accepts. Automaton has 245 states and 272 transitions. Word has length 67 [2020-07-11 01:09:31,229 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:09:31,229 INFO L479 AbstractCegarLoop]: Abstraction has 245 states and 272 transitions. [2020-07-11 01:09:31,229 INFO L480 AbstractCegarLoop]: Interpolant automaton has 15 states. [2020-07-11 01:09:31,229 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 245 states and 272 transitions. [2020-07-11 01:09:31,672 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 272 edges. 272 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:31,672 INFO L276 IsEmpty]: Start isEmpty. Operand 245 states and 272 transitions. [2020-07-11 01:09:31,674 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2020-07-11 01:09:31,674 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:09:31,675 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-11 01:09:31,675 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-11 01:09:31,675 INFO L427 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:09:31,676 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:09:31,676 INFO L82 PathProgramCache]: Analyzing trace with hash -838472334, now seen corresponding path program 1 times [2020-07-11 01:09:31,676 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:09:31,677 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [468155944] [2020-07-11 01:09:31,677 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:09:31,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:32,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:32,436 INFO L280 TraceCheckUtils]: 0: Hoare triple {12392#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {12371#true} is VALID [2020-07-11 01:09:32,437 INFO L280 TraceCheckUtils]: 1: Hoare triple {12371#true} #valid := #valid[0 := 0]; {12371#true} is VALID [2020-07-11 01:09:32,437 INFO L280 TraceCheckUtils]: 2: Hoare triple {12371#true} assume 0 < #StackHeapBarrier; {12371#true} is VALID [2020-07-11 01:09:32,437 INFO L280 TraceCheckUtils]: 3: Hoare triple {12371#true} assume true; {12371#true} is VALID [2020-07-11 01:09:32,437 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {12371#true} {12371#true} #349#return; {12371#true} is VALID [2020-07-11 01:09:32,438 INFO L263 TraceCheckUtils]: 0: Hoare triple {12371#true} call ULTIMATE.init(); {12392#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-11 01:09:32,439 INFO L280 TraceCheckUtils]: 1: Hoare triple {12392#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {12371#true} is VALID [2020-07-11 01:09:32,439 INFO L280 TraceCheckUtils]: 2: Hoare triple {12371#true} #valid := #valid[0 := 0]; {12371#true} is VALID [2020-07-11 01:09:32,439 INFO L280 TraceCheckUtils]: 3: Hoare triple {12371#true} assume 0 < #StackHeapBarrier; {12371#true} is VALID [2020-07-11 01:09:32,439 INFO L280 TraceCheckUtils]: 4: Hoare triple {12371#true} assume true; {12371#true} is VALID [2020-07-11 01:09:32,439 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {12371#true} {12371#true} #349#return; {12371#true} is VALID [2020-07-11 01:09:32,440 INFO L263 TraceCheckUtils]: 6: Hoare triple {12371#true} call #t~ret41 := main(); {12371#true} is VALID [2020-07-11 01:09:32,440 INFO L280 TraceCheckUtils]: 7: Hoare triple {12371#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {12378#(= 0 |main_#t~malloc2.offset|)} is VALID [2020-07-11 01:09:32,441 INFO L280 TraceCheckUtils]: 8: Hoare triple {12378#(= 0 |main_#t~malloc2.offset|)} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {12371#true} is VALID [2020-07-11 01:09:32,441 INFO L280 TraceCheckUtils]: 9: Hoare triple {12371#true} havoc ~n~0.base, ~n~0.offset; {12371#true} is VALID [2020-07-11 01:09:32,441 INFO L280 TraceCheckUtils]: 10: Hoare triple {12371#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {12371#true} is VALID [2020-07-11 01:09:32,441 INFO L280 TraceCheckUtils]: 11: Hoare triple {12371#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {12371#true} is VALID [2020-07-11 01:09:32,441 INFO L280 TraceCheckUtils]: 12: Hoare triple {12371#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {12371#true} is VALID [2020-07-11 01:09:32,441 INFO L280 TraceCheckUtils]: 13: Hoare triple {12371#true} assume !(0 != #t~nondet3); {12371#true} is VALID [2020-07-11 01:09:32,442 INFO L280 TraceCheckUtils]: 14: Hoare triple {12371#true} havoc #t~nondet3; {12371#true} is VALID [2020-07-11 01:09:32,442 INFO L280 TraceCheckUtils]: 15: Hoare triple {12371#true} ~n~0.base, ~n~0.offset := 0, 0; {12371#true} is VALID [2020-07-11 01:09:32,442 INFO L280 TraceCheckUtils]: 16: Hoare triple {12371#true} havoc ~pred~0.base, ~pred~0.offset; {12371#true} is VALID [2020-07-11 01:09:32,442 INFO L280 TraceCheckUtils]: 17: Hoare triple {12371#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {12371#true} is VALID [2020-07-11 01:09:32,442 INFO L280 TraceCheckUtils]: 18: Hoare triple {12371#true} ~pred~0.base, ~pred~0.offset := 0, 0; {12371#true} is VALID [2020-07-11 01:09:32,442 INFO L280 TraceCheckUtils]: 19: Hoare triple {12371#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {12371#true} is VALID [2020-07-11 01:09:32,443 INFO L280 TraceCheckUtils]: 20: Hoare triple {12371#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {12371#true} is VALID [2020-07-11 01:09:32,443 INFO L280 TraceCheckUtils]: 21: Hoare triple {12371#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {12371#true} is VALID [2020-07-11 01:09:32,443 INFO L280 TraceCheckUtils]: 22: Hoare triple {12371#true} assume !#t~short24; {12371#true} is VALID [2020-07-11 01:09:32,443 INFO L280 TraceCheckUtils]: 23: Hoare triple {12371#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {12371#true} is VALID [2020-07-11 01:09:32,443 INFO L280 TraceCheckUtils]: 24: Hoare triple {12371#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {12371#true} is VALID [2020-07-11 01:09:32,444 INFO L280 TraceCheckUtils]: 25: Hoare triple {12371#true} assume !#t~short24; {12371#true} is VALID [2020-07-11 01:09:32,444 INFO L280 TraceCheckUtils]: 26: Hoare triple {12371#true} havoc #t~mem22.base, #t~mem22.offset; {12371#true} is VALID [2020-07-11 01:09:32,444 INFO L280 TraceCheckUtils]: 27: Hoare triple {12371#true} havoc #t~short24; {12371#true} is VALID [2020-07-11 01:09:32,445 INFO L280 TraceCheckUtils]: 28: Hoare triple {12371#true} havoc #t~mem23.base, #t~mem23.offset; {12371#true} is VALID [2020-07-11 01:09:32,446 INFO L280 TraceCheckUtils]: 29: Hoare triple {12371#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {12371#true} is VALID [2020-07-11 01:09:32,446 INFO L280 TraceCheckUtils]: 30: Hoare triple {12371#true} ~root~0.base, ~root~0.offset := 0, 0; {12371#true} is VALID [2020-07-11 01:09:32,446 INFO L280 TraceCheckUtils]: 31: Hoare triple {12371#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {12371#true} is VALID [2020-07-11 01:09:32,446 INFO L280 TraceCheckUtils]: 32: Hoare triple {12371#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {12371#true} is VALID [2020-07-11 01:09:32,454 INFO L280 TraceCheckUtils]: 33: Hoare triple {12371#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {12379#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-11 01:09:32,455 INFO L280 TraceCheckUtils]: 34: Hoare triple {12379#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {12380#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:09:32,457 INFO L280 TraceCheckUtils]: 35: Hoare triple {12380#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {12380#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:09:32,460 INFO L280 TraceCheckUtils]: 36: Hoare triple {12380#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {12380#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:09:32,461 INFO L280 TraceCheckUtils]: 37: Hoare triple {12380#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:09:32,462 INFO L280 TraceCheckUtils]: 38: Hoare triple {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:09:32,462 INFO L280 TraceCheckUtils]: 39: Hoare triple {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume !(0 != #t~nondet30); {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:09:32,464 INFO L280 TraceCheckUtils]: 40: Hoare triple {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} havoc #t~nondet30; {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:09:32,465 INFO L280 TraceCheckUtils]: 41: Hoare triple {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:09:32,465 INFO L280 TraceCheckUtils]: 42: Hoare triple {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume !!(0 != #t~nondet33); {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:09:32,466 INFO L280 TraceCheckUtils]: 43: Hoare triple {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} havoc #t~nondet33; {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:09:32,467 INFO L280 TraceCheckUtils]: 44: Hoare triple {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:09:32,468 INFO L280 TraceCheckUtils]: 45: Hoare triple {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {12382#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} is VALID [2020-07-11 01:09:32,468 INFO L280 TraceCheckUtils]: 46: Hoare triple {12382#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {12383#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-11 01:09:32,469 INFO L280 TraceCheckUtils]: 47: Hoare triple {12383#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {12383#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-11 01:09:32,471 INFO L280 TraceCheckUtils]: 48: Hoare triple {12383#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {12384#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:09:32,472 INFO L280 TraceCheckUtils]: 49: Hoare triple {12384#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {12385#(and (= |main_#t~mem35.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (not (= main_~a~0.base |main_#t~mem35.base|)) (= |main_#t~mem35.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:09:32,473 INFO L280 TraceCheckUtils]: 50: Hoare triple {12385#(and (= |main_#t~mem35.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (not (= main_~a~0.base |main_#t~mem35.base|)) (= |main_#t~mem35.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {12386#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:09:32,474 INFO L280 TraceCheckUtils]: 51: Hoare triple {12386#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~mem35.base, #t~mem35.offset; {12386#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:09:32,475 INFO L280 TraceCheckUtils]: 52: Hoare triple {12386#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {12386#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:09:32,475 INFO L280 TraceCheckUtils]: 53: Hoare triple {12386#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume !(0 != #t~nondet33); {12386#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:09:32,476 INFO L280 TraceCheckUtils]: 54: Hoare triple {12386#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~nondet33; {12386#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:09:32,477 INFO L280 TraceCheckUtils]: 55: Hoare triple {12386#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {12387#(and (= 0 main_~a~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))))} is VALID [2020-07-11 01:09:32,478 INFO L280 TraceCheckUtils]: 56: Hoare triple {12387#(and (= 0 main_~a~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {12388#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:09:32,479 INFO L280 TraceCheckUtils]: 57: Hoare triple {12388#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {12388#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:09:32,480 INFO L280 TraceCheckUtils]: 58: Hoare triple {12388#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} assume !!(2 == #t~mem36); {12388#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:09:32,481 INFO L280 TraceCheckUtils]: 59: Hoare triple {12388#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} havoc #t~mem36; {12388#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:09:32,481 INFO L280 TraceCheckUtils]: 60: Hoare triple {12388#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem37.base, #t~mem37.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L605 {12389#(= 3 (select (select |#memory_int| |main_#t~mem37.base|) |main_#t~mem37.offset|))} is VALID [2020-07-11 01:09:32,482 INFO L280 TraceCheckUtils]: 61: Hoare triple {12389#(= 3 (select (select |#memory_int| |main_#t~mem37.base|) |main_#t~mem37.offset|))} ~p~0.base, ~p~0.offset := #t~mem37.base, #t~mem37.offset; {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:32,482 INFO L280 TraceCheckUtils]: 62: Hoare triple {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem37.base, #t~mem37.offset; {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:32,483 INFO L280 TraceCheckUtils]: 63: Hoare triple {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:32,483 INFO L280 TraceCheckUtils]: 64: Hoare triple {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(2 == #t~mem36); {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:32,483 INFO L280 TraceCheckUtils]: 65: Hoare triple {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem36; {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:32,484 INFO L280 TraceCheckUtils]: 66: Hoare triple {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:32,484 INFO L280 TraceCheckUtils]: 67: Hoare triple {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(1 == #t~mem38); {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:32,485 INFO L280 TraceCheckUtils]: 68: Hoare triple {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem38; {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:32,485 INFO L280 TraceCheckUtils]: 69: Hoare triple {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {12391#(= |main_#t~mem40| 3)} is VALID [2020-07-11 01:09:32,486 INFO L280 TraceCheckUtils]: 70: Hoare triple {12391#(= |main_#t~mem40| 3)} assume 3 != #t~mem40; {12372#false} is VALID [2020-07-11 01:09:32,486 INFO L280 TraceCheckUtils]: 71: Hoare triple {12372#false} havoc #t~mem40; {12372#false} is VALID [2020-07-11 01:09:32,486 INFO L280 TraceCheckUtils]: 72: Hoare triple {12372#false} assume !false; {12372#false} is VALID [2020-07-11 01:09:32,496 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-11 01:09:32,497 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [468155944] [2020-07-11 01:09:32,497 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:09:32,497 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2020-07-11 01:09:32,500 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1568462580] [2020-07-11 01:09:32,501 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 73 [2020-07-11 01:09:32,503 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:09:32,503 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-11 01:09:32,596 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:32,597 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-11 01:09:32,597 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:09:32,597 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-11 01:09:32,598 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=240, Unknown=0, NotChecked=0, Total=272 [2020-07-11 01:09:32,598 INFO L87 Difference]: Start difference. First operand 245 states and 272 transitions. Second operand 17 states. [2020-07-11 01:09:38,872 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:38,873 INFO L93 Difference]: Finished difference Result 310 states and 340 transitions. [2020-07-11 01:09:38,873 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-11 01:09:38,873 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 73 [2020-07-11 01:09:38,873 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:09:38,873 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-11 01:09:38,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 282 transitions. [2020-07-11 01:09:38,876 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-11 01:09:38,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 282 transitions. [2020-07-11 01:09:38,878 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 282 transitions. [2020-07-11 01:09:39,286 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 282 edges. 282 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:39,293 INFO L225 Difference]: With dead ends: 310 [2020-07-11 01:09:39,293 INFO L226 Difference]: Without dead ends: 304 [2020-07-11 01:09:39,294 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=215, Invalid=907, Unknown=0, NotChecked=0, Total=1122 [2020-07-11 01:09:39,295 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 304 states. [2020-07-11 01:09:40,151 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 304 to 249. [2020-07-11 01:09:40,151 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:09:40,151 INFO L82 GeneralOperation]: Start isEquivalent. First operand 304 states. Second operand 249 states. [2020-07-11 01:09:40,152 INFO L74 IsIncluded]: Start isIncluded. First operand 304 states. Second operand 249 states. [2020-07-11 01:09:40,152 INFO L87 Difference]: Start difference. First operand 304 states. Second operand 249 states. [2020-07-11 01:09:40,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:40,160 INFO L93 Difference]: Finished difference Result 304 states and 334 transitions. [2020-07-11 01:09:40,160 INFO L276 IsEmpty]: Start isEmpty. Operand 304 states and 334 transitions. [2020-07-11 01:09:40,161 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:40,161 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:40,161 INFO L74 IsIncluded]: Start isIncluded. First operand 249 states. Second operand 304 states. [2020-07-11 01:09:40,161 INFO L87 Difference]: Start difference. First operand 249 states. Second operand 304 states. [2020-07-11 01:09:40,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:40,170 INFO L93 Difference]: Finished difference Result 304 states and 334 transitions. [2020-07-11 01:09:40,171 INFO L276 IsEmpty]: Start isEmpty. Operand 304 states and 334 transitions. [2020-07-11 01:09:40,171 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:40,172 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:40,172 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:09:40,172 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:09:40,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 249 states. [2020-07-11 01:09:40,177 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 249 states to 249 states and 276 transitions. [2020-07-11 01:09:40,178 INFO L78 Accepts]: Start accepts. Automaton has 249 states and 276 transitions. Word has length 73 [2020-07-11 01:09:40,178 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:09:40,178 INFO L479 AbstractCegarLoop]: Abstraction has 249 states and 276 transitions. [2020-07-11 01:09:40,178 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-11 01:09:40,179 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 249 states and 276 transitions. [2020-07-11 01:09:40,705 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 276 edges. 276 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:40,705 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 276 transitions. [2020-07-11 01:09:40,707 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2020-07-11 01:09:40,707 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:09:40,707 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-11 01:09:40,707 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-11 01:09:40,708 INFO L427 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:09:40,708 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:09:40,708 INFO L82 PathProgramCache]: Analyzing trace with hash -1654345840, now seen corresponding path program 1 times [2020-07-11 01:09:40,708 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:09:40,709 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2124100429] [2020-07-11 01:09:40,709 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:09:40,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:41,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:41,309 INFO L280 TraceCheckUtils]: 0: Hoare triple {14176#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {14155#true} is VALID [2020-07-11 01:09:41,310 INFO L280 TraceCheckUtils]: 1: Hoare triple {14155#true} #valid := #valid[0 := 0]; {14155#true} is VALID [2020-07-11 01:09:41,310 INFO L280 TraceCheckUtils]: 2: Hoare triple {14155#true} assume 0 < #StackHeapBarrier; {14155#true} is VALID [2020-07-11 01:09:41,310 INFO L280 TraceCheckUtils]: 3: Hoare triple {14155#true} assume true; {14155#true} is VALID [2020-07-11 01:09:41,310 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {14155#true} {14155#true} #349#return; {14155#true} is VALID [2020-07-11 01:09:41,311 INFO L263 TraceCheckUtils]: 0: Hoare triple {14155#true} call ULTIMATE.init(); {14176#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-11 01:09:41,312 INFO L280 TraceCheckUtils]: 1: Hoare triple {14176#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {14155#true} is VALID [2020-07-11 01:09:41,312 INFO L280 TraceCheckUtils]: 2: Hoare triple {14155#true} #valid := #valid[0 := 0]; {14155#true} is VALID [2020-07-11 01:09:41,312 INFO L280 TraceCheckUtils]: 3: Hoare triple {14155#true} assume 0 < #StackHeapBarrier; {14155#true} is VALID [2020-07-11 01:09:41,312 INFO L280 TraceCheckUtils]: 4: Hoare triple {14155#true} assume true; {14155#true} is VALID [2020-07-11 01:09:41,312 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {14155#true} {14155#true} #349#return; {14155#true} is VALID [2020-07-11 01:09:41,313 INFO L263 TraceCheckUtils]: 6: Hoare triple {14155#true} call #t~ret41 := main(); {14155#true} is VALID [2020-07-11 01:09:41,313 INFO L280 TraceCheckUtils]: 7: Hoare triple {14155#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {14162#(= 0 |main_#t~malloc2.offset|)} is VALID [2020-07-11 01:09:41,314 INFO L280 TraceCheckUtils]: 8: Hoare triple {14162#(= 0 |main_#t~malloc2.offset|)} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {14155#true} is VALID [2020-07-11 01:09:41,314 INFO L280 TraceCheckUtils]: 9: Hoare triple {14155#true} havoc ~n~0.base, ~n~0.offset; {14155#true} is VALID [2020-07-11 01:09:41,314 INFO L280 TraceCheckUtils]: 10: Hoare triple {14155#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {14155#true} is VALID [2020-07-11 01:09:41,314 INFO L280 TraceCheckUtils]: 11: Hoare triple {14155#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {14155#true} is VALID [2020-07-11 01:09:41,314 INFO L280 TraceCheckUtils]: 12: Hoare triple {14155#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {14155#true} is VALID [2020-07-11 01:09:41,315 INFO L280 TraceCheckUtils]: 13: Hoare triple {14155#true} assume !(0 != #t~nondet3); {14155#true} is VALID [2020-07-11 01:09:41,315 INFO L280 TraceCheckUtils]: 14: Hoare triple {14155#true} havoc #t~nondet3; {14155#true} is VALID [2020-07-11 01:09:41,315 INFO L280 TraceCheckUtils]: 15: Hoare triple {14155#true} ~n~0.base, ~n~0.offset := 0, 0; {14155#true} is VALID [2020-07-11 01:09:41,315 INFO L280 TraceCheckUtils]: 16: Hoare triple {14155#true} havoc ~pred~0.base, ~pred~0.offset; {14155#true} is VALID [2020-07-11 01:09:41,315 INFO L280 TraceCheckUtils]: 17: Hoare triple {14155#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {14155#true} is VALID [2020-07-11 01:09:41,315 INFO L280 TraceCheckUtils]: 18: Hoare triple {14155#true} ~pred~0.base, ~pred~0.offset := 0, 0; {14155#true} is VALID [2020-07-11 01:09:41,316 INFO L280 TraceCheckUtils]: 19: Hoare triple {14155#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {14155#true} is VALID [2020-07-11 01:09:41,316 INFO L280 TraceCheckUtils]: 20: Hoare triple {14155#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {14155#true} is VALID [2020-07-11 01:09:41,316 INFO L280 TraceCheckUtils]: 21: Hoare triple {14155#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {14155#true} is VALID [2020-07-11 01:09:41,316 INFO L280 TraceCheckUtils]: 22: Hoare triple {14155#true} assume !#t~short24; {14155#true} is VALID [2020-07-11 01:09:41,316 INFO L280 TraceCheckUtils]: 23: Hoare triple {14155#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {14155#true} is VALID [2020-07-11 01:09:41,317 INFO L280 TraceCheckUtils]: 24: Hoare triple {14155#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {14155#true} is VALID [2020-07-11 01:09:41,317 INFO L280 TraceCheckUtils]: 25: Hoare triple {14155#true} assume !#t~short24; {14155#true} is VALID [2020-07-11 01:09:41,317 INFO L280 TraceCheckUtils]: 26: Hoare triple {14155#true} havoc #t~mem22.base, #t~mem22.offset; {14155#true} is VALID [2020-07-11 01:09:41,318 INFO L280 TraceCheckUtils]: 27: Hoare triple {14155#true} havoc #t~short24; {14155#true} is VALID [2020-07-11 01:09:41,318 INFO L280 TraceCheckUtils]: 28: Hoare triple {14155#true} havoc #t~mem23.base, #t~mem23.offset; {14155#true} is VALID [2020-07-11 01:09:41,318 INFO L280 TraceCheckUtils]: 29: Hoare triple {14155#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {14155#true} is VALID [2020-07-11 01:09:41,318 INFO L280 TraceCheckUtils]: 30: Hoare triple {14155#true} ~root~0.base, ~root~0.offset := 0, 0; {14155#true} is VALID [2020-07-11 01:09:41,318 INFO L280 TraceCheckUtils]: 31: Hoare triple {14155#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {14155#true} is VALID [2020-07-11 01:09:41,319 INFO L280 TraceCheckUtils]: 32: Hoare triple {14155#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {14155#true} is VALID [2020-07-11 01:09:41,320 INFO L280 TraceCheckUtils]: 33: Hoare triple {14155#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {14163#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-11 01:09:41,321 INFO L280 TraceCheckUtils]: 34: Hoare triple {14163#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {14164#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:09:41,322 INFO L280 TraceCheckUtils]: 35: Hoare triple {14164#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {14164#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:09:41,323 INFO L280 TraceCheckUtils]: 36: Hoare triple {14164#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {14164#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:09:41,324 INFO L280 TraceCheckUtils]: 37: Hoare triple {14164#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {14165#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:09:41,325 INFO L280 TraceCheckUtils]: 38: Hoare triple {14165#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {14165#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:09:41,326 INFO L280 TraceCheckUtils]: 39: Hoare triple {14165#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume !!(0 != #t~nondet30); {14165#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:09:41,326 INFO L280 TraceCheckUtils]: 40: Hoare triple {14165#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} havoc #t~nondet30; {14165#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:09:41,327 INFO L280 TraceCheckUtils]: 41: Hoare triple {14165#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call write~int(1, ~p~0.base, ~p~0.offset, 4); srcloc: L589 {14165#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:09:41,329 INFO L280 TraceCheckUtils]: 42: Hoare triple {14165#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call #t~malloc31.base, #t~malloc31.offset := #Ultimate.allocOnHeap(8); srcloc: L589-1 {14166#(and (= main_~a~0.base main_~p~0.base) (not (= main_~p~0.base |main_#t~malloc31.base|)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:09:41,330 INFO L280 TraceCheckUtils]: 43: Hoare triple {14166#(and (= main_~a~0.base main_~p~0.base) (not (= main_~p~0.base |main_#t~malloc31.base|)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} ~t~0.base, ~t~0.offset := #t~malloc31.base, #t~malloc31.offset; {14167#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-11 01:09:41,330 INFO L280 TraceCheckUtils]: 44: Hoare triple {14167#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {14167#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-11 01:09:41,332 INFO L280 TraceCheckUtils]: 45: Hoare triple {14167#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L591-3 {14168#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:09:41,334 INFO L280 TraceCheckUtils]: 46: Hoare triple {14168#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} SUMMARY for call #t~mem32.base, #t~mem32.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L592 {14169#(and (not (= main_~a~0.base |main_#t~mem32.base|)) (= 0 main_~a~0.offset) (= |main_#t~mem32.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= |main_#t~mem32.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)))} is VALID [2020-07-11 01:09:41,335 INFO L280 TraceCheckUtils]: 47: Hoare triple {14169#(and (not (= main_~a~0.base |main_#t~mem32.base|)) (= 0 main_~a~0.offset) (= |main_#t~mem32.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= |main_#t~mem32.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)))} ~p~0.base, ~p~0.offset := #t~mem32.base, #t~mem32.offset; {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:09:41,336 INFO L280 TraceCheckUtils]: 48: Hoare triple {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~mem32.base, #t~mem32.offset; {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:09:41,337 INFO L280 TraceCheckUtils]: 49: Hoare triple {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:09:41,338 INFO L280 TraceCheckUtils]: 50: Hoare triple {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume !(0 != #t~nondet30); {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:09:41,339 INFO L280 TraceCheckUtils]: 51: Hoare triple {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~nondet30; {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:09:41,340 INFO L280 TraceCheckUtils]: 52: Hoare triple {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:09:41,341 INFO L280 TraceCheckUtils]: 53: Hoare triple {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume !(0 != #t~nondet33); {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:09:41,342 INFO L280 TraceCheckUtils]: 54: Hoare triple {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~nondet33; {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:09:41,343 INFO L280 TraceCheckUtils]: 55: Hoare triple {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {14171#(and (= 0 main_~a~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))))} is VALID [2020-07-11 01:09:41,344 INFO L280 TraceCheckUtils]: 56: Hoare triple {14171#(and (= 0 main_~a~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:09:41,345 INFO L280 TraceCheckUtils]: 57: Hoare triple {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:09:41,346 INFO L280 TraceCheckUtils]: 58: Hoare triple {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} assume !(2 == #t~mem36); {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:09:41,347 INFO L280 TraceCheckUtils]: 59: Hoare triple {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} havoc #t~mem36; {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:09:41,348 INFO L280 TraceCheckUtils]: 60: Hoare triple {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:09:41,349 INFO L280 TraceCheckUtils]: 61: Hoare triple {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} assume !!(1 == #t~mem38); {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:09:41,350 INFO L280 TraceCheckUtils]: 62: Hoare triple {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} havoc #t~mem38; {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:09:41,351 INFO L280 TraceCheckUtils]: 63: Hoare triple {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem39.base, #t~mem39.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L607 {14173#(= 3 (select (select |#memory_int| |main_#t~mem39.base|) |main_#t~mem39.offset|))} is VALID [2020-07-11 01:09:41,352 INFO L280 TraceCheckUtils]: 64: Hoare triple {14173#(= 3 (select (select |#memory_int| |main_#t~mem39.base|) |main_#t~mem39.offset|))} ~p~0.base, ~p~0.offset := #t~mem39.base, #t~mem39.offset; {14174#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:41,352 INFO L280 TraceCheckUtils]: 65: Hoare triple {14174#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem39.base, #t~mem39.offset; {14174#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:41,353 INFO L280 TraceCheckUtils]: 66: Hoare triple {14174#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {14174#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:41,353 INFO L280 TraceCheckUtils]: 67: Hoare triple {14174#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(1 == #t~mem38); {14174#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:41,354 INFO L280 TraceCheckUtils]: 68: Hoare triple {14174#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem38; {14174#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:41,355 INFO L280 TraceCheckUtils]: 69: Hoare triple {14174#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {14175#(= |main_#t~mem40| 3)} is VALID [2020-07-11 01:09:41,355 INFO L280 TraceCheckUtils]: 70: Hoare triple {14175#(= |main_#t~mem40| 3)} assume 3 != #t~mem40; {14156#false} is VALID [2020-07-11 01:09:41,356 INFO L280 TraceCheckUtils]: 71: Hoare triple {14156#false} havoc #t~mem40; {14156#false} is VALID [2020-07-11 01:09:41,356 INFO L280 TraceCheckUtils]: 72: Hoare triple {14156#false} assume !false; {14156#false} is VALID [2020-07-11 01:09:41,372 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-11 01:09:41,373 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2124100429] [2020-07-11 01:09:41,373 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:09:41,373 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2020-07-11 01:09:41,373 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [820875940] [2020-07-11 01:09:41,374 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 73 [2020-07-11 01:09:41,374 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:09:41,374 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-11 01:09:41,465 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:41,466 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-11 01:09:41,466 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:09:41,466 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-11 01:09:41,467 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=240, Unknown=0, NotChecked=0, Total=272 [2020-07-11 01:09:41,467 INFO L87 Difference]: Start difference. First operand 249 states and 276 transitions. Second operand 17 states. [2020-07-11 01:09:48,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:48,325 INFO L93 Difference]: Finished difference Result 324 states and 354 transitions. [2020-07-11 01:09:48,325 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-11 01:09:48,325 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 73 [2020-07-11 01:09:48,326 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:09:48,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-11 01:09:48,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 294 transitions. [2020-07-11 01:09:48,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-11 01:09:48,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 294 transitions. [2020-07-11 01:09:48,332 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 294 transitions. [2020-07-11 01:09:48,779 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 294 edges. 294 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:48,786 INFO L225 Difference]: With dead ends: 324 [2020-07-11 01:09:48,786 INFO L226 Difference]: Without dead ends: 318 [2020-07-11 01:09:48,787 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 95 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=215, Invalid=907, Unknown=0, NotChecked=0, Total=1122 [2020-07-11 01:09:48,788 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 318 states. [2020-07-11 01:09:49,771 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 318 to 258. [2020-07-11 01:09:49,771 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:09:49,772 INFO L82 GeneralOperation]: Start isEquivalent. First operand 318 states. Second operand 258 states. [2020-07-11 01:09:49,772 INFO L74 IsIncluded]: Start isIncluded. First operand 318 states. Second operand 258 states. [2020-07-11 01:09:49,772 INFO L87 Difference]: Start difference. First operand 318 states. Second operand 258 states. [2020-07-11 01:09:49,779 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:49,780 INFO L93 Difference]: Finished difference Result 318 states and 348 transitions. [2020-07-11 01:09:49,780 INFO L276 IsEmpty]: Start isEmpty. Operand 318 states and 348 transitions. [2020-07-11 01:09:49,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:49,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:49,781 INFO L74 IsIncluded]: Start isIncluded. First operand 258 states. Second operand 318 states. [2020-07-11 01:09:49,781 INFO L87 Difference]: Start difference. First operand 258 states. Second operand 318 states. [2020-07-11 01:09:49,789 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:49,789 INFO L93 Difference]: Finished difference Result 318 states and 348 transitions. [2020-07-11 01:09:49,789 INFO L276 IsEmpty]: Start isEmpty. Operand 318 states and 348 transitions. [2020-07-11 01:09:49,790 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:49,790 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:49,790 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:09:49,790 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:09:49,790 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 258 states. [2020-07-11 01:09:49,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 258 states to 258 states and 286 transitions. [2020-07-11 01:09:49,796 INFO L78 Accepts]: Start accepts. Automaton has 258 states and 286 transitions. Word has length 73 [2020-07-11 01:09:49,796 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:09:49,796 INFO L479 AbstractCegarLoop]: Abstraction has 258 states and 286 transitions. [2020-07-11 01:09:49,796 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-11 01:09:49,796 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 258 states and 286 transitions. [2020-07-11 01:09:50,391 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 286 edges. 286 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:50,392 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 286 transitions. [2020-07-11 01:09:50,393 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2020-07-11 01:09:50,394 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:09:50,394 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-11 01:09:50,394 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-11 01:09:50,395 INFO L427 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:09:50,395 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:09:50,395 INFO L82 PathProgramCache]: Analyzing trace with hash -617664064, now seen corresponding path program 1 times [2020-07-11 01:09:50,395 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:09:50,395 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [939723329] [2020-07-11 01:09:50,396 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:09:50,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:50,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:50,712 INFO L280 TraceCheckUtils]: 0: Hoare triple {16032#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {16013#true} is VALID [2020-07-11 01:09:50,712 INFO L280 TraceCheckUtils]: 1: Hoare triple {16013#true} #valid := #valid[0 := 0]; {16013#true} is VALID [2020-07-11 01:09:50,712 INFO L280 TraceCheckUtils]: 2: Hoare triple {16013#true} assume 0 < #StackHeapBarrier; {16013#true} is VALID [2020-07-11 01:09:50,712 INFO L280 TraceCheckUtils]: 3: Hoare triple {16013#true} assume true; {16013#true} is VALID [2020-07-11 01:09:50,712 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {16013#true} {16013#true} #349#return; {16013#true} is VALID [2020-07-11 01:09:50,713 INFO L263 TraceCheckUtils]: 0: Hoare triple {16013#true} call ULTIMATE.init(); {16032#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-11 01:09:50,713 INFO L280 TraceCheckUtils]: 1: Hoare triple {16032#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {16013#true} is VALID [2020-07-11 01:09:50,714 INFO L280 TraceCheckUtils]: 2: Hoare triple {16013#true} #valid := #valid[0 := 0]; {16013#true} is VALID [2020-07-11 01:09:50,714 INFO L280 TraceCheckUtils]: 3: Hoare triple {16013#true} assume 0 < #StackHeapBarrier; {16013#true} is VALID [2020-07-11 01:09:50,714 INFO L280 TraceCheckUtils]: 4: Hoare triple {16013#true} assume true; {16013#true} is VALID [2020-07-11 01:09:50,714 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {16013#true} {16013#true} #349#return; {16013#true} is VALID [2020-07-11 01:09:50,714 INFO L263 TraceCheckUtils]: 6: Hoare triple {16013#true} call #t~ret41 := main(); {16013#true} is VALID [2020-07-11 01:09:50,715 INFO L280 TraceCheckUtils]: 7: Hoare triple {16013#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {16013#true} is VALID [2020-07-11 01:09:50,715 INFO L280 TraceCheckUtils]: 8: Hoare triple {16013#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {16013#true} is VALID [2020-07-11 01:09:50,715 INFO L280 TraceCheckUtils]: 9: Hoare triple {16013#true} havoc ~n~0.base, ~n~0.offset; {16013#true} is VALID [2020-07-11 01:09:50,715 INFO L280 TraceCheckUtils]: 10: Hoare triple {16013#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {16013#true} is VALID [2020-07-11 01:09:50,716 INFO L280 TraceCheckUtils]: 11: Hoare triple {16013#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {16013#true} is VALID [2020-07-11 01:09:50,716 INFO L280 TraceCheckUtils]: 12: Hoare triple {16013#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {16013#true} is VALID [2020-07-11 01:09:50,716 INFO L280 TraceCheckUtils]: 13: Hoare triple {16013#true} assume !(0 != #t~nondet3); {16013#true} is VALID [2020-07-11 01:09:50,716 INFO L280 TraceCheckUtils]: 14: Hoare triple {16013#true} havoc #t~nondet3; {16013#true} is VALID [2020-07-11 01:09:50,716 INFO L280 TraceCheckUtils]: 15: Hoare triple {16013#true} ~n~0.base, ~n~0.offset := 0, 0; {16013#true} is VALID [2020-07-11 01:09:50,717 INFO L280 TraceCheckUtils]: 16: Hoare triple {16013#true} havoc ~pred~0.base, ~pred~0.offset; {16013#true} is VALID [2020-07-11 01:09:50,717 INFO L280 TraceCheckUtils]: 17: Hoare triple {16013#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {16013#true} is VALID [2020-07-11 01:09:50,717 INFO L280 TraceCheckUtils]: 18: Hoare triple {16013#true} ~pred~0.base, ~pred~0.offset := 0, 0; {16013#true} is VALID [2020-07-11 01:09:50,717 INFO L280 TraceCheckUtils]: 19: Hoare triple {16013#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {16013#true} is VALID [2020-07-11 01:09:50,717 INFO L280 TraceCheckUtils]: 20: Hoare triple {16013#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {16013#true} is VALID [2020-07-11 01:09:50,717 INFO L280 TraceCheckUtils]: 21: Hoare triple {16013#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {16013#true} is VALID [2020-07-11 01:09:50,717 INFO L280 TraceCheckUtils]: 22: Hoare triple {16013#true} assume !#t~short24; {16013#true} is VALID [2020-07-11 01:09:50,718 INFO L280 TraceCheckUtils]: 23: Hoare triple {16013#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {16013#true} is VALID [2020-07-11 01:09:50,718 INFO L280 TraceCheckUtils]: 24: Hoare triple {16013#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {16013#true} is VALID [2020-07-11 01:09:50,718 INFO L280 TraceCheckUtils]: 25: Hoare triple {16013#true} assume !#t~short24; {16013#true} is VALID [2020-07-11 01:09:50,718 INFO L280 TraceCheckUtils]: 26: Hoare triple {16013#true} havoc #t~mem22.base, #t~mem22.offset; {16013#true} is VALID [2020-07-11 01:09:50,718 INFO L280 TraceCheckUtils]: 27: Hoare triple {16013#true} havoc #t~short24; {16013#true} is VALID [2020-07-11 01:09:50,718 INFO L280 TraceCheckUtils]: 28: Hoare triple {16013#true} havoc #t~mem23.base, #t~mem23.offset; {16013#true} is VALID [2020-07-11 01:09:50,718 INFO L280 TraceCheckUtils]: 29: Hoare triple {16013#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {16013#true} is VALID [2020-07-11 01:09:50,718 INFO L280 TraceCheckUtils]: 30: Hoare triple {16013#true} ~root~0.base, ~root~0.offset := 0, 0; {16013#true} is VALID [2020-07-11 01:09:50,719 INFO L280 TraceCheckUtils]: 31: Hoare triple {16013#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {16013#true} is VALID [2020-07-11 01:09:50,719 INFO L280 TraceCheckUtils]: 32: Hoare triple {16013#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {16013#true} is VALID [2020-07-11 01:09:50,720 INFO L280 TraceCheckUtils]: 33: Hoare triple {16013#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {16020#(= 1 (select |#valid| |main_#t~malloc29.base|))} is VALID [2020-07-11 01:09:50,720 INFO L280 TraceCheckUtils]: 34: Hoare triple {16020#(= 1 (select |#valid| |main_#t~malloc29.base|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {16021#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-11 01:09:50,721 INFO L280 TraceCheckUtils]: 35: Hoare triple {16021#(= 1 (select |#valid| main_~a~0.base))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {16021#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-11 01:09:50,721 INFO L280 TraceCheckUtils]: 36: Hoare triple {16021#(= 1 (select |#valid| main_~a~0.base))} havoc ~t~0.base, ~t~0.offset; {16021#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-11 01:09:50,722 INFO L280 TraceCheckUtils]: 37: Hoare triple {16021#(= 1 (select |#valid| main_~a~0.base))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {16022#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:50,723 INFO L280 TraceCheckUtils]: 38: Hoare triple {16022#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {16022#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:50,723 INFO L280 TraceCheckUtils]: 39: Hoare triple {16022#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !!(0 != #t~nondet30); {16022#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:50,724 INFO L280 TraceCheckUtils]: 40: Hoare triple {16022#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet30; {16022#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:50,725 INFO L280 TraceCheckUtils]: 41: Hoare triple {16022#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(1, ~p~0.base, ~p~0.offset, 4); srcloc: L589 {16023#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:50,726 INFO L280 TraceCheckUtils]: 42: Hoare triple {16023#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~malloc31.base, #t~malloc31.offset := #Ultimate.allocOnHeap(8); srcloc: L589-1 {16024#(and (= main_~a~0.base main_~p~0.base) (not (= main_~p~0.base |main_#t~malloc31.base|)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:50,726 INFO L280 TraceCheckUtils]: 43: Hoare triple {16024#(and (= main_~a~0.base main_~p~0.base) (not (= main_~p~0.base |main_#t~malloc31.base|)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset))} ~t~0.base, ~t~0.offset := #t~malloc31.base, #t~malloc31.offset; {16025#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:50,727 INFO L280 TraceCheckUtils]: 44: Hoare triple {16025#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {16025#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:50,728 INFO L280 TraceCheckUtils]: 45: Hoare triple {16025#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L591-3 {16026#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:50,729 INFO L280 TraceCheckUtils]: 46: Hoare triple {16026#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~mem32.base, #t~mem32.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L592 {16027#(and (not (= main_~a~0.base |main_#t~mem32.base|)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:50,730 INFO L280 TraceCheckUtils]: 47: Hoare triple {16027#(and (not (= main_~a~0.base |main_#t~mem32.base|)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} ~p~0.base, ~p~0.offset := #t~mem32.base, #t~mem32.offset; {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:50,731 INFO L280 TraceCheckUtils]: 48: Hoare triple {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} havoc #t~mem32.base, #t~mem32.offset; {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:50,731 INFO L280 TraceCheckUtils]: 49: Hoare triple {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:50,732 INFO L280 TraceCheckUtils]: 50: Hoare triple {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume !(0 != #t~nondet30); {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:50,732 INFO L280 TraceCheckUtils]: 51: Hoare triple {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} havoc #t~nondet30; {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:50,733 INFO L280 TraceCheckUtils]: 52: Hoare triple {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:50,734 INFO L280 TraceCheckUtils]: 53: Hoare triple {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume !(0 != #t~nondet33); {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:50,734 INFO L280 TraceCheckUtils]: 54: Hoare triple {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} havoc #t~nondet33; {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:50,735 INFO L280 TraceCheckUtils]: 55: Hoare triple {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {16029#(= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-11 01:09:50,736 INFO L280 TraceCheckUtils]: 56: Hoare triple {16029#(= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {16030#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:50,736 INFO L280 TraceCheckUtils]: 57: Hoare triple {16030#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {16031#(= |main_#t~mem36| 1)} is VALID [2020-07-11 01:09:50,737 INFO L280 TraceCheckUtils]: 58: Hoare triple {16031#(= |main_#t~mem36| 1)} assume !!(2 == #t~mem36); {16014#false} is VALID [2020-07-11 01:09:50,737 INFO L280 TraceCheckUtils]: 59: Hoare triple {16014#false} havoc #t~mem36; {16014#false} is VALID [2020-07-11 01:09:50,737 INFO L280 TraceCheckUtils]: 60: Hoare triple {16014#false} SUMMARY for call #t~mem37.base, #t~mem37.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L605 {16014#false} is VALID [2020-07-11 01:09:50,737 INFO L280 TraceCheckUtils]: 61: Hoare triple {16014#false} ~p~0.base, ~p~0.offset := #t~mem37.base, #t~mem37.offset; {16014#false} is VALID [2020-07-11 01:09:50,737 INFO L280 TraceCheckUtils]: 62: Hoare triple {16014#false} havoc #t~mem37.base, #t~mem37.offset; {16014#false} is VALID [2020-07-11 01:09:50,738 INFO L280 TraceCheckUtils]: 63: Hoare triple {16014#false} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {16014#false} is VALID [2020-07-11 01:09:50,738 INFO L280 TraceCheckUtils]: 64: Hoare triple {16014#false} assume !(2 == #t~mem36); {16014#false} is VALID [2020-07-11 01:09:50,738 INFO L280 TraceCheckUtils]: 65: Hoare triple {16014#false} havoc #t~mem36; {16014#false} is VALID [2020-07-11 01:09:50,738 INFO L280 TraceCheckUtils]: 66: Hoare triple {16014#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {16014#false} is VALID [2020-07-11 01:09:50,738 INFO L280 TraceCheckUtils]: 67: Hoare triple {16014#false} assume !(1 == #t~mem38); {16014#false} is VALID [2020-07-11 01:09:50,738 INFO L280 TraceCheckUtils]: 68: Hoare triple {16014#false} havoc #t~mem38; {16014#false} is VALID [2020-07-11 01:09:50,738 INFO L280 TraceCheckUtils]: 69: Hoare triple {16014#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {16014#false} is VALID [2020-07-11 01:09:50,738 INFO L280 TraceCheckUtils]: 70: Hoare triple {16014#false} assume 3 != #t~mem40; {16014#false} is VALID [2020-07-11 01:09:50,739 INFO L280 TraceCheckUtils]: 71: Hoare triple {16014#false} havoc #t~mem40; {16014#false} is VALID [2020-07-11 01:09:50,739 INFO L280 TraceCheckUtils]: 72: Hoare triple {16014#false} assume !false; {16014#false} is VALID [2020-07-11 01:09:50,747 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-11 01:09:50,747 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [939723329] [2020-07-11 01:09:50,747 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:09:50,748 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15] total 15 [2020-07-11 01:09:50,748 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1533056590] [2020-07-11 01:09:50,748 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 73 [2020-07-11 01:09:50,749 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:09:50,749 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2020-07-11 01:09:50,853 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:50,853 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2020-07-11 01:09:50,853 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:09:50,854 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2020-07-11 01:09:50,854 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2020-07-11 01:09:50,854 INFO L87 Difference]: Start difference. First operand 258 states and 286 transitions. Second operand 15 states. [2020-07-11 01:09:55,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:55,846 INFO L93 Difference]: Finished difference Result 341 states and 373 transitions. [2020-07-11 01:09:55,847 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2020-07-11 01:09:55,847 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 73 [2020-07-11 01:09:55,847 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:09:55,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-11 01:09:55,850 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 310 transitions. [2020-07-11 01:09:55,850 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-11 01:09:55,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 310 transitions. [2020-07-11 01:09:55,853 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 310 transitions. [2020-07-11 01:09:56,262 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 310 edges. 310 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:56,268 INFO L225 Difference]: With dead ends: 341 [2020-07-11 01:09:56,268 INFO L226 Difference]: Without dead ends: 322 [2020-07-11 01:09:56,269 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 105 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=201, Invalid=611, Unknown=0, NotChecked=0, Total=812 [2020-07-11 01:09:56,270 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 322 states. [2020-07-11 01:09:57,256 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 322 to 258. [2020-07-11 01:09:57,257 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:09:57,257 INFO L82 GeneralOperation]: Start isEquivalent. First operand 322 states. Second operand 258 states. [2020-07-11 01:09:57,257 INFO L74 IsIncluded]: Start isIncluded. First operand 322 states. Second operand 258 states. [2020-07-11 01:09:57,257 INFO L87 Difference]: Start difference. First operand 322 states. Second operand 258 states. [2020-07-11 01:09:57,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:57,263 INFO L93 Difference]: Finished difference Result 322 states and 352 transitions. [2020-07-11 01:09:57,263 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 352 transitions. [2020-07-11 01:09:57,264 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:57,264 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:57,265 INFO L74 IsIncluded]: Start isIncluded. First operand 258 states. Second operand 322 states. [2020-07-11 01:09:57,265 INFO L87 Difference]: Start difference. First operand 258 states. Second operand 322 states. [2020-07-11 01:09:57,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:09:57,272 INFO L93 Difference]: Finished difference Result 322 states and 352 transitions. [2020-07-11 01:09:57,273 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 352 transitions. [2020-07-11 01:09:57,273 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:09:57,274 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:09:57,274 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:09:57,274 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:09:57,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 258 states. [2020-07-11 01:09:57,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 258 states to 258 states and 285 transitions. [2020-07-11 01:09:57,279 INFO L78 Accepts]: Start accepts. Automaton has 258 states and 285 transitions. Word has length 73 [2020-07-11 01:09:57,279 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:09:57,279 INFO L479 AbstractCegarLoop]: Abstraction has 258 states and 285 transitions. [2020-07-11 01:09:57,279 INFO L480 AbstractCegarLoop]: Interpolant automaton has 15 states. [2020-07-11 01:09:57,280 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 258 states and 285 transitions. [2020-07-11 01:09:57,881 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 285 edges. 285 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:57,882 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 285 transitions. [2020-07-11 01:09:57,883 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2020-07-11 01:09:57,883 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:09:57,884 INFO L422 BasicCegarLoop]: trace histogram [3, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:09:57,884 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2020-07-11 01:09:57,884 INFO L427 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:09:57,884 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:09:57,885 INFO L82 PathProgramCache]: Analyzing trace with hash 342604767, now seen corresponding path program 2 times [2020-07-11 01:09:57,885 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:09:57,885 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1389812787] [2020-07-11 01:09:57,885 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:09:57,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:58,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:09:58,537 INFO L280 TraceCheckUtils]: 0: Hoare triple {17931#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {17905#true} is VALID [2020-07-11 01:09:58,537 INFO L280 TraceCheckUtils]: 1: Hoare triple {17905#true} #valid := #valid[0 := 0]; {17905#true} is VALID [2020-07-11 01:09:58,537 INFO L280 TraceCheckUtils]: 2: Hoare triple {17905#true} assume 0 < #StackHeapBarrier; {17905#true} is VALID [2020-07-11 01:09:58,537 INFO L280 TraceCheckUtils]: 3: Hoare triple {17905#true} assume true; {17905#true} is VALID [2020-07-11 01:09:58,537 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {17905#true} {17905#true} #349#return; {17905#true} is VALID [2020-07-11 01:09:58,538 INFO L263 TraceCheckUtils]: 0: Hoare triple {17905#true} call ULTIMATE.init(); {17931#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-11 01:09:58,538 INFO L280 TraceCheckUtils]: 1: Hoare triple {17931#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {17905#true} is VALID [2020-07-11 01:09:58,539 INFO L280 TraceCheckUtils]: 2: Hoare triple {17905#true} #valid := #valid[0 := 0]; {17905#true} is VALID [2020-07-11 01:09:58,539 INFO L280 TraceCheckUtils]: 3: Hoare triple {17905#true} assume 0 < #StackHeapBarrier; {17905#true} is VALID [2020-07-11 01:09:58,539 INFO L280 TraceCheckUtils]: 4: Hoare triple {17905#true} assume true; {17905#true} is VALID [2020-07-11 01:09:58,540 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {17905#true} {17905#true} #349#return; {17905#true} is VALID [2020-07-11 01:09:58,540 INFO L263 TraceCheckUtils]: 6: Hoare triple {17905#true} call #t~ret41 := main(); {17905#true} is VALID [2020-07-11 01:09:58,540 INFO L280 TraceCheckUtils]: 7: Hoare triple {17905#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {17905#true} is VALID [2020-07-11 01:09:58,541 INFO L280 TraceCheckUtils]: 8: Hoare triple {17905#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {17905#true} is VALID [2020-07-11 01:09:58,541 INFO L280 TraceCheckUtils]: 9: Hoare triple {17905#true} havoc ~n~0.base, ~n~0.offset; {17905#true} is VALID [2020-07-11 01:09:58,541 INFO L280 TraceCheckUtils]: 10: Hoare triple {17905#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {17905#true} is VALID [2020-07-11 01:09:58,541 INFO L280 TraceCheckUtils]: 11: Hoare triple {17905#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {17905#true} is VALID [2020-07-11 01:09:58,542 INFO L280 TraceCheckUtils]: 12: Hoare triple {17905#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {17905#true} is VALID [2020-07-11 01:09:58,542 INFO L280 TraceCheckUtils]: 13: Hoare triple {17905#true} assume !(0 != #t~nondet3); {17905#true} is VALID [2020-07-11 01:09:58,542 INFO L280 TraceCheckUtils]: 14: Hoare triple {17905#true} havoc #t~nondet3; {17905#true} is VALID [2020-07-11 01:09:58,542 INFO L280 TraceCheckUtils]: 15: Hoare triple {17905#true} ~n~0.base, ~n~0.offset := 0, 0; {17905#true} is VALID [2020-07-11 01:09:58,542 INFO L280 TraceCheckUtils]: 16: Hoare triple {17905#true} havoc ~pred~0.base, ~pred~0.offset; {17905#true} is VALID [2020-07-11 01:09:58,542 INFO L280 TraceCheckUtils]: 17: Hoare triple {17905#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {17905#true} is VALID [2020-07-11 01:09:58,543 INFO L280 TraceCheckUtils]: 18: Hoare triple {17905#true} ~pred~0.base, ~pred~0.offset := 0, 0; {17905#true} is VALID [2020-07-11 01:09:58,543 INFO L280 TraceCheckUtils]: 19: Hoare triple {17905#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {17905#true} is VALID [2020-07-11 01:09:58,543 INFO L280 TraceCheckUtils]: 20: Hoare triple {17905#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {17905#true} is VALID [2020-07-11 01:09:58,543 INFO L280 TraceCheckUtils]: 21: Hoare triple {17905#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {17905#true} is VALID [2020-07-11 01:09:58,543 INFO L280 TraceCheckUtils]: 22: Hoare triple {17905#true} assume !#t~short24; {17905#true} is VALID [2020-07-11 01:09:58,544 INFO L280 TraceCheckUtils]: 23: Hoare triple {17905#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {17905#true} is VALID [2020-07-11 01:09:58,544 INFO L280 TraceCheckUtils]: 24: Hoare triple {17905#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {17905#true} is VALID [2020-07-11 01:09:58,544 INFO L280 TraceCheckUtils]: 25: Hoare triple {17905#true} assume !#t~short24; {17905#true} is VALID [2020-07-11 01:09:58,544 INFO L280 TraceCheckUtils]: 26: Hoare triple {17905#true} havoc #t~mem22.base, #t~mem22.offset; {17905#true} is VALID [2020-07-11 01:09:58,544 INFO L280 TraceCheckUtils]: 27: Hoare triple {17905#true} havoc #t~short24; {17905#true} is VALID [2020-07-11 01:09:58,544 INFO L280 TraceCheckUtils]: 28: Hoare triple {17905#true} havoc #t~mem23.base, #t~mem23.offset; {17905#true} is VALID [2020-07-11 01:09:58,545 INFO L280 TraceCheckUtils]: 29: Hoare triple {17905#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {17905#true} is VALID [2020-07-11 01:09:58,545 INFO L280 TraceCheckUtils]: 30: Hoare triple {17905#true} ~root~0.base, ~root~0.offset := 0, 0; {17905#true} is VALID [2020-07-11 01:09:58,545 INFO L280 TraceCheckUtils]: 31: Hoare triple {17905#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {17905#true} is VALID [2020-07-11 01:09:58,545 INFO L280 TraceCheckUtils]: 32: Hoare triple {17905#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {17905#true} is VALID [2020-07-11 01:09:58,553 INFO L280 TraceCheckUtils]: 33: Hoare triple {17905#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {17912#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-11 01:09:58,554 INFO L280 TraceCheckUtils]: 34: Hoare triple {17912#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {17913#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:09:58,555 INFO L280 TraceCheckUtils]: 35: Hoare triple {17913#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {17913#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:09:58,555 INFO L280 TraceCheckUtils]: 36: Hoare triple {17913#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {17913#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:09:58,556 INFO L280 TraceCheckUtils]: 37: Hoare triple {17913#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:58,557 INFO L280 TraceCheckUtils]: 38: Hoare triple {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:58,558 INFO L280 TraceCheckUtils]: 39: Hoare triple {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet30); {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:58,559 INFO L280 TraceCheckUtils]: 40: Hoare triple {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet30; {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:58,559 INFO L280 TraceCheckUtils]: 41: Hoare triple {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:58,560 INFO L280 TraceCheckUtils]: 42: Hoare triple {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !!(0 != #t~nondet33); {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:58,561 INFO L280 TraceCheckUtils]: 43: Hoare triple {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet33; {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:58,562 INFO L280 TraceCheckUtils]: 44: Hoare triple {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {17915#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:58,563 INFO L280 TraceCheckUtils]: 45: Hoare triple {17915#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {17916#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} is VALID [2020-07-11 01:09:58,564 INFO L280 TraceCheckUtils]: 46: Hoare triple {17916#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {17917#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:58,564 INFO L280 TraceCheckUtils]: 47: Hoare triple {17917#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {17917#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:58,566 INFO L280 TraceCheckUtils]: 48: Hoare triple {17917#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {17918#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:58,567 INFO L280 TraceCheckUtils]: 49: Hoare triple {17918#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {17919#(and (not (= main_~a~0.base |main_#t~mem35.base|)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:09:58,568 INFO L280 TraceCheckUtils]: 50: Hoare triple {17919#(and (not (= main_~a~0.base |main_#t~mem35.base|)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:09:58,568 INFO L280 TraceCheckUtils]: 51: Hoare triple {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} havoc #t~mem35.base, #t~mem35.offset; {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:09:58,569 INFO L280 TraceCheckUtils]: 52: Hoare triple {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:09:58,570 INFO L280 TraceCheckUtils]: 53: Hoare triple {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} assume !!(0 != #t~nondet33); {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:09:58,570 INFO L280 TraceCheckUtils]: 54: Hoare triple {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} havoc #t~nondet33; {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:09:58,571 INFO L280 TraceCheckUtils]: 55: Hoare triple {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:09:58,572 INFO L280 TraceCheckUtils]: 56: Hoare triple {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {17921#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset |main_#t~malloc34.offset|) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:58,573 INFO L280 TraceCheckUtils]: 57: Hoare triple {17921#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset |main_#t~malloc34.offset|) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {17922#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset main_~t~0.offset) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:58,574 INFO L280 TraceCheckUtils]: 58: Hoare triple {17922#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset main_~t~0.offset) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {17922#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset main_~t~0.offset) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:58,575 INFO L280 TraceCheckUtils]: 59: Hoare triple {17922#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset main_~t~0.offset) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {17923#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)) main_~a~0.offset))} is VALID [2020-07-11 01:09:58,576 INFO L280 TraceCheckUtils]: 60: Hoare triple {17923#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)) main_~a~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {17924#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset |main_#t~mem35.offset|))} is VALID [2020-07-11 01:09:58,576 INFO L280 TraceCheckUtils]: 61: Hoare triple {17924#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset |main_#t~mem35.offset|))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {17925#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:58,577 INFO L280 TraceCheckUtils]: 62: Hoare triple {17925#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~mem35.base, #t~mem35.offset; {17925#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:58,578 INFO L280 TraceCheckUtils]: 63: Hoare triple {17925#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {17925#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:58,579 INFO L280 TraceCheckUtils]: 64: Hoare triple {17925#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet33); {17925#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:58,580 INFO L280 TraceCheckUtils]: 65: Hoare triple {17925#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet33; {17925#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:09:58,581 INFO L280 TraceCheckUtils]: 66: Hoare triple {17925#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {17926#(or (= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:09:58,582 INFO L280 TraceCheckUtils]: 67: Hoare triple {17926#(or (= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {17927#(or (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} is VALID [2020-07-11 01:09:58,582 INFO L280 TraceCheckUtils]: 68: Hoare triple {17927#(or (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {17928#(or (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= |main_#t~mem36| 2))} is VALID [2020-07-11 01:09:58,583 INFO L280 TraceCheckUtils]: 69: Hoare triple {17928#(or (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= |main_#t~mem36| 2))} assume !(2 == #t~mem36); {17929#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:58,590 INFO L280 TraceCheckUtils]: 70: Hoare triple {17929#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem36; {17929#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:58,591 INFO L280 TraceCheckUtils]: 71: Hoare triple {17929#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {17929#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:58,592 INFO L280 TraceCheckUtils]: 72: Hoare triple {17929#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(1 == #t~mem38); {17929#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:58,593 INFO L280 TraceCheckUtils]: 73: Hoare triple {17929#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem38; {17929#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:09:58,594 INFO L280 TraceCheckUtils]: 74: Hoare triple {17929#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {17930#(= |main_#t~mem40| 3)} is VALID [2020-07-11 01:09:58,594 INFO L280 TraceCheckUtils]: 75: Hoare triple {17930#(= |main_#t~mem40| 3)} assume 3 != #t~mem40; {17906#false} is VALID [2020-07-11 01:09:58,595 INFO L280 TraceCheckUtils]: 76: Hoare triple {17906#false} havoc #t~mem40; {17906#false} is VALID [2020-07-11 01:09:58,595 INFO L280 TraceCheckUtils]: 77: Hoare triple {17906#false} assume !false; {17906#false} is VALID [2020-07-11 01:09:58,609 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-11 01:09:58,610 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1389812787] [2020-07-11 01:09:58,610 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:09:58,610 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22] total 22 [2020-07-11 01:09:58,611 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1341512321] [2020-07-11 01:09:58,611 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 78 [2020-07-11 01:09:58,612 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:09:58,612 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2020-07-11 01:09:58,713 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:09:58,714 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2020-07-11 01:09:58,714 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:09:58,714 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2020-07-11 01:09:58,715 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=397, Unknown=0, NotChecked=0, Total=462 [2020-07-11 01:09:58,715 INFO L87 Difference]: Start difference. First operand 258 states and 285 transitions. Second operand 22 states. [2020-07-11 01:10:06,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:06,165 INFO L93 Difference]: Finished difference Result 346 states and 378 transitions. [2020-07-11 01:10:06,165 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2020-07-11 01:10:06,165 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 78 [2020-07-11 01:10:06,165 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:10:06,165 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-11 01:10:06,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 308 transitions. [2020-07-11 01:10:06,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-11 01:10:06,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 308 transitions. [2020-07-11 01:10:06,175 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 35 states and 308 transitions. [2020-07-11 01:10:06,652 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 308 edges. 308 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:10:06,659 INFO L225 Difference]: With dead ends: 346 [2020-07-11 01:10:06,659 INFO L226 Difference]: Without dead ends: 340 [2020-07-11 01:10:06,660 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 55 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 51 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 504 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=493, Invalid=2263, Unknown=0, NotChecked=0, Total=2756 [2020-07-11 01:10:06,661 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 340 states. [2020-07-11 01:10:07,752 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 340 to 283. [2020-07-11 01:10:07,752 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:10:07,752 INFO L82 GeneralOperation]: Start isEquivalent. First operand 340 states. Second operand 283 states. [2020-07-11 01:10:07,753 INFO L74 IsIncluded]: Start isIncluded. First operand 340 states. Second operand 283 states. [2020-07-11 01:10:07,753 INFO L87 Difference]: Start difference. First operand 340 states. Second operand 283 states. [2020-07-11 01:10:07,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:07,760 INFO L93 Difference]: Finished difference Result 340 states and 372 transitions. [2020-07-11 01:10:07,760 INFO L276 IsEmpty]: Start isEmpty. Operand 340 states and 372 transitions. [2020-07-11 01:10:07,766 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:07,766 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:07,766 INFO L74 IsIncluded]: Start isIncluded. First operand 283 states. Second operand 340 states. [2020-07-11 01:10:07,766 INFO L87 Difference]: Start difference. First operand 283 states. Second operand 340 states. [2020-07-11 01:10:07,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:07,776 INFO L93 Difference]: Finished difference Result 340 states and 372 transitions. [2020-07-11 01:10:07,776 INFO L276 IsEmpty]: Start isEmpty. Operand 340 states and 372 transitions. [2020-07-11 01:10:07,776 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:07,777 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:07,777 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:10:07,777 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:10:07,777 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 283 states. [2020-07-11 01:10:07,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 283 states to 283 states and 312 transitions. [2020-07-11 01:10:07,784 INFO L78 Accepts]: Start accepts. Automaton has 283 states and 312 transitions. Word has length 78 [2020-07-11 01:10:07,784 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:10:07,784 INFO L479 AbstractCegarLoop]: Abstraction has 283 states and 312 transitions. [2020-07-11 01:10:07,784 INFO L480 AbstractCegarLoop]: Interpolant automaton has 22 states. [2020-07-11 01:10:07,784 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 283 states and 312 transitions. [2020-07-11 01:10:08,522 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 312 edges. 312 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:10:08,522 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 312 transitions. [2020-07-11 01:10:08,524 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2020-07-11 01:10:08,524 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:10:08,524 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-11 01:10:08,524 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2020-07-11 01:10:08,525 INFO L427 AbstractCegarLoop]: === Iteration 13 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:10:08,525 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:10:08,525 INFO L82 PathProgramCache]: Analyzing trace with hash 1736898641, now seen corresponding path program 1 times [2020-07-11 01:10:08,527 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:10:08,528 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [783753123] [2020-07-11 01:10:08,528 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:10:08,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:09,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:09,212 INFO L280 TraceCheckUtils]: 0: Hoare triple {19960#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {19934#true} is VALID [2020-07-11 01:10:09,213 INFO L280 TraceCheckUtils]: 1: Hoare triple {19934#true} #valid := #valid[0 := 0]; {19934#true} is VALID [2020-07-11 01:10:09,213 INFO L280 TraceCheckUtils]: 2: Hoare triple {19934#true} assume 0 < #StackHeapBarrier; {19934#true} is VALID [2020-07-11 01:10:09,213 INFO L280 TraceCheckUtils]: 3: Hoare triple {19934#true} assume true; {19934#true} is VALID [2020-07-11 01:10:09,213 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {19934#true} {19934#true} #349#return; {19934#true} is VALID [2020-07-11 01:10:09,214 INFO L263 TraceCheckUtils]: 0: Hoare triple {19934#true} call ULTIMATE.init(); {19960#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-11 01:10:09,215 INFO L280 TraceCheckUtils]: 1: Hoare triple {19960#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {19934#true} is VALID [2020-07-11 01:10:09,215 INFO L280 TraceCheckUtils]: 2: Hoare triple {19934#true} #valid := #valid[0 := 0]; {19934#true} is VALID [2020-07-11 01:10:09,215 INFO L280 TraceCheckUtils]: 3: Hoare triple {19934#true} assume 0 < #StackHeapBarrier; {19934#true} is VALID [2020-07-11 01:10:09,215 INFO L280 TraceCheckUtils]: 4: Hoare triple {19934#true} assume true; {19934#true} is VALID [2020-07-11 01:10:09,216 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {19934#true} {19934#true} #349#return; {19934#true} is VALID [2020-07-11 01:10:09,216 INFO L263 TraceCheckUtils]: 6: Hoare triple {19934#true} call #t~ret41 := main(); {19934#true} is VALID [2020-07-11 01:10:09,216 INFO L280 TraceCheckUtils]: 7: Hoare triple {19934#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {19934#true} is VALID [2020-07-11 01:10:09,216 INFO L280 TraceCheckUtils]: 8: Hoare triple {19934#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {19934#true} is VALID [2020-07-11 01:10:09,216 INFO L280 TraceCheckUtils]: 9: Hoare triple {19934#true} havoc ~n~0.base, ~n~0.offset; {19934#true} is VALID [2020-07-11 01:10:09,216 INFO L280 TraceCheckUtils]: 10: Hoare triple {19934#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {19934#true} is VALID [2020-07-11 01:10:09,217 INFO L280 TraceCheckUtils]: 11: Hoare triple {19934#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {19934#true} is VALID [2020-07-11 01:10:09,217 INFO L280 TraceCheckUtils]: 12: Hoare triple {19934#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {19934#true} is VALID [2020-07-11 01:10:09,217 INFO L280 TraceCheckUtils]: 13: Hoare triple {19934#true} assume !(0 != #t~nondet3); {19934#true} is VALID [2020-07-11 01:10:09,217 INFO L280 TraceCheckUtils]: 14: Hoare triple {19934#true} havoc #t~nondet3; {19934#true} is VALID [2020-07-11 01:10:09,217 INFO L280 TraceCheckUtils]: 15: Hoare triple {19934#true} ~n~0.base, ~n~0.offset := 0, 0; {19934#true} is VALID [2020-07-11 01:10:09,218 INFO L280 TraceCheckUtils]: 16: Hoare triple {19934#true} havoc ~pred~0.base, ~pred~0.offset; {19934#true} is VALID [2020-07-11 01:10:09,218 INFO L280 TraceCheckUtils]: 17: Hoare triple {19934#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {19934#true} is VALID [2020-07-11 01:10:09,218 INFO L280 TraceCheckUtils]: 18: Hoare triple {19934#true} ~pred~0.base, ~pred~0.offset := 0, 0; {19934#true} is VALID [2020-07-11 01:10:09,218 INFO L280 TraceCheckUtils]: 19: Hoare triple {19934#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {19934#true} is VALID [2020-07-11 01:10:09,218 INFO L280 TraceCheckUtils]: 20: Hoare triple {19934#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {19934#true} is VALID [2020-07-11 01:10:09,218 INFO L280 TraceCheckUtils]: 21: Hoare triple {19934#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {19934#true} is VALID [2020-07-11 01:10:09,219 INFO L280 TraceCheckUtils]: 22: Hoare triple {19934#true} assume !#t~short24; {19934#true} is VALID [2020-07-11 01:10:09,219 INFO L280 TraceCheckUtils]: 23: Hoare triple {19934#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {19934#true} is VALID [2020-07-11 01:10:09,219 INFO L280 TraceCheckUtils]: 24: Hoare triple {19934#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {19934#true} is VALID [2020-07-11 01:10:09,219 INFO L280 TraceCheckUtils]: 25: Hoare triple {19934#true} assume !#t~short24; {19934#true} is VALID [2020-07-11 01:10:09,219 INFO L280 TraceCheckUtils]: 26: Hoare triple {19934#true} havoc #t~mem22.base, #t~mem22.offset; {19934#true} is VALID [2020-07-11 01:10:09,220 INFO L280 TraceCheckUtils]: 27: Hoare triple {19934#true} havoc #t~short24; {19934#true} is VALID [2020-07-11 01:10:09,220 INFO L280 TraceCheckUtils]: 28: Hoare triple {19934#true} havoc #t~mem23.base, #t~mem23.offset; {19934#true} is VALID [2020-07-11 01:10:09,220 INFO L280 TraceCheckUtils]: 29: Hoare triple {19934#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {19934#true} is VALID [2020-07-11 01:10:09,220 INFO L280 TraceCheckUtils]: 30: Hoare triple {19934#true} ~root~0.base, ~root~0.offset := 0, 0; {19934#true} is VALID [2020-07-11 01:10:09,220 INFO L280 TraceCheckUtils]: 31: Hoare triple {19934#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {19934#true} is VALID [2020-07-11 01:10:09,220 INFO L280 TraceCheckUtils]: 32: Hoare triple {19934#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {19934#true} is VALID [2020-07-11 01:10:09,222 INFO L280 TraceCheckUtils]: 33: Hoare triple {19934#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {19941#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-11 01:10:09,223 INFO L280 TraceCheckUtils]: 34: Hoare triple {19941#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {19942#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:09,224 INFO L280 TraceCheckUtils]: 35: Hoare triple {19942#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {19942#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:09,225 INFO L280 TraceCheckUtils]: 36: Hoare triple {19942#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {19942#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:09,226 INFO L280 TraceCheckUtils]: 37: Hoare triple {19942#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {19943#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:09,227 INFO L280 TraceCheckUtils]: 38: Hoare triple {19943#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {19943#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:09,228 INFO L280 TraceCheckUtils]: 39: Hoare triple {19943#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !!(0 != #t~nondet30); {19943#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:09,229 INFO L280 TraceCheckUtils]: 40: Hoare triple {19943#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet30; {19943#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:09,230 INFO L280 TraceCheckUtils]: 41: Hoare triple {19943#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(1, ~p~0.base, ~p~0.offset, 4); srcloc: L589 {19944#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:09,232 INFO L280 TraceCheckUtils]: 42: Hoare triple {19944#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~malloc31.base, #t~malloc31.offset := #Ultimate.allocOnHeap(8); srcloc: L589-1 {19945#(and (= main_~a~0.base main_~p~0.base) (not (= main_~p~0.base |main_#t~malloc31.base|)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:09,233 INFO L280 TraceCheckUtils]: 43: Hoare triple {19945#(and (= main_~a~0.base main_~p~0.base) (not (= main_~p~0.base |main_#t~malloc31.base|)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset))} ~t~0.base, ~t~0.offset := #t~malloc31.base, #t~malloc31.offset; {19946#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:09,234 INFO L280 TraceCheckUtils]: 44: Hoare triple {19946#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {19946#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:09,236 INFO L280 TraceCheckUtils]: 45: Hoare triple {19946#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L591-3 {19947#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:09,238 INFO L280 TraceCheckUtils]: 46: Hoare triple {19947#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~mem32.base, #t~mem32.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L592 {19948#(and (not (= main_~a~0.base |main_#t~mem32.base|)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:09,239 INFO L280 TraceCheckUtils]: 47: Hoare triple {19948#(and (not (= main_~a~0.base |main_#t~mem32.base|)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := #t~mem32.base, #t~mem32.offset; {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:09,240 INFO L280 TraceCheckUtils]: 48: Hoare triple {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} havoc #t~mem32.base, #t~mem32.offset; {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:09,241 INFO L280 TraceCheckUtils]: 49: Hoare triple {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:09,242 INFO L280 TraceCheckUtils]: 50: Hoare triple {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} assume !(0 != #t~nondet30); {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:09,243 INFO L280 TraceCheckUtils]: 51: Hoare triple {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} havoc #t~nondet30; {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:09,244 INFO L280 TraceCheckUtils]: 52: Hoare triple {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:09,245 INFO L280 TraceCheckUtils]: 53: Hoare triple {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} assume !!(0 != #t~nondet33); {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:09,246 INFO L280 TraceCheckUtils]: 54: Hoare triple {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} havoc #t~nondet33; {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:09,248 INFO L280 TraceCheckUtils]: 55: Hoare triple {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:09,249 INFO L280 TraceCheckUtils]: 56: Hoare triple {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {19950#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset |main_#t~malloc34.offset|))} is VALID [2020-07-11 01:10:09,250 INFO L280 TraceCheckUtils]: 57: Hoare triple {19950#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset |main_#t~malloc34.offset|))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {19951#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~t~0.offset))} is VALID [2020-07-11 01:10:09,252 INFO L280 TraceCheckUtils]: 58: Hoare triple {19951#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~t~0.offset))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {19951#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~t~0.offset))} is VALID [2020-07-11 01:10:09,253 INFO L280 TraceCheckUtils]: 59: Hoare triple {19951#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~t~0.offset))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {19952#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)) main_~a~0.offset))} is VALID [2020-07-11 01:10:09,254 INFO L280 TraceCheckUtils]: 60: Hoare triple {19952#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)) main_~a~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {19953#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset |main_#t~mem35.offset|))} is VALID [2020-07-11 01:10:09,255 INFO L280 TraceCheckUtils]: 61: Hoare triple {19953#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset |main_#t~mem35.offset|))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {19954#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:09,256 INFO L280 TraceCheckUtils]: 62: Hoare triple {19954#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~mem35.base, #t~mem35.offset; {19954#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:09,257 INFO L280 TraceCheckUtils]: 63: Hoare triple {19954#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {19954#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:09,258 INFO L280 TraceCheckUtils]: 64: Hoare triple {19954#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet33); {19954#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:09,259 INFO L280 TraceCheckUtils]: 65: Hoare triple {19954#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet33; {19954#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:09,261 INFO L280 TraceCheckUtils]: 66: Hoare triple {19954#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {19955#(or (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:10:09,262 INFO L280 TraceCheckUtils]: 67: Hoare triple {19955#(or (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {19956#(or (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} is VALID [2020-07-11 01:10:09,263 INFO L280 TraceCheckUtils]: 68: Hoare triple {19956#(or (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {19956#(or (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} is VALID [2020-07-11 01:10:09,264 INFO L280 TraceCheckUtils]: 69: Hoare triple {19956#(or (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} assume !(2 == #t~mem36); {19956#(or (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} is VALID [2020-07-11 01:10:09,265 INFO L280 TraceCheckUtils]: 70: Hoare triple {19956#(or (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} havoc #t~mem36; {19956#(or (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} is VALID [2020-07-11 01:10:09,266 INFO L280 TraceCheckUtils]: 71: Hoare triple {19956#(or (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {19957#(or (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= |main_#t~mem38| 1))} is VALID [2020-07-11 01:10:09,268 INFO L280 TraceCheckUtils]: 72: Hoare triple {19957#(or (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= |main_#t~mem38| 1))} assume !(1 == #t~mem38); {19958#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:10:09,268 INFO L280 TraceCheckUtils]: 73: Hoare triple {19958#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem38; {19958#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:10:09,269 INFO L280 TraceCheckUtils]: 74: Hoare triple {19958#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {19959#(= |main_#t~mem40| 3)} is VALID [2020-07-11 01:10:09,270 INFO L280 TraceCheckUtils]: 75: Hoare triple {19959#(= |main_#t~mem40| 3)} assume 3 != #t~mem40; {19935#false} is VALID [2020-07-11 01:10:09,271 INFO L280 TraceCheckUtils]: 76: Hoare triple {19935#false} havoc #t~mem40; {19935#false} is VALID [2020-07-11 01:10:09,271 INFO L280 TraceCheckUtils]: 77: Hoare triple {19935#false} assume !false; {19935#false} is VALID [2020-07-11 01:10:09,288 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-11 01:10:09,288 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [783753123] [2020-07-11 01:10:09,289 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:10:09,289 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22] total 22 [2020-07-11 01:10:09,289 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1254732955] [2020-07-11 01:10:09,290 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 78 [2020-07-11 01:10:09,290 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:10:09,290 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2020-07-11 01:10:09,393 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:10:09,393 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2020-07-11 01:10:09,393 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:10:09,393 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2020-07-11 01:10:09,394 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=397, Unknown=0, NotChecked=0, Total=462 [2020-07-11 01:10:09,394 INFO L87 Difference]: Start difference. First operand 283 states and 312 transitions. Second operand 22 states. [2020-07-11 01:10:18,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:18,186 INFO L93 Difference]: Finished difference Result 383 states and 419 transitions. [2020-07-11 01:10:18,186 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2020-07-11 01:10:18,186 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 78 [2020-07-11 01:10:18,186 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:10:18,186 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-11 01:10:18,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 323 transitions. [2020-07-11 01:10:18,188 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-11 01:10:18,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 323 transitions. [2020-07-11 01:10:18,191 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 34 states and 323 transitions. [2020-07-11 01:10:18,676 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 323 edges. 323 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:10:18,685 INFO L225 Difference]: With dead ends: 383 [2020-07-11 01:10:18,685 INFO L226 Difference]: Without dead ends: 377 [2020-07-11 01:10:18,686 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 50 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 463 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=459, Invalid=2193, Unknown=0, NotChecked=0, Total=2652 [2020-07-11 01:10:18,687 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 377 states. [2020-07-11 01:10:19,830 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 377 to 295. [2020-07-11 01:10:19,831 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:10:19,831 INFO L82 GeneralOperation]: Start isEquivalent. First operand 377 states. Second operand 295 states. [2020-07-11 01:10:19,831 INFO L74 IsIncluded]: Start isIncluded. First operand 377 states. Second operand 295 states. [2020-07-11 01:10:19,831 INFO L87 Difference]: Start difference. First operand 377 states. Second operand 295 states. [2020-07-11 01:10:19,839 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:19,839 INFO L93 Difference]: Finished difference Result 377 states and 413 transitions. [2020-07-11 01:10:19,839 INFO L276 IsEmpty]: Start isEmpty. Operand 377 states and 413 transitions. [2020-07-11 01:10:19,840 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:19,840 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:19,840 INFO L74 IsIncluded]: Start isIncluded. First operand 295 states. Second operand 377 states. [2020-07-11 01:10:19,840 INFO L87 Difference]: Start difference. First operand 295 states. Second operand 377 states. [2020-07-11 01:10:19,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:19,850 INFO L93 Difference]: Finished difference Result 377 states and 413 transitions. [2020-07-11 01:10:19,850 INFO L276 IsEmpty]: Start isEmpty. Operand 377 states and 413 transitions. [2020-07-11 01:10:19,851 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:19,851 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:19,851 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:10:19,851 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:10:19,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 295 states. [2020-07-11 01:10:19,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 295 states to 295 states and 325 transitions. [2020-07-11 01:10:19,859 INFO L78 Accepts]: Start accepts. Automaton has 295 states and 325 transitions. Word has length 78 [2020-07-11 01:10:19,859 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:10:19,859 INFO L479 AbstractCegarLoop]: Abstraction has 295 states and 325 transitions. [2020-07-11 01:10:19,859 INFO L480 AbstractCegarLoop]: Interpolant automaton has 22 states. [2020-07-11 01:10:19,859 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 295 states and 325 transitions. [2020-07-11 01:10:20,666 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 325 edges. 325 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:10:20,667 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 325 transitions. [2020-07-11 01:10:20,668 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2020-07-11 01:10:20,668 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:10:20,668 INFO L422 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 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-11 01:10:20,669 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2020-07-11 01:10:20,669 INFO L427 AbstractCegarLoop]: === Iteration 14 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:10:20,669 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:10:20,669 INFO L82 PathProgramCache]: Analyzing trace with hash 1698374602, now seen corresponding path program 1 times [2020-07-11 01:10:20,670 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:10:20,670 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1695855362] [2020-07-11 01:10:20,670 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:10:20,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:21,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:21,254 INFO L280 TraceCheckUtils]: 0: Hoare triple {22154#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {22133#true} is VALID [2020-07-11 01:10:21,255 INFO L280 TraceCheckUtils]: 1: Hoare triple {22133#true} #valid := #valid[0 := 0]; {22133#true} is VALID [2020-07-11 01:10:21,255 INFO L280 TraceCheckUtils]: 2: Hoare triple {22133#true} assume 0 < #StackHeapBarrier; {22133#true} is VALID [2020-07-11 01:10:21,255 INFO L280 TraceCheckUtils]: 3: Hoare triple {22133#true} assume true; {22133#true} is VALID [2020-07-11 01:10:21,255 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {22133#true} {22133#true} #349#return; {22133#true} is VALID [2020-07-11 01:10:21,256 INFO L263 TraceCheckUtils]: 0: Hoare triple {22133#true} call ULTIMATE.init(); {22154#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-11 01:10:21,256 INFO L280 TraceCheckUtils]: 1: Hoare triple {22154#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {22133#true} is VALID [2020-07-11 01:10:21,256 INFO L280 TraceCheckUtils]: 2: Hoare triple {22133#true} #valid := #valid[0 := 0]; {22133#true} is VALID [2020-07-11 01:10:21,256 INFO L280 TraceCheckUtils]: 3: Hoare triple {22133#true} assume 0 < #StackHeapBarrier; {22133#true} is VALID [2020-07-11 01:10:21,257 INFO L280 TraceCheckUtils]: 4: Hoare triple {22133#true} assume true; {22133#true} is VALID [2020-07-11 01:10:21,257 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {22133#true} {22133#true} #349#return; {22133#true} is VALID [2020-07-11 01:10:21,257 INFO L263 TraceCheckUtils]: 6: Hoare triple {22133#true} call #t~ret41 := main(); {22133#true} is VALID [2020-07-11 01:10:21,257 INFO L280 TraceCheckUtils]: 7: Hoare triple {22133#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {22140#(= 0 |main_#t~malloc2.offset|)} is VALID [2020-07-11 01:10:21,258 INFO L280 TraceCheckUtils]: 8: Hoare triple {22140#(= 0 |main_#t~malloc2.offset|)} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {22133#true} is VALID [2020-07-11 01:10:21,258 INFO L280 TraceCheckUtils]: 9: Hoare triple {22133#true} havoc ~n~0.base, ~n~0.offset; {22133#true} is VALID [2020-07-11 01:10:21,258 INFO L280 TraceCheckUtils]: 10: Hoare triple {22133#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {22133#true} is VALID [2020-07-11 01:10:21,258 INFO L280 TraceCheckUtils]: 11: Hoare triple {22133#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {22133#true} is VALID [2020-07-11 01:10:21,258 INFO L280 TraceCheckUtils]: 12: Hoare triple {22133#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {22133#true} is VALID [2020-07-11 01:10:21,258 INFO L280 TraceCheckUtils]: 13: Hoare triple {22133#true} assume !(0 != #t~nondet3); {22133#true} is VALID [2020-07-11 01:10:21,258 INFO L280 TraceCheckUtils]: 14: Hoare triple {22133#true} havoc #t~nondet3; {22133#true} is VALID [2020-07-11 01:10:21,258 INFO L280 TraceCheckUtils]: 15: Hoare triple {22133#true} ~n~0.base, ~n~0.offset := 0, 0; {22133#true} is VALID [2020-07-11 01:10:21,259 INFO L280 TraceCheckUtils]: 16: Hoare triple {22133#true} havoc ~pred~0.base, ~pred~0.offset; {22133#true} is VALID [2020-07-11 01:10:21,259 INFO L280 TraceCheckUtils]: 17: Hoare triple {22133#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {22133#true} is VALID [2020-07-11 01:10:21,259 INFO L280 TraceCheckUtils]: 18: Hoare triple {22133#true} ~pred~0.base, ~pred~0.offset := 0, 0; {22133#true} is VALID [2020-07-11 01:10:21,259 INFO L280 TraceCheckUtils]: 19: Hoare triple {22133#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {22133#true} is VALID [2020-07-11 01:10:21,259 INFO L280 TraceCheckUtils]: 20: Hoare triple {22133#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {22133#true} is VALID [2020-07-11 01:10:21,259 INFO L280 TraceCheckUtils]: 21: Hoare triple {22133#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {22133#true} is VALID [2020-07-11 01:10:21,259 INFO L280 TraceCheckUtils]: 22: Hoare triple {22133#true} assume !#t~short24; {22133#true} is VALID [2020-07-11 01:10:21,259 INFO L280 TraceCheckUtils]: 23: Hoare triple {22133#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {22133#true} is VALID [2020-07-11 01:10:21,260 INFO L280 TraceCheckUtils]: 24: Hoare triple {22133#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {22133#true} is VALID [2020-07-11 01:10:21,260 INFO L280 TraceCheckUtils]: 25: Hoare triple {22133#true} assume !#t~short24; {22133#true} is VALID [2020-07-11 01:10:21,260 INFO L280 TraceCheckUtils]: 26: Hoare triple {22133#true} havoc #t~mem22.base, #t~mem22.offset; {22133#true} is VALID [2020-07-11 01:10:21,260 INFO L280 TraceCheckUtils]: 27: Hoare triple {22133#true} havoc #t~short24; {22133#true} is VALID [2020-07-11 01:10:21,260 INFO L280 TraceCheckUtils]: 28: Hoare triple {22133#true} havoc #t~mem23.base, #t~mem23.offset; {22133#true} is VALID [2020-07-11 01:10:21,260 INFO L280 TraceCheckUtils]: 29: Hoare triple {22133#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {22133#true} is VALID [2020-07-11 01:10:21,260 INFO L280 TraceCheckUtils]: 30: Hoare triple {22133#true} ~root~0.base, ~root~0.offset := 0, 0; {22133#true} is VALID [2020-07-11 01:10:21,260 INFO L280 TraceCheckUtils]: 31: Hoare triple {22133#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {22133#true} is VALID [2020-07-11 01:10:21,261 INFO L280 TraceCheckUtils]: 32: Hoare triple {22133#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {22133#true} is VALID [2020-07-11 01:10:21,262 INFO L280 TraceCheckUtils]: 33: Hoare triple {22133#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {22141#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-11 01:10:21,263 INFO L280 TraceCheckUtils]: 34: Hoare triple {22141#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {22142#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:21,264 INFO L280 TraceCheckUtils]: 35: Hoare triple {22142#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {22142#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:21,265 INFO L280 TraceCheckUtils]: 36: Hoare triple {22142#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {22142#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:21,266 INFO L280 TraceCheckUtils]: 37: Hoare triple {22142#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:21,267 INFO L280 TraceCheckUtils]: 38: Hoare triple {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:21,267 INFO L280 TraceCheckUtils]: 39: Hoare triple {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume !(0 != #t~nondet30); {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:21,268 INFO L280 TraceCheckUtils]: 40: Hoare triple {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} havoc #t~nondet30; {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:21,269 INFO L280 TraceCheckUtils]: 41: Hoare triple {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:21,270 INFO L280 TraceCheckUtils]: 42: Hoare triple {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume !!(0 != #t~nondet33); {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:21,270 INFO L280 TraceCheckUtils]: 43: Hoare triple {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} havoc #t~nondet33; {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:21,271 INFO L280 TraceCheckUtils]: 44: Hoare triple {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:21,272 INFO L280 TraceCheckUtils]: 45: Hoare triple {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {22144#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} is VALID [2020-07-11 01:10:21,273 INFO L280 TraceCheckUtils]: 46: Hoare triple {22144#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {22145#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-11 01:10:21,274 INFO L280 TraceCheckUtils]: 47: Hoare triple {22145#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {22145#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-11 01:10:21,275 INFO L280 TraceCheckUtils]: 48: Hoare triple {22145#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {22146#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:21,276 INFO L280 TraceCheckUtils]: 49: Hoare triple {22146#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {22147#(and (= |main_#t~mem35.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (not (= main_~a~0.base |main_#t~mem35.base|)) (= |main_#t~mem35.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:21,277 INFO L280 TraceCheckUtils]: 50: Hoare triple {22147#(and (= |main_#t~mem35.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (not (= main_~a~0.base |main_#t~mem35.base|)) (= |main_#t~mem35.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {22148#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:10:21,278 INFO L280 TraceCheckUtils]: 51: Hoare triple {22148#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~mem35.base, #t~mem35.offset; {22148#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:10:21,279 INFO L280 TraceCheckUtils]: 52: Hoare triple {22148#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {22148#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:10:21,280 INFO L280 TraceCheckUtils]: 53: Hoare triple {22148#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume !(0 != #t~nondet33); {22148#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:10:21,281 INFO L280 TraceCheckUtils]: 54: Hoare triple {22148#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~nondet33; {22148#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:10:21,283 INFO L280 TraceCheckUtils]: 55: Hoare triple {22148#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {22149#(and (= 0 main_~a~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))))} is VALID [2020-07-11 01:10:21,284 INFO L280 TraceCheckUtils]: 56: Hoare triple {22149#(and (= 0 main_~a~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {22150#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:10:21,285 INFO L280 TraceCheckUtils]: 57: Hoare triple {22150#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {22150#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:10:21,286 INFO L280 TraceCheckUtils]: 58: Hoare triple {22150#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} assume !!(2 == #t~mem36); {22150#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:10:21,287 INFO L280 TraceCheckUtils]: 59: Hoare triple {22150#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} havoc #t~mem36; {22150#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:10:21,288 INFO L280 TraceCheckUtils]: 60: Hoare triple {22150#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem37.base, #t~mem37.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L605 {22151#(= 3 (select (select |#memory_int| |main_#t~mem37.base|) |main_#t~mem37.offset|))} is VALID [2020-07-11 01:10:21,288 INFO L280 TraceCheckUtils]: 61: Hoare triple {22151#(= 3 (select (select |#memory_int| |main_#t~mem37.base|) |main_#t~mem37.offset|))} ~p~0.base, ~p~0.offset := #t~mem37.base, #t~mem37.offset; {22152#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:10:21,289 INFO L280 TraceCheckUtils]: 62: Hoare triple {22152#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem37.base, #t~mem37.offset; {22152#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:10:21,289 INFO L280 TraceCheckUtils]: 63: Hoare triple {22152#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {22152#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:10:21,290 INFO L280 TraceCheckUtils]: 64: Hoare triple {22152#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(2 == #t~mem36); {22152#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:10:21,290 INFO L280 TraceCheckUtils]: 65: Hoare triple {22152#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem36; {22152#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:10:21,291 INFO L280 TraceCheckUtils]: 66: Hoare triple {22152#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {22153#(= |main_#t~mem38| 3)} is VALID [2020-07-11 01:10:21,291 INFO L280 TraceCheckUtils]: 67: Hoare triple {22153#(= |main_#t~mem38| 3)} assume !!(1 == #t~mem38); {22134#false} is VALID [2020-07-11 01:10:21,292 INFO L280 TraceCheckUtils]: 68: Hoare triple {22134#false} havoc #t~mem38; {22134#false} is VALID [2020-07-11 01:10:21,292 INFO L280 TraceCheckUtils]: 69: Hoare triple {22134#false} SUMMARY for call #t~mem39.base, #t~mem39.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L607 {22134#false} is VALID [2020-07-11 01:10:21,292 INFO L280 TraceCheckUtils]: 70: Hoare triple {22134#false} ~p~0.base, ~p~0.offset := #t~mem39.base, #t~mem39.offset; {22134#false} is VALID [2020-07-11 01:10:21,292 INFO L280 TraceCheckUtils]: 71: Hoare triple {22134#false} havoc #t~mem39.base, #t~mem39.offset; {22134#false} is VALID [2020-07-11 01:10:21,292 INFO L280 TraceCheckUtils]: 72: Hoare triple {22134#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {22134#false} is VALID [2020-07-11 01:10:21,292 INFO L280 TraceCheckUtils]: 73: Hoare triple {22134#false} assume !(1 == #t~mem38); {22134#false} is VALID [2020-07-11 01:10:21,292 INFO L280 TraceCheckUtils]: 74: Hoare triple {22134#false} havoc #t~mem38; {22134#false} is VALID [2020-07-11 01:10:21,292 INFO L280 TraceCheckUtils]: 75: Hoare triple {22134#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {22134#false} is VALID [2020-07-11 01:10:21,292 INFO L280 TraceCheckUtils]: 76: Hoare triple {22134#false} assume 3 != #t~mem40; {22134#false} is VALID [2020-07-11 01:10:21,293 INFO L280 TraceCheckUtils]: 77: Hoare triple {22134#false} havoc #t~mem40; {22134#false} is VALID [2020-07-11 01:10:21,293 INFO L280 TraceCheckUtils]: 78: Hoare triple {22134#false} assume !false; {22134#false} is VALID [2020-07-11 01:10:21,305 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-11 01:10:21,305 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1695855362] [2020-07-11 01:10:21,306 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:10:21,306 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2020-07-11 01:10:21,306 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [26773352] [2020-07-11 01:10:21,307 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 79 [2020-07-11 01:10:21,307 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:10:21,307 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-11 01:10:21,413 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:10:21,413 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-11 01:10:21,413 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:10:21,414 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-11 01:10:21,414 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=240, Unknown=0, NotChecked=0, Total=272 [2020-07-11 01:10:21,414 INFO L87 Difference]: Start difference. First operand 295 states and 325 transitions. Second operand 17 states. [2020-07-11 01:10:27,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:27,982 INFO L93 Difference]: Finished difference Result 353 states and 386 transitions. [2020-07-11 01:10:27,982 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-11 01:10:27,982 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 79 [2020-07-11 01:10:27,983 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:10:27,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-11 01:10:27,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 285 transitions. [2020-07-11 01:10:27,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-11 01:10:27,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 285 transitions. [2020-07-11 01:10:27,987 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 285 transitions. [2020-07-11 01:10:28,485 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 285 edges. 285 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:10:28,500 INFO L225 Difference]: With dead ends: 353 [2020-07-11 01:10:28,500 INFO L226 Difference]: Without dead ends: 338 [2020-07-11 01:10:28,503 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 101 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=215, Invalid=907, Unknown=0, NotChecked=0, Total=1122 [2020-07-11 01:10:28,504 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 338 states. [2020-07-11 01:10:29,749 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 338 to 297. [2020-07-11 01:10:29,749 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:10:29,749 INFO L82 GeneralOperation]: Start isEquivalent. First operand 338 states. Second operand 297 states. [2020-07-11 01:10:29,750 INFO L74 IsIncluded]: Start isIncluded. First operand 338 states. Second operand 297 states. [2020-07-11 01:10:29,750 INFO L87 Difference]: Start difference. First operand 338 states. Second operand 297 states. [2020-07-11 01:10:29,757 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:29,757 INFO L93 Difference]: Finished difference Result 338 states and 370 transitions. [2020-07-11 01:10:29,757 INFO L276 IsEmpty]: Start isEmpty. Operand 338 states and 370 transitions. [2020-07-11 01:10:29,758 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:29,758 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:29,758 INFO L74 IsIncluded]: Start isIncluded. First operand 297 states. Second operand 338 states. [2020-07-11 01:10:29,758 INFO L87 Difference]: Start difference. First operand 297 states. Second operand 338 states. [2020-07-11 01:10:29,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:29,764 INFO L93 Difference]: Finished difference Result 338 states and 370 transitions. [2020-07-11 01:10:29,765 INFO L276 IsEmpty]: Start isEmpty. Operand 338 states and 370 transitions. [2020-07-11 01:10:29,765 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:29,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:29,765 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:10:29,765 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:10:29,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 297 states. [2020-07-11 01:10:29,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 297 states to 297 states and 327 transitions. [2020-07-11 01:10:29,771 INFO L78 Accepts]: Start accepts. Automaton has 297 states and 327 transitions. Word has length 79 [2020-07-11 01:10:29,771 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:10:29,771 INFO L479 AbstractCegarLoop]: Abstraction has 297 states and 327 transitions. [2020-07-11 01:10:29,771 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-11 01:10:29,771 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 297 states and 327 transitions. [2020-07-11 01:10:30,490 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 327 edges. 327 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:10:30,491 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 327 transitions. [2020-07-11 01:10:30,492 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2020-07-11 01:10:30,492 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:10:30,492 INFO L422 BasicCegarLoop]: trace histogram [3, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:10:30,492 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2020-07-11 01:10:30,493 INFO L427 AbstractCegarLoop]: === Iteration 15 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:10:30,493 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:10:30,493 INFO L82 PathProgramCache]: Analyzing trace with hash -1559910918, now seen corresponding path program 2 times [2020-07-11 01:10:30,493 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:10:30,493 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [853050641] [2020-07-11 01:10:30,493 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:10:30,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:31,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:31,039 INFO L280 TraceCheckUtils]: 0: Hoare triple {24188#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {24167#true} is VALID [2020-07-11 01:10:31,040 INFO L280 TraceCheckUtils]: 1: Hoare triple {24167#true} #valid := #valid[0 := 0]; {24167#true} is VALID [2020-07-11 01:10:31,040 INFO L280 TraceCheckUtils]: 2: Hoare triple {24167#true} assume 0 < #StackHeapBarrier; {24167#true} is VALID [2020-07-11 01:10:31,040 INFO L280 TraceCheckUtils]: 3: Hoare triple {24167#true} assume true; {24167#true} is VALID [2020-07-11 01:10:31,040 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {24167#true} {24167#true} #349#return; {24167#true} is VALID [2020-07-11 01:10:31,041 INFO L263 TraceCheckUtils]: 0: Hoare triple {24167#true} call ULTIMATE.init(); {24188#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-11 01:10:31,042 INFO L280 TraceCheckUtils]: 1: Hoare triple {24188#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {24167#true} is VALID [2020-07-11 01:10:31,042 INFO L280 TraceCheckUtils]: 2: Hoare triple {24167#true} #valid := #valid[0 := 0]; {24167#true} is VALID [2020-07-11 01:10:31,042 INFO L280 TraceCheckUtils]: 3: Hoare triple {24167#true} assume 0 < #StackHeapBarrier; {24167#true} is VALID [2020-07-11 01:10:31,042 INFO L280 TraceCheckUtils]: 4: Hoare triple {24167#true} assume true; {24167#true} is VALID [2020-07-11 01:10:31,042 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {24167#true} {24167#true} #349#return; {24167#true} is VALID [2020-07-11 01:10:31,043 INFO L263 TraceCheckUtils]: 6: Hoare triple {24167#true} call #t~ret41 := main(); {24167#true} is VALID [2020-07-11 01:10:31,043 INFO L280 TraceCheckUtils]: 7: Hoare triple {24167#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {24174#(= 0 |main_#t~malloc2.offset|)} is VALID [2020-07-11 01:10:31,044 INFO L280 TraceCheckUtils]: 8: Hoare triple {24174#(= 0 |main_#t~malloc2.offset|)} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {24167#true} is VALID [2020-07-11 01:10:31,044 INFO L280 TraceCheckUtils]: 9: Hoare triple {24167#true} havoc ~n~0.base, ~n~0.offset; {24167#true} is VALID [2020-07-11 01:10:31,044 INFO L280 TraceCheckUtils]: 10: Hoare triple {24167#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {24167#true} is VALID [2020-07-11 01:10:31,044 INFO L280 TraceCheckUtils]: 11: Hoare triple {24167#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {24167#true} is VALID [2020-07-11 01:10:31,044 INFO L280 TraceCheckUtils]: 12: Hoare triple {24167#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {24167#true} is VALID [2020-07-11 01:10:31,044 INFO L280 TraceCheckUtils]: 13: Hoare triple {24167#true} assume !(0 != #t~nondet3); {24167#true} is VALID [2020-07-11 01:10:31,045 INFO L280 TraceCheckUtils]: 14: Hoare triple {24167#true} havoc #t~nondet3; {24167#true} is VALID [2020-07-11 01:10:31,045 INFO L280 TraceCheckUtils]: 15: Hoare triple {24167#true} ~n~0.base, ~n~0.offset := 0, 0; {24167#true} is VALID [2020-07-11 01:10:31,045 INFO L280 TraceCheckUtils]: 16: Hoare triple {24167#true} havoc ~pred~0.base, ~pred~0.offset; {24167#true} is VALID [2020-07-11 01:10:31,045 INFO L280 TraceCheckUtils]: 17: Hoare triple {24167#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {24167#true} is VALID [2020-07-11 01:10:31,045 INFO L280 TraceCheckUtils]: 18: Hoare triple {24167#true} ~pred~0.base, ~pred~0.offset := 0, 0; {24167#true} is VALID [2020-07-11 01:10:31,046 INFO L280 TraceCheckUtils]: 19: Hoare triple {24167#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {24167#true} is VALID [2020-07-11 01:10:31,046 INFO L280 TraceCheckUtils]: 20: Hoare triple {24167#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {24167#true} is VALID [2020-07-11 01:10:31,046 INFO L280 TraceCheckUtils]: 21: Hoare triple {24167#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {24167#true} is VALID [2020-07-11 01:10:31,046 INFO L280 TraceCheckUtils]: 22: Hoare triple {24167#true} assume !#t~short24; {24167#true} is VALID [2020-07-11 01:10:31,047 INFO L280 TraceCheckUtils]: 23: Hoare triple {24167#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {24167#true} is VALID [2020-07-11 01:10:31,047 INFO L280 TraceCheckUtils]: 24: Hoare triple {24167#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {24167#true} is VALID [2020-07-11 01:10:31,047 INFO L280 TraceCheckUtils]: 25: Hoare triple {24167#true} assume !#t~short24; {24167#true} is VALID [2020-07-11 01:10:31,048 INFO L280 TraceCheckUtils]: 26: Hoare triple {24167#true} havoc #t~mem22.base, #t~mem22.offset; {24167#true} is VALID [2020-07-11 01:10:31,048 INFO L280 TraceCheckUtils]: 27: Hoare triple {24167#true} havoc #t~short24; {24167#true} is VALID [2020-07-11 01:10:31,048 INFO L280 TraceCheckUtils]: 28: Hoare triple {24167#true} havoc #t~mem23.base, #t~mem23.offset; {24167#true} is VALID [2020-07-11 01:10:31,049 INFO L280 TraceCheckUtils]: 29: Hoare triple {24167#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {24167#true} is VALID [2020-07-11 01:10:31,049 INFO L280 TraceCheckUtils]: 30: Hoare triple {24167#true} ~root~0.base, ~root~0.offset := 0, 0; {24167#true} is VALID [2020-07-11 01:10:31,049 INFO L280 TraceCheckUtils]: 31: Hoare triple {24167#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {24167#true} is VALID [2020-07-11 01:10:31,049 INFO L280 TraceCheckUtils]: 32: Hoare triple {24167#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {24167#true} is VALID [2020-07-11 01:10:31,051 INFO L280 TraceCheckUtils]: 33: Hoare triple {24167#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {24175#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-11 01:10:31,053 INFO L280 TraceCheckUtils]: 34: Hoare triple {24175#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {24176#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:31,054 INFO L280 TraceCheckUtils]: 35: Hoare triple {24176#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {24176#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:31,055 INFO L280 TraceCheckUtils]: 36: Hoare triple {24176#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {24176#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:31,056 INFO L280 TraceCheckUtils]: 37: Hoare triple {24176#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:31,057 INFO L280 TraceCheckUtils]: 38: Hoare triple {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:31,059 INFO L280 TraceCheckUtils]: 39: Hoare triple {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume !(0 != #t~nondet30); {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:31,060 INFO L280 TraceCheckUtils]: 40: Hoare triple {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} havoc #t~nondet30; {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:31,061 INFO L280 TraceCheckUtils]: 41: Hoare triple {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:31,062 INFO L280 TraceCheckUtils]: 42: Hoare triple {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume !!(0 != #t~nondet33); {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:31,063 INFO L280 TraceCheckUtils]: 43: Hoare triple {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} havoc #t~nondet33; {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:31,065 INFO L280 TraceCheckUtils]: 44: Hoare triple {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:31,066 INFO L280 TraceCheckUtils]: 45: Hoare triple {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {24178#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} is VALID [2020-07-11 01:10:31,067 INFO L280 TraceCheckUtils]: 46: Hoare triple {24178#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {24179#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-11 01:10:31,069 INFO L280 TraceCheckUtils]: 47: Hoare triple {24179#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {24179#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-11 01:10:31,071 INFO L280 TraceCheckUtils]: 48: Hoare triple {24179#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {24180#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:31,072 INFO L280 TraceCheckUtils]: 49: Hoare triple {24180#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {24181#(and (= |main_#t~mem35.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (not (= main_~a~0.base |main_#t~mem35.base|)) (= |main_#t~mem35.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:31,074 INFO L280 TraceCheckUtils]: 50: Hoare triple {24181#(and (= |main_#t~mem35.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (not (= main_~a~0.base |main_#t~mem35.base|)) (= |main_#t~mem35.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {24182#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:10:31,075 INFO L280 TraceCheckUtils]: 51: Hoare triple {24182#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~mem35.base, #t~mem35.offset; {24182#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:10:31,076 INFO L280 TraceCheckUtils]: 52: Hoare triple {24182#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {24182#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:10:31,077 INFO L280 TraceCheckUtils]: 53: Hoare triple {24182#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume !(0 != #t~nondet33); {24182#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:10:31,078 INFO L280 TraceCheckUtils]: 54: Hoare triple {24182#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~nondet33; {24182#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:10:31,080 INFO L280 TraceCheckUtils]: 55: Hoare triple {24182#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {24183#(and (= 0 main_~a~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))))} is VALID [2020-07-11 01:10:31,082 INFO L280 TraceCheckUtils]: 56: Hoare triple {24183#(and (= 0 main_~a~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {24184#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:10:31,083 INFO L280 TraceCheckUtils]: 57: Hoare triple {24184#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {24184#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:10:31,085 INFO L280 TraceCheckUtils]: 58: Hoare triple {24184#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} assume !!(2 == #t~mem36); {24184#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:10:31,086 INFO L280 TraceCheckUtils]: 59: Hoare triple {24184#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} havoc #t~mem36; {24184#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:10:31,087 INFO L280 TraceCheckUtils]: 60: Hoare triple {24184#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem37.base, #t~mem37.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L605 {24185#(= 3 (select (select |#memory_int| |main_#t~mem37.base|) |main_#t~mem37.offset|))} is VALID [2020-07-11 01:10:31,088 INFO L280 TraceCheckUtils]: 61: Hoare triple {24185#(= 3 (select (select |#memory_int| |main_#t~mem37.base|) |main_#t~mem37.offset|))} ~p~0.base, ~p~0.offset := #t~mem37.base, #t~mem37.offset; {24186#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:10:31,089 INFO L280 TraceCheckUtils]: 62: Hoare triple {24186#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem37.base, #t~mem37.offset; {24186#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:10:31,090 INFO L280 TraceCheckUtils]: 63: Hoare triple {24186#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {24187#(= |main_#t~mem36| 3)} is VALID [2020-07-11 01:10:31,091 INFO L280 TraceCheckUtils]: 64: Hoare triple {24187#(= |main_#t~mem36| 3)} assume !!(2 == #t~mem36); {24168#false} is VALID [2020-07-11 01:10:31,091 INFO L280 TraceCheckUtils]: 65: Hoare triple {24168#false} havoc #t~mem36; {24168#false} is VALID [2020-07-11 01:10:31,092 INFO L280 TraceCheckUtils]: 66: Hoare triple {24168#false} SUMMARY for call #t~mem37.base, #t~mem37.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L605 {24168#false} is VALID [2020-07-11 01:10:31,092 INFO L280 TraceCheckUtils]: 67: Hoare triple {24168#false} ~p~0.base, ~p~0.offset := #t~mem37.base, #t~mem37.offset; {24168#false} is VALID [2020-07-11 01:10:31,092 INFO L280 TraceCheckUtils]: 68: Hoare triple {24168#false} havoc #t~mem37.base, #t~mem37.offset; {24168#false} is VALID [2020-07-11 01:10:31,093 INFO L280 TraceCheckUtils]: 69: Hoare triple {24168#false} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {24168#false} is VALID [2020-07-11 01:10:31,093 INFO L280 TraceCheckUtils]: 70: Hoare triple {24168#false} assume !(2 == #t~mem36); {24168#false} is VALID [2020-07-11 01:10:31,093 INFO L280 TraceCheckUtils]: 71: Hoare triple {24168#false} havoc #t~mem36; {24168#false} is VALID [2020-07-11 01:10:31,094 INFO L280 TraceCheckUtils]: 72: Hoare triple {24168#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {24168#false} is VALID [2020-07-11 01:10:31,094 INFO L280 TraceCheckUtils]: 73: Hoare triple {24168#false} assume !(1 == #t~mem38); {24168#false} is VALID [2020-07-11 01:10:31,094 INFO L280 TraceCheckUtils]: 74: Hoare triple {24168#false} havoc #t~mem38; {24168#false} is VALID [2020-07-11 01:10:31,094 INFO L280 TraceCheckUtils]: 75: Hoare triple {24168#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {24168#false} is VALID [2020-07-11 01:10:31,095 INFO L280 TraceCheckUtils]: 76: Hoare triple {24168#false} assume 3 != #t~mem40; {24168#false} is VALID [2020-07-11 01:10:31,095 INFO L280 TraceCheckUtils]: 77: Hoare triple {24168#false} havoc #t~mem40; {24168#false} is VALID [2020-07-11 01:10:31,095 INFO L280 TraceCheckUtils]: 78: Hoare triple {24168#false} assume !false; {24168#false} is VALID [2020-07-11 01:10:31,113 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-11 01:10:31,114 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [853050641] [2020-07-11 01:10:31,114 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:10:31,114 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2020-07-11 01:10:31,115 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1677355804] [2020-07-11 01:10:31,115 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 79 [2020-07-11 01:10:31,116 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:10:31,116 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-11 01:10:31,241 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:10:31,241 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-11 01:10:31,241 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:10:31,242 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-11 01:10:31,242 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=240, Unknown=0, NotChecked=0, Total=272 [2020-07-11 01:10:31,242 INFO L87 Difference]: Start difference. First operand 297 states and 327 transitions. Second operand 17 states. [2020-07-11 01:10:37,109 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:37,110 INFO L93 Difference]: Finished difference Result 335 states and 367 transitions. [2020-07-11 01:10:37,110 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2020-07-11 01:10:37,110 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 79 [2020-07-11 01:10:37,110 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:10:37,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-11 01:10:37,112 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 266 transitions. [2020-07-11 01:10:37,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-11 01:10:37,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 266 transitions. [2020-07-11 01:10:37,116 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 266 transitions. [2020-07-11 01:10:37,500 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 266 edges. 266 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:10:37,507 INFO L225 Difference]: With dead ends: 335 [2020-07-11 01:10:37,507 INFO L226 Difference]: Without dead ends: 305 [2020-07-11 01:10:37,508 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 85 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=201, Invalid=855, Unknown=0, NotChecked=0, Total=1056 [2020-07-11 01:10:37,509 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 305 states. [2020-07-11 01:10:38,610 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 305 to 286. [2020-07-11 01:10:38,611 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:10:38,611 INFO L82 GeneralOperation]: Start isEquivalent. First operand 305 states. Second operand 286 states. [2020-07-11 01:10:38,611 INFO L74 IsIncluded]: Start isIncluded. First operand 305 states. Second operand 286 states. [2020-07-11 01:10:38,611 INFO L87 Difference]: Start difference. First operand 305 states. Second operand 286 states. [2020-07-11 01:10:38,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:38,617 INFO L93 Difference]: Finished difference Result 305 states and 335 transitions. [2020-07-11 01:10:38,617 INFO L276 IsEmpty]: Start isEmpty. Operand 305 states and 335 transitions. [2020-07-11 01:10:38,618 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:38,618 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:38,618 INFO L74 IsIncluded]: Start isIncluded. First operand 286 states. Second operand 305 states. [2020-07-11 01:10:38,618 INFO L87 Difference]: Start difference. First operand 286 states. Second operand 305 states. [2020-07-11 01:10:38,624 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:38,624 INFO L93 Difference]: Finished difference Result 305 states and 335 transitions. [2020-07-11 01:10:38,624 INFO L276 IsEmpty]: Start isEmpty. Operand 305 states and 335 transitions. [2020-07-11 01:10:38,624 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:38,624 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:38,625 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:10:38,625 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:10:38,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 286 states. [2020-07-11 01:10:38,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 286 states to 286 states and 315 transitions. [2020-07-11 01:10:38,630 INFO L78 Accepts]: Start accepts. Automaton has 286 states and 315 transitions. Word has length 79 [2020-07-11 01:10:38,630 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:10:38,630 INFO L479 AbstractCegarLoop]: Abstraction has 286 states and 315 transitions. [2020-07-11 01:10:38,630 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-11 01:10:38,630 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 286 states and 315 transitions. [2020-07-11 01:10:39,370 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 315 edges. 315 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:10:39,371 INFO L276 IsEmpty]: Start isEmpty. Operand 286 states and 315 transitions. [2020-07-11 01:10:39,372 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2020-07-11 01:10:39,372 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:10:39,372 INFO L422 BasicCegarLoop]: trace histogram [3, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:10:39,372 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14 [2020-07-11 01:10:39,372 INFO L427 AbstractCegarLoop]: === Iteration 16 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:10:39,373 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:10:39,373 INFO L82 PathProgramCache]: Analyzing trace with hash 1643861864, now seen corresponding path program 2 times [2020-07-11 01:10:39,373 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:10:39,373 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [299754866] [2020-07-11 01:10:39,373 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:10:39,386 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:40,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:40,015 INFO L280 TraceCheckUtils]: 0: Hoare triple {26096#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {26075#true} is VALID [2020-07-11 01:10:40,016 INFO L280 TraceCheckUtils]: 1: Hoare triple {26075#true} #valid := #valid[0 := 0]; {26075#true} is VALID [2020-07-11 01:10:40,016 INFO L280 TraceCheckUtils]: 2: Hoare triple {26075#true} assume 0 < #StackHeapBarrier; {26075#true} is VALID [2020-07-11 01:10:40,017 INFO L280 TraceCheckUtils]: 3: Hoare triple {26075#true} assume true; {26075#true} is VALID [2020-07-11 01:10:40,017 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {26075#true} {26075#true} #349#return; {26075#true} is VALID [2020-07-11 01:10:40,018 INFO L263 TraceCheckUtils]: 0: Hoare triple {26075#true} call ULTIMATE.init(); {26096#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-11 01:10:40,019 INFO L280 TraceCheckUtils]: 1: Hoare triple {26096#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {26075#true} is VALID [2020-07-11 01:10:40,019 INFO L280 TraceCheckUtils]: 2: Hoare triple {26075#true} #valid := #valid[0 := 0]; {26075#true} is VALID [2020-07-11 01:10:40,019 INFO L280 TraceCheckUtils]: 3: Hoare triple {26075#true} assume 0 < #StackHeapBarrier; {26075#true} is VALID [2020-07-11 01:10:40,020 INFO L280 TraceCheckUtils]: 4: Hoare triple {26075#true} assume true; {26075#true} is VALID [2020-07-11 01:10:40,020 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {26075#true} {26075#true} #349#return; {26075#true} is VALID [2020-07-11 01:10:40,020 INFO L263 TraceCheckUtils]: 6: Hoare triple {26075#true} call #t~ret41 := main(); {26075#true} is VALID [2020-07-11 01:10:40,021 INFO L280 TraceCheckUtils]: 7: Hoare triple {26075#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {26082#(= 0 |main_#t~malloc2.offset|)} is VALID [2020-07-11 01:10:40,022 INFO L280 TraceCheckUtils]: 8: Hoare triple {26082#(= 0 |main_#t~malloc2.offset|)} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {26075#true} is VALID [2020-07-11 01:10:40,022 INFO L280 TraceCheckUtils]: 9: Hoare triple {26075#true} havoc ~n~0.base, ~n~0.offset; {26075#true} is VALID [2020-07-11 01:10:40,022 INFO L280 TraceCheckUtils]: 10: Hoare triple {26075#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {26075#true} is VALID [2020-07-11 01:10:40,023 INFO L280 TraceCheckUtils]: 11: Hoare triple {26075#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {26075#true} is VALID [2020-07-11 01:10:40,023 INFO L280 TraceCheckUtils]: 12: Hoare triple {26075#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {26075#true} is VALID [2020-07-11 01:10:40,023 INFO L280 TraceCheckUtils]: 13: Hoare triple {26075#true} assume !(0 != #t~nondet3); {26075#true} is VALID [2020-07-11 01:10:40,024 INFO L280 TraceCheckUtils]: 14: Hoare triple {26075#true} havoc #t~nondet3; {26075#true} is VALID [2020-07-11 01:10:40,024 INFO L280 TraceCheckUtils]: 15: Hoare triple {26075#true} ~n~0.base, ~n~0.offset := 0, 0; {26075#true} is VALID [2020-07-11 01:10:40,024 INFO L280 TraceCheckUtils]: 16: Hoare triple {26075#true} havoc ~pred~0.base, ~pred~0.offset; {26075#true} is VALID [2020-07-11 01:10:40,024 INFO L280 TraceCheckUtils]: 17: Hoare triple {26075#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {26075#true} is VALID [2020-07-11 01:10:40,025 INFO L280 TraceCheckUtils]: 18: Hoare triple {26075#true} ~pred~0.base, ~pred~0.offset := 0, 0; {26075#true} is VALID [2020-07-11 01:10:40,025 INFO L280 TraceCheckUtils]: 19: Hoare triple {26075#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {26075#true} is VALID [2020-07-11 01:10:40,025 INFO L280 TraceCheckUtils]: 20: Hoare triple {26075#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {26075#true} is VALID [2020-07-11 01:10:40,026 INFO L280 TraceCheckUtils]: 21: Hoare triple {26075#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {26075#true} is VALID [2020-07-11 01:10:40,026 INFO L280 TraceCheckUtils]: 22: Hoare triple {26075#true} assume !#t~short24; {26075#true} is VALID [2020-07-11 01:10:40,026 INFO L280 TraceCheckUtils]: 23: Hoare triple {26075#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {26075#true} is VALID [2020-07-11 01:10:40,027 INFO L280 TraceCheckUtils]: 24: Hoare triple {26075#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {26075#true} is VALID [2020-07-11 01:10:40,027 INFO L280 TraceCheckUtils]: 25: Hoare triple {26075#true} assume !#t~short24; {26075#true} is VALID [2020-07-11 01:10:40,027 INFO L280 TraceCheckUtils]: 26: Hoare triple {26075#true} havoc #t~mem22.base, #t~mem22.offset; {26075#true} is VALID [2020-07-11 01:10:40,028 INFO L280 TraceCheckUtils]: 27: Hoare triple {26075#true} havoc #t~short24; {26075#true} is VALID [2020-07-11 01:10:40,028 INFO L280 TraceCheckUtils]: 28: Hoare triple {26075#true} havoc #t~mem23.base, #t~mem23.offset; {26075#true} is VALID [2020-07-11 01:10:40,028 INFO L280 TraceCheckUtils]: 29: Hoare triple {26075#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {26075#true} is VALID [2020-07-11 01:10:40,028 INFO L280 TraceCheckUtils]: 30: Hoare triple {26075#true} ~root~0.base, ~root~0.offset := 0, 0; {26075#true} is VALID [2020-07-11 01:10:40,029 INFO L280 TraceCheckUtils]: 31: Hoare triple {26075#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {26075#true} is VALID [2020-07-11 01:10:40,029 INFO L280 TraceCheckUtils]: 32: Hoare triple {26075#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {26075#true} is VALID [2020-07-11 01:10:40,031 INFO L280 TraceCheckUtils]: 33: Hoare triple {26075#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {26083#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-11 01:10:40,032 INFO L280 TraceCheckUtils]: 34: Hoare triple {26083#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {26084#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:40,033 INFO L280 TraceCheckUtils]: 35: Hoare triple {26084#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {26084#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:40,035 INFO L280 TraceCheckUtils]: 36: Hoare triple {26084#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {26084#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:40,036 INFO L280 TraceCheckUtils]: 37: Hoare triple {26084#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {26085#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:40,037 INFO L280 TraceCheckUtils]: 38: Hoare triple {26085#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {26085#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:40,039 INFO L280 TraceCheckUtils]: 39: Hoare triple {26085#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume !!(0 != #t~nondet30); {26085#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:40,039 INFO L280 TraceCheckUtils]: 40: Hoare triple {26085#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} havoc #t~nondet30; {26085#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:40,041 INFO L280 TraceCheckUtils]: 41: Hoare triple {26085#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call write~int(1, ~p~0.base, ~p~0.offset, 4); srcloc: L589 {26085#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:10:40,042 INFO L280 TraceCheckUtils]: 42: Hoare triple {26085#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call #t~malloc31.base, #t~malloc31.offset := #Ultimate.allocOnHeap(8); srcloc: L589-1 {26086#(and (= main_~a~0.base main_~p~0.base) (not (= main_~p~0.base |main_#t~malloc31.base|)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:40,044 INFO L280 TraceCheckUtils]: 43: Hoare triple {26086#(and (= main_~a~0.base main_~p~0.base) (not (= main_~p~0.base |main_#t~malloc31.base|)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} ~t~0.base, ~t~0.offset := #t~malloc31.base, #t~malloc31.offset; {26087#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-11 01:10:40,045 INFO L280 TraceCheckUtils]: 44: Hoare triple {26087#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {26087#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-11 01:10:40,047 INFO L280 TraceCheckUtils]: 45: Hoare triple {26087#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L591-3 {26088#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:40,049 INFO L280 TraceCheckUtils]: 46: Hoare triple {26088#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} SUMMARY for call #t~mem32.base, #t~mem32.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L592 {26089#(and (not (= main_~a~0.base |main_#t~mem32.base|)) (= 0 main_~a~0.offset) (= |main_#t~mem32.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= |main_#t~mem32.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)))} is VALID [2020-07-11 01:10:40,051 INFO L280 TraceCheckUtils]: 47: Hoare triple {26089#(and (not (= main_~a~0.base |main_#t~mem32.base|)) (= 0 main_~a~0.offset) (= |main_#t~mem32.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= |main_#t~mem32.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)))} ~p~0.base, ~p~0.offset := #t~mem32.base, #t~mem32.offset; {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:10:40,052 INFO L280 TraceCheckUtils]: 48: Hoare triple {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~mem32.base, #t~mem32.offset; {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:10:40,054 INFO L280 TraceCheckUtils]: 49: Hoare triple {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:10:40,055 INFO L280 TraceCheckUtils]: 50: Hoare triple {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume !(0 != #t~nondet30); {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:10:40,056 INFO L280 TraceCheckUtils]: 51: Hoare triple {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~nondet30; {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:10:40,058 INFO L280 TraceCheckUtils]: 52: Hoare triple {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:10:40,059 INFO L280 TraceCheckUtils]: 53: Hoare triple {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume !(0 != #t~nondet33); {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:10:40,060 INFO L280 TraceCheckUtils]: 54: Hoare triple {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~nondet33; {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:10:40,062 INFO L280 TraceCheckUtils]: 55: Hoare triple {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {26091#(and (= 0 main_~a~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))))} is VALID [2020-07-11 01:10:40,063 INFO L280 TraceCheckUtils]: 56: Hoare triple {26091#(and (= 0 main_~a~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:10:40,065 INFO L280 TraceCheckUtils]: 57: Hoare triple {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:10:40,066 INFO L280 TraceCheckUtils]: 58: Hoare triple {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} assume !(2 == #t~mem36); {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:10:40,068 INFO L280 TraceCheckUtils]: 59: Hoare triple {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} havoc #t~mem36; {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:10:40,069 INFO L280 TraceCheckUtils]: 60: Hoare triple {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:10:40,070 INFO L280 TraceCheckUtils]: 61: Hoare triple {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} assume !!(1 == #t~mem38); {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:10:40,071 INFO L280 TraceCheckUtils]: 62: Hoare triple {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} havoc #t~mem38; {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:10:40,073 INFO L280 TraceCheckUtils]: 63: Hoare triple {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem39.base, #t~mem39.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L607 {26093#(= 3 (select (select |#memory_int| |main_#t~mem39.base|) |main_#t~mem39.offset|))} is VALID [2020-07-11 01:10:40,074 INFO L280 TraceCheckUtils]: 64: Hoare triple {26093#(= 3 (select (select |#memory_int| |main_#t~mem39.base|) |main_#t~mem39.offset|))} ~p~0.base, ~p~0.offset := #t~mem39.base, #t~mem39.offset; {26094#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:10:40,075 INFO L280 TraceCheckUtils]: 65: Hoare triple {26094#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem39.base, #t~mem39.offset; {26094#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:10:40,076 INFO L280 TraceCheckUtils]: 66: Hoare triple {26094#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {26095#(= |main_#t~mem38| 3)} is VALID [2020-07-11 01:10:40,077 INFO L280 TraceCheckUtils]: 67: Hoare triple {26095#(= |main_#t~mem38| 3)} assume !!(1 == #t~mem38); {26076#false} is VALID [2020-07-11 01:10:40,078 INFO L280 TraceCheckUtils]: 68: Hoare triple {26076#false} havoc #t~mem38; {26076#false} is VALID [2020-07-11 01:10:40,078 INFO L280 TraceCheckUtils]: 69: Hoare triple {26076#false} SUMMARY for call #t~mem39.base, #t~mem39.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L607 {26076#false} is VALID [2020-07-11 01:10:40,078 INFO L280 TraceCheckUtils]: 70: Hoare triple {26076#false} ~p~0.base, ~p~0.offset := #t~mem39.base, #t~mem39.offset; {26076#false} is VALID [2020-07-11 01:10:40,079 INFO L280 TraceCheckUtils]: 71: Hoare triple {26076#false} havoc #t~mem39.base, #t~mem39.offset; {26076#false} is VALID [2020-07-11 01:10:40,079 INFO L280 TraceCheckUtils]: 72: Hoare triple {26076#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {26076#false} is VALID [2020-07-11 01:10:40,079 INFO L280 TraceCheckUtils]: 73: Hoare triple {26076#false} assume !(1 == #t~mem38); {26076#false} is VALID [2020-07-11 01:10:40,080 INFO L280 TraceCheckUtils]: 74: Hoare triple {26076#false} havoc #t~mem38; {26076#false} is VALID [2020-07-11 01:10:40,080 INFO L280 TraceCheckUtils]: 75: Hoare triple {26076#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {26076#false} is VALID [2020-07-11 01:10:40,080 INFO L280 TraceCheckUtils]: 76: Hoare triple {26076#false} assume 3 != #t~mem40; {26076#false} is VALID [2020-07-11 01:10:40,081 INFO L280 TraceCheckUtils]: 77: Hoare triple {26076#false} havoc #t~mem40; {26076#false} is VALID [2020-07-11 01:10:40,081 INFO L280 TraceCheckUtils]: 78: Hoare triple {26076#false} assume !false; {26076#false} is VALID [2020-07-11 01:10:40,109 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-11 01:10:40,109 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [299754866] [2020-07-11 01:10:40,111 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:10:40,112 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2020-07-11 01:10:40,112 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [678659934] [2020-07-11 01:10:40,112 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 79 [2020-07-11 01:10:40,113 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:10:40,113 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-11 01:10:40,239 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:10:40,239 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-11 01:10:40,239 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:10:40,240 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-11 01:10:40,240 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=240, Unknown=0, NotChecked=0, Total=272 [2020-07-11 01:10:40,240 INFO L87 Difference]: Start difference. First operand 286 states and 315 transitions. Second operand 17 states. [2020-07-11 01:10:46,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:46,436 INFO L93 Difference]: Finished difference Result 325 states and 355 transitions. [2020-07-11 01:10:46,436 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2020-07-11 01:10:46,436 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 79 [2020-07-11 01:10:46,436 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:10:46,437 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-11 01:10:46,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 273 transitions. [2020-07-11 01:10:46,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-11 01:10:46,440 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 273 transitions. [2020-07-11 01:10:46,440 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 273 transitions. [2020-07-11 01:10:46,836 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 273 edges. 273 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:10:46,843 INFO L225 Difference]: With dead ends: 325 [2020-07-11 01:10:46,843 INFO L226 Difference]: Without dead ends: 299 [2020-07-11 01:10:46,844 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 88 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=201, Invalid=855, Unknown=0, NotChecked=0, Total=1056 [2020-07-11 01:10:46,844 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 299 states. [2020-07-11 01:10:47,806 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 299 to 274. [2020-07-11 01:10:47,807 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:10:47,807 INFO L82 GeneralOperation]: Start isEquivalent. First operand 299 states. Second operand 274 states. [2020-07-11 01:10:47,807 INFO L74 IsIncluded]: Start isIncluded. First operand 299 states. Second operand 274 states. [2020-07-11 01:10:47,807 INFO L87 Difference]: Start difference. First operand 299 states. Second operand 274 states. [2020-07-11 01:10:47,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:47,812 INFO L93 Difference]: Finished difference Result 299 states and 328 transitions. [2020-07-11 01:10:47,812 INFO L276 IsEmpty]: Start isEmpty. Operand 299 states and 328 transitions. [2020-07-11 01:10:47,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:47,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:47,813 INFO L74 IsIncluded]: Start isIncluded. First operand 274 states. Second operand 299 states. [2020-07-11 01:10:47,813 INFO L87 Difference]: Start difference. First operand 274 states. Second operand 299 states. [2020-07-11 01:10:47,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:47,820 INFO L93 Difference]: Finished difference Result 299 states and 328 transitions. [2020-07-11 01:10:47,820 INFO L276 IsEmpty]: Start isEmpty. Operand 299 states and 328 transitions. [2020-07-11 01:10:47,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:47,820 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:47,821 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:10:47,821 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:10:47,821 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 274 states. [2020-07-11 01:10:47,826 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 274 states to 274 states and 302 transitions. [2020-07-11 01:10:47,827 INFO L78 Accepts]: Start accepts. Automaton has 274 states and 302 transitions. Word has length 79 [2020-07-11 01:10:47,827 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:10:47,827 INFO L479 AbstractCegarLoop]: Abstraction has 274 states and 302 transitions. [2020-07-11 01:10:47,827 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-11 01:10:47,827 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 274 states and 302 transitions. [2020-07-11 01:10:48,537 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 302 edges. 302 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:10:48,537 INFO L276 IsEmpty]: Start isEmpty. Operand 274 states and 302 transitions. [2020-07-11 01:10:48,538 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2020-07-11 01:10:48,539 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:10:48,539 INFO L422 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-11 01:10:48,539 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15 [2020-07-11 01:10:48,539 INFO L427 AbstractCegarLoop]: === Iteration 17 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:10:48,539 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:10:48,539 INFO L82 PathProgramCache]: Analyzing trace with hash 1435872375, now seen corresponding path program 1 times [2020-07-11 01:10:48,540 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:10:48,540 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1220487054] [2020-07-11 01:10:48,540 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:10:48,554 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:49,168 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:49,171 INFO L280 TraceCheckUtils]: 0: Hoare triple {27953#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {27927#true} is VALID [2020-07-11 01:10:49,171 INFO L280 TraceCheckUtils]: 1: Hoare triple {27927#true} #valid := #valid[0 := 0]; {27927#true} is VALID [2020-07-11 01:10:49,171 INFO L280 TraceCheckUtils]: 2: Hoare triple {27927#true} assume 0 < #StackHeapBarrier; {27927#true} is VALID [2020-07-11 01:10:49,172 INFO L280 TraceCheckUtils]: 3: Hoare triple {27927#true} assume true; {27927#true} is VALID [2020-07-11 01:10:49,172 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {27927#true} {27927#true} #349#return; {27927#true} is VALID [2020-07-11 01:10:49,172 INFO L263 TraceCheckUtils]: 0: Hoare triple {27927#true} call ULTIMATE.init(); {27953#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-11 01:10:49,173 INFO L280 TraceCheckUtils]: 1: Hoare triple {27953#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {27927#true} is VALID [2020-07-11 01:10:49,173 INFO L280 TraceCheckUtils]: 2: Hoare triple {27927#true} #valid := #valid[0 := 0]; {27927#true} is VALID [2020-07-11 01:10:49,173 INFO L280 TraceCheckUtils]: 3: Hoare triple {27927#true} assume 0 < #StackHeapBarrier; {27927#true} is VALID [2020-07-11 01:10:49,173 INFO L280 TraceCheckUtils]: 4: Hoare triple {27927#true} assume true; {27927#true} is VALID [2020-07-11 01:10:49,174 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {27927#true} {27927#true} #349#return; {27927#true} is VALID [2020-07-11 01:10:49,174 INFO L263 TraceCheckUtils]: 6: Hoare triple {27927#true} call #t~ret41 := main(); {27927#true} is VALID [2020-07-11 01:10:49,174 INFO L280 TraceCheckUtils]: 7: Hoare triple {27927#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {27927#true} is VALID [2020-07-11 01:10:49,174 INFO L280 TraceCheckUtils]: 8: Hoare triple {27927#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {27927#true} is VALID [2020-07-11 01:10:49,174 INFO L280 TraceCheckUtils]: 9: Hoare triple {27927#true} havoc ~n~0.base, ~n~0.offset; {27927#true} is VALID [2020-07-11 01:10:49,174 INFO L280 TraceCheckUtils]: 10: Hoare triple {27927#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {27927#true} is VALID [2020-07-11 01:10:49,175 INFO L280 TraceCheckUtils]: 11: Hoare triple {27927#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {27927#true} is VALID [2020-07-11 01:10:49,175 INFO L280 TraceCheckUtils]: 12: Hoare triple {27927#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {27927#true} is VALID [2020-07-11 01:10:49,175 INFO L280 TraceCheckUtils]: 13: Hoare triple {27927#true} assume !(0 != #t~nondet3); {27927#true} is VALID [2020-07-11 01:10:49,175 INFO L280 TraceCheckUtils]: 14: Hoare triple {27927#true} havoc #t~nondet3; {27927#true} is VALID [2020-07-11 01:10:49,175 INFO L280 TraceCheckUtils]: 15: Hoare triple {27927#true} ~n~0.base, ~n~0.offset := 0, 0; {27927#true} is VALID [2020-07-11 01:10:49,175 INFO L280 TraceCheckUtils]: 16: Hoare triple {27927#true} havoc ~pred~0.base, ~pred~0.offset; {27927#true} is VALID [2020-07-11 01:10:49,176 INFO L280 TraceCheckUtils]: 17: Hoare triple {27927#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {27927#true} is VALID [2020-07-11 01:10:49,176 INFO L280 TraceCheckUtils]: 18: Hoare triple {27927#true} ~pred~0.base, ~pred~0.offset := 0, 0; {27927#true} is VALID [2020-07-11 01:10:49,176 INFO L280 TraceCheckUtils]: 19: Hoare triple {27927#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {27927#true} is VALID [2020-07-11 01:10:49,176 INFO L280 TraceCheckUtils]: 20: Hoare triple {27927#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {27927#true} is VALID [2020-07-11 01:10:49,176 INFO L280 TraceCheckUtils]: 21: Hoare triple {27927#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {27927#true} is VALID [2020-07-11 01:10:49,176 INFO L280 TraceCheckUtils]: 22: Hoare triple {27927#true} assume !#t~short24; {27927#true} is VALID [2020-07-11 01:10:49,177 INFO L280 TraceCheckUtils]: 23: Hoare triple {27927#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {27927#true} is VALID [2020-07-11 01:10:49,177 INFO L280 TraceCheckUtils]: 24: Hoare triple {27927#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {27927#true} is VALID [2020-07-11 01:10:49,177 INFO L280 TraceCheckUtils]: 25: Hoare triple {27927#true} assume !#t~short24; {27927#true} is VALID [2020-07-11 01:10:49,177 INFO L280 TraceCheckUtils]: 26: Hoare triple {27927#true} havoc #t~mem22.base, #t~mem22.offset; {27927#true} is VALID [2020-07-11 01:10:49,177 INFO L280 TraceCheckUtils]: 27: Hoare triple {27927#true} havoc #t~short24; {27927#true} is VALID [2020-07-11 01:10:49,177 INFO L280 TraceCheckUtils]: 28: Hoare triple {27927#true} havoc #t~mem23.base, #t~mem23.offset; {27927#true} is VALID [2020-07-11 01:10:49,178 INFO L280 TraceCheckUtils]: 29: Hoare triple {27927#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {27927#true} is VALID [2020-07-11 01:10:49,178 INFO L280 TraceCheckUtils]: 30: Hoare triple {27927#true} ~root~0.base, ~root~0.offset := 0, 0; {27927#true} is VALID [2020-07-11 01:10:49,178 INFO L280 TraceCheckUtils]: 31: Hoare triple {27927#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {27927#true} is VALID [2020-07-11 01:10:49,178 INFO L280 TraceCheckUtils]: 32: Hoare triple {27927#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {27927#true} is VALID [2020-07-11 01:10:49,180 INFO L280 TraceCheckUtils]: 33: Hoare triple {27927#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {27934#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-11 01:10:49,186 INFO L280 TraceCheckUtils]: 34: Hoare triple {27934#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {27935#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:49,188 INFO L280 TraceCheckUtils]: 35: Hoare triple {27935#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {27935#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:49,190 INFO L280 TraceCheckUtils]: 36: Hoare triple {27935#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {27935#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:49,191 INFO L280 TraceCheckUtils]: 37: Hoare triple {27935#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:49,192 INFO L280 TraceCheckUtils]: 38: Hoare triple {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:49,195 INFO L280 TraceCheckUtils]: 39: Hoare triple {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet30); {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:49,196 INFO L280 TraceCheckUtils]: 40: Hoare triple {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet30; {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:49,196 INFO L280 TraceCheckUtils]: 41: Hoare triple {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:49,197 INFO L280 TraceCheckUtils]: 42: Hoare triple {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !!(0 != #t~nondet33); {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:49,198 INFO L280 TraceCheckUtils]: 43: Hoare triple {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet33; {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:49,199 INFO L280 TraceCheckUtils]: 44: Hoare triple {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {27937#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:49,200 INFO L280 TraceCheckUtils]: 45: Hoare triple {27937#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {27938#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} is VALID [2020-07-11 01:10:49,201 INFO L280 TraceCheckUtils]: 46: Hoare triple {27938#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {27939#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:49,202 INFO L280 TraceCheckUtils]: 47: Hoare triple {27939#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {27939#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:49,204 INFO L280 TraceCheckUtils]: 48: Hoare triple {27939#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {27940#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:49,205 INFO L280 TraceCheckUtils]: 49: Hoare triple {27940#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {27941#(and (not (= main_~a~0.base |main_#t~mem35.base|)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:49,206 INFO L280 TraceCheckUtils]: 50: Hoare triple {27941#(and (not (= main_~a~0.base |main_#t~mem35.base|)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:49,206 INFO L280 TraceCheckUtils]: 51: Hoare triple {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} havoc #t~mem35.base, #t~mem35.offset; {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:49,207 INFO L280 TraceCheckUtils]: 52: Hoare triple {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:49,208 INFO L280 TraceCheckUtils]: 53: Hoare triple {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} assume !!(0 != #t~nondet33); {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:49,209 INFO L280 TraceCheckUtils]: 54: Hoare triple {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} havoc #t~nondet33; {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:49,210 INFO L280 TraceCheckUtils]: 55: Hoare triple {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:10:49,211 INFO L280 TraceCheckUtils]: 56: Hoare triple {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {27943#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset |main_#t~malloc34.offset|) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:10:49,212 INFO L280 TraceCheckUtils]: 57: Hoare triple {27943#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset |main_#t~malloc34.offset|) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {27944#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset main_~t~0.offset) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:10:49,213 INFO L280 TraceCheckUtils]: 58: Hoare triple {27944#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset main_~t~0.offset) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {27944#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset main_~t~0.offset) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:10:49,214 INFO L280 TraceCheckUtils]: 59: Hoare triple {27944#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset main_~t~0.offset) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {27945#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)) main_~a~0.offset))} is VALID [2020-07-11 01:10:49,217 INFO L280 TraceCheckUtils]: 60: Hoare triple {27945#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)) main_~a~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {27946#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset |main_#t~mem35.offset|))} is VALID [2020-07-11 01:10:49,218 INFO L280 TraceCheckUtils]: 61: Hoare triple {27946#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset |main_#t~mem35.offset|))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {27947#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:49,219 INFO L280 TraceCheckUtils]: 62: Hoare triple {27947#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~mem35.base, #t~mem35.offset; {27947#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:49,220 INFO L280 TraceCheckUtils]: 63: Hoare triple {27947#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {27947#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:49,221 INFO L280 TraceCheckUtils]: 64: Hoare triple {27947#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet33); {27947#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:49,221 INFO L280 TraceCheckUtils]: 65: Hoare triple {27947#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet33; {27947#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-11 01:10:49,222 INFO L280 TraceCheckUtils]: 66: Hoare triple {27947#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {27948#(or (= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-11 01:10:49,223 INFO L280 TraceCheckUtils]: 67: Hoare triple {27948#(or (= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {27949#(or (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} is VALID [2020-07-11 01:10:49,224 INFO L280 TraceCheckUtils]: 68: Hoare triple {27949#(or (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {27950#(or (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= |main_#t~mem36| 2))} is VALID [2020-07-11 01:10:49,224 INFO L280 TraceCheckUtils]: 69: Hoare triple {27950#(or (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= |main_#t~mem36| 2))} assume !(2 == #t~mem36); {27951#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:10:49,224 INFO L280 TraceCheckUtils]: 70: Hoare triple {27951#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem36; {27951#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:10:49,225 INFO L280 TraceCheckUtils]: 71: Hoare triple {27951#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {27952#(= |main_#t~mem38| 3)} is VALID [2020-07-11 01:10:49,225 INFO L280 TraceCheckUtils]: 72: Hoare triple {27952#(= |main_#t~mem38| 3)} assume !!(1 == #t~mem38); {27928#false} is VALID [2020-07-11 01:10:49,226 INFO L280 TraceCheckUtils]: 73: Hoare triple {27928#false} havoc #t~mem38; {27928#false} is VALID [2020-07-11 01:10:49,226 INFO L280 TraceCheckUtils]: 74: Hoare triple {27928#false} SUMMARY for call #t~mem39.base, #t~mem39.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L607 {27928#false} is VALID [2020-07-11 01:10:49,226 INFO L280 TraceCheckUtils]: 75: Hoare triple {27928#false} ~p~0.base, ~p~0.offset := #t~mem39.base, #t~mem39.offset; {27928#false} is VALID [2020-07-11 01:10:49,226 INFO L280 TraceCheckUtils]: 76: Hoare triple {27928#false} havoc #t~mem39.base, #t~mem39.offset; {27928#false} is VALID [2020-07-11 01:10:49,226 INFO L280 TraceCheckUtils]: 77: Hoare triple {27928#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {27928#false} is VALID [2020-07-11 01:10:49,226 INFO L280 TraceCheckUtils]: 78: Hoare triple {27928#false} assume !(1 == #t~mem38); {27928#false} is VALID [2020-07-11 01:10:49,227 INFO L280 TraceCheckUtils]: 79: Hoare triple {27928#false} havoc #t~mem38; {27928#false} is VALID [2020-07-11 01:10:49,227 INFO L280 TraceCheckUtils]: 80: Hoare triple {27928#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {27928#false} is VALID [2020-07-11 01:10:49,227 INFO L280 TraceCheckUtils]: 81: Hoare triple {27928#false} assume 3 != #t~mem40; {27928#false} is VALID [2020-07-11 01:10:49,227 INFO L280 TraceCheckUtils]: 82: Hoare triple {27928#false} havoc #t~mem40; {27928#false} is VALID [2020-07-11 01:10:49,227 INFO L280 TraceCheckUtils]: 83: Hoare triple {27928#false} assume !false; {27928#false} is VALID [2020-07-11 01:10:49,240 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 2 proven. 15 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-11 01:10:49,240 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1220487054] [2020-07-11 01:10:49,241 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:10:49,241 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22] total 22 [2020-07-11 01:10:49,241 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1665200885] [2020-07-11 01:10:49,241 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 84 [2020-07-11 01:10:49,242 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:10:49,242 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2020-07-11 01:10:49,349 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:10:49,350 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2020-07-11 01:10:49,350 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:10:49,350 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2020-07-11 01:10:49,351 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=397, Unknown=0, NotChecked=0, Total=462 [2020-07-11 01:10:49,351 INFO L87 Difference]: Start difference. First operand 274 states and 302 transitions. Second operand 22 states. [2020-07-11 01:10:56,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:56,994 INFO L93 Difference]: Finished difference Result 352 states and 384 transitions. [2020-07-11 01:10:56,994 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2020-07-11 01:10:56,994 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 84 [2020-07-11 01:10:56,995 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:10:56,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-11 01:10:56,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 302 transitions. [2020-07-11 01:10:56,997 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-11 01:10:56,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 302 transitions. [2020-07-11 01:10:56,998 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states and 302 transitions. [2020-07-11 01:10:57,450 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 302 edges. 302 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:10:57,456 INFO L225 Difference]: With dead ends: 352 [2020-07-11 01:10:57,457 INFO L226 Difference]: Without dead ends: 337 [2020-07-11 01:10:57,458 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 49 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 458 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=451, Invalid=2099, Unknown=0, NotChecked=0, Total=2550 [2020-07-11 01:10:57,458 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 337 states. [2020-07-11 01:10:58,484 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 337 to 290. [2020-07-11 01:10:58,484 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:10:58,484 INFO L82 GeneralOperation]: Start isEquivalent. First operand 337 states. Second operand 290 states. [2020-07-11 01:10:58,484 INFO L74 IsIncluded]: Start isIncluded. First operand 337 states. Second operand 290 states. [2020-07-11 01:10:58,484 INFO L87 Difference]: Start difference. First operand 337 states. Second operand 290 states. [2020-07-11 01:10:58,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:58,491 INFO L93 Difference]: Finished difference Result 337 states and 368 transitions. [2020-07-11 01:10:58,491 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 368 transitions. [2020-07-11 01:10:58,491 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:58,491 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:58,491 INFO L74 IsIncluded]: Start isIncluded. First operand 290 states. Second operand 337 states. [2020-07-11 01:10:58,491 INFO L87 Difference]: Start difference. First operand 290 states. Second operand 337 states. [2020-07-11 01:10:58,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:58,498 INFO L93 Difference]: Finished difference Result 337 states and 368 transitions. [2020-07-11 01:10:58,498 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 368 transitions. [2020-07-11 01:10:58,498 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:58,498 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:58,498 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:10:58,499 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:10:58,499 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 290 states. [2020-07-11 01:10:58,504 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 290 states to 290 states and 319 transitions. [2020-07-11 01:10:58,504 INFO L78 Accepts]: Start accepts. Automaton has 290 states and 319 transitions. Word has length 84 [2020-07-11 01:10:58,505 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:10:58,505 INFO L479 AbstractCegarLoop]: Abstraction has 290 states and 319 transitions. [2020-07-11 01:10:58,505 INFO L480 AbstractCegarLoop]: Interpolant automaton has 22 states. [2020-07-11 01:10:58,505 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 290 states and 319 transitions. [2020-07-11 01:10:59,273 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 319 edges. 319 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:10:59,274 INFO L276 IsEmpty]: Start isEmpty. Operand 290 states and 319 transitions. [2020-07-11 01:10:59,274 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2020-07-11 01:10:59,274 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:10:59,275 INFO L422 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-11 01:10:59,275 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16 [2020-07-11 01:10:59,275 INFO L427 AbstractCegarLoop]: === Iteration 18 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:10:59,275 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:10:59,276 INFO L82 PathProgramCache]: Analyzing trace with hash -1822413145, now seen corresponding path program 3 times [2020-07-11 01:10:59,276 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:10:59,276 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [240788134] [2020-07-11 01:10:59,276 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:10:59,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:11:00,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:11:00,532 INFO L280 TraceCheckUtils]: 0: Hoare triple {30001#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {29972#true} is VALID [2020-07-11 01:11:00,533 INFO L280 TraceCheckUtils]: 1: Hoare triple {29972#true} #valid := #valid[0 := 0]; {29972#true} is VALID [2020-07-11 01:11:00,533 INFO L280 TraceCheckUtils]: 2: Hoare triple {29972#true} assume 0 < #StackHeapBarrier; {29972#true} is VALID [2020-07-11 01:11:00,533 INFO L280 TraceCheckUtils]: 3: Hoare triple {29972#true} assume true; {29972#true} is VALID [2020-07-11 01:11:00,533 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {29972#true} {29972#true} #349#return; {29972#true} is VALID [2020-07-11 01:11:00,534 INFO L263 TraceCheckUtils]: 0: Hoare triple {29972#true} call ULTIMATE.init(); {30001#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-11 01:11:00,534 INFO L280 TraceCheckUtils]: 1: Hoare triple {30001#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {29972#true} is VALID [2020-07-11 01:11:00,535 INFO L280 TraceCheckUtils]: 2: Hoare triple {29972#true} #valid := #valid[0 := 0]; {29972#true} is VALID [2020-07-11 01:11:00,535 INFO L280 TraceCheckUtils]: 3: Hoare triple {29972#true} assume 0 < #StackHeapBarrier; {29972#true} is VALID [2020-07-11 01:11:00,535 INFO L280 TraceCheckUtils]: 4: Hoare triple {29972#true} assume true; {29972#true} is VALID [2020-07-11 01:11:00,535 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {29972#true} {29972#true} #349#return; {29972#true} is VALID [2020-07-11 01:11:00,535 INFO L263 TraceCheckUtils]: 6: Hoare triple {29972#true} call #t~ret41 := main(); {29972#true} is VALID [2020-07-11 01:11:00,536 INFO L280 TraceCheckUtils]: 7: Hoare triple {29972#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {29979#(= 0 |main_#t~malloc2.offset|)} is VALID [2020-07-11 01:11:00,536 INFO L280 TraceCheckUtils]: 8: Hoare triple {29979#(= 0 |main_#t~malloc2.offset|)} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {29972#true} is VALID [2020-07-11 01:11:00,536 INFO L280 TraceCheckUtils]: 9: Hoare triple {29972#true} havoc ~n~0.base, ~n~0.offset; {29972#true} is VALID [2020-07-11 01:11:00,536 INFO L280 TraceCheckUtils]: 10: Hoare triple {29972#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {29972#true} is VALID [2020-07-11 01:11:00,537 INFO L280 TraceCheckUtils]: 11: Hoare triple {29972#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {29972#true} is VALID [2020-07-11 01:11:00,537 INFO L280 TraceCheckUtils]: 12: Hoare triple {29972#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {29972#true} is VALID [2020-07-11 01:11:00,537 INFO L280 TraceCheckUtils]: 13: Hoare triple {29972#true} assume !(0 != #t~nondet3); {29972#true} is VALID [2020-07-11 01:11:00,537 INFO L280 TraceCheckUtils]: 14: Hoare triple {29972#true} havoc #t~nondet3; {29972#true} is VALID [2020-07-11 01:11:00,537 INFO L280 TraceCheckUtils]: 15: Hoare triple {29972#true} ~n~0.base, ~n~0.offset := 0, 0; {29972#true} is VALID [2020-07-11 01:11:00,537 INFO L280 TraceCheckUtils]: 16: Hoare triple {29972#true} havoc ~pred~0.base, ~pred~0.offset; {29972#true} is VALID [2020-07-11 01:11:00,538 INFO L280 TraceCheckUtils]: 17: Hoare triple {29972#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {29972#true} is VALID [2020-07-11 01:11:00,538 INFO L280 TraceCheckUtils]: 18: Hoare triple {29972#true} ~pred~0.base, ~pred~0.offset := 0, 0; {29972#true} is VALID [2020-07-11 01:11:00,538 INFO L280 TraceCheckUtils]: 19: Hoare triple {29972#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {29972#true} is VALID [2020-07-11 01:11:00,538 INFO L280 TraceCheckUtils]: 20: Hoare triple {29972#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {29972#true} is VALID [2020-07-11 01:11:00,538 INFO L280 TraceCheckUtils]: 21: Hoare triple {29972#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {29972#true} is VALID [2020-07-11 01:11:00,538 INFO L280 TraceCheckUtils]: 22: Hoare triple {29972#true} assume !#t~short24; {29972#true} is VALID [2020-07-11 01:11:00,539 INFO L280 TraceCheckUtils]: 23: Hoare triple {29972#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {29972#true} is VALID [2020-07-11 01:11:00,539 INFO L280 TraceCheckUtils]: 24: Hoare triple {29972#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {29972#true} is VALID [2020-07-11 01:11:00,539 INFO L280 TraceCheckUtils]: 25: Hoare triple {29972#true} assume !#t~short24; {29972#true} is VALID [2020-07-11 01:11:00,539 INFO L280 TraceCheckUtils]: 26: Hoare triple {29972#true} havoc #t~mem22.base, #t~mem22.offset; {29972#true} is VALID [2020-07-11 01:11:00,539 INFO L280 TraceCheckUtils]: 27: Hoare triple {29972#true} havoc #t~short24; {29972#true} is VALID [2020-07-11 01:11:00,539 INFO L280 TraceCheckUtils]: 28: Hoare triple {29972#true} havoc #t~mem23.base, #t~mem23.offset; {29972#true} is VALID [2020-07-11 01:11:00,540 INFO L280 TraceCheckUtils]: 29: Hoare triple {29972#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {29972#true} is VALID [2020-07-11 01:11:00,540 INFO L280 TraceCheckUtils]: 30: Hoare triple {29972#true} ~root~0.base, ~root~0.offset := 0, 0; {29972#true} is VALID [2020-07-11 01:11:00,540 INFO L280 TraceCheckUtils]: 31: Hoare triple {29972#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {29972#true} is VALID [2020-07-11 01:11:00,540 INFO L280 TraceCheckUtils]: 32: Hoare triple {29972#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {29972#true} is VALID [2020-07-11 01:11:00,541 INFO L280 TraceCheckUtils]: 33: Hoare triple {29972#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {29980#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-11 01:11:00,542 INFO L280 TraceCheckUtils]: 34: Hoare triple {29980#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {29981#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:11:00,543 INFO L280 TraceCheckUtils]: 35: Hoare triple {29981#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {29981#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:11:00,544 INFO L280 TraceCheckUtils]: 36: Hoare triple {29981#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {29981#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:11:00,544 INFO L280 TraceCheckUtils]: 37: Hoare triple {29981#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:11:00,545 INFO L280 TraceCheckUtils]: 38: Hoare triple {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:11:00,546 INFO L280 TraceCheckUtils]: 39: Hoare triple {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume !(0 != #t~nondet30); {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:11:00,547 INFO L280 TraceCheckUtils]: 40: Hoare triple {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} havoc #t~nondet30; {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:11:00,547 INFO L280 TraceCheckUtils]: 41: Hoare triple {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:11:00,548 INFO L280 TraceCheckUtils]: 42: Hoare triple {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume !!(0 != #t~nondet33); {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:11:00,549 INFO L280 TraceCheckUtils]: 43: Hoare triple {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} havoc #t~nondet33; {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:11:00,550 INFO L280 TraceCheckUtils]: 44: Hoare triple {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-11 01:11:00,551 INFO L280 TraceCheckUtils]: 45: Hoare triple {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {29983#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 1 (select |#valid| |main_#t~malloc34.base|)) (= 0 main_~a~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} is VALID [2020-07-11 01:11:00,552 INFO L280 TraceCheckUtils]: 46: Hoare triple {29983#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 1 (select |#valid| |main_#t~malloc34.base|)) (= 0 main_~a~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {29984#(and (= 1 (select |#valid| main_~t~0.base)) (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-11 01:11:00,553 INFO L280 TraceCheckUtils]: 47: Hoare triple {29984#(and (= 1 (select |#valid| main_~t~0.base)) (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {29984#(and (= 1 (select |#valid| main_~t~0.base)) (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-11 01:11:00,554 INFO L280 TraceCheckUtils]: 48: Hoare triple {29984#(and (= 1 (select |#valid| main_~t~0.base)) (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {29985#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)))) (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:11:00,556 INFO L280 TraceCheckUtils]: 49: Hoare triple {29985#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)))) (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {29986#(and (= |main_#t~mem35.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (not (= main_~a~0.base |main_#t~mem35.base|)) (= |main_#t~mem35.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= 1 (select |#valid| |main_#t~mem35.base|)) (= 0 main_~a~0.offset))} is VALID [2020-07-11 01:11:00,557 INFO L280 TraceCheckUtils]: 50: Hoare triple {29986#(and (= |main_#t~mem35.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (not (= main_~a~0.base |main_#t~mem35.base|)) (= |main_#t~mem35.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= 1 (select |#valid| |main_#t~mem35.base|)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {29987#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:11:00,557 INFO L280 TraceCheckUtils]: 51: Hoare triple {29987#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~mem35.base, #t~mem35.offset; {29987#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:11:00,558 INFO L280 TraceCheckUtils]: 52: Hoare triple {29987#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {29987#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:11:00,559 INFO L280 TraceCheckUtils]: 53: Hoare triple {29987#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume !!(0 != #t~nondet33); {29987#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:11:00,561 INFO L280 TraceCheckUtils]: 54: Hoare triple {29987#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~nondet33; {29987#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:11:00,563 INFO L280 TraceCheckUtils]: 55: Hoare triple {29987#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {29988#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:11:00,564 INFO L280 TraceCheckUtils]: 56: Hoare triple {29988#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {29989#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset |main_#t~malloc34.offset|) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} is VALID [2020-07-11 01:11:00,565 INFO L280 TraceCheckUtils]: 57: Hoare triple {29989#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset |main_#t~malloc34.offset|) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {29990#(and (= (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4) main_~t~0.base)) main_~a~0.base) 4) main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~t~0.offset) (= 0 main_~a~0.offset) (= main_~p~0.offset (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4) main_~t~0.offset)) main_~a~0.base) 4)) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-11 01:11:00,566 INFO L280 TraceCheckUtils]: 58: Hoare triple {29990#(and (= (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4) main_~t~0.base)) main_~a~0.base) 4) main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~t~0.offset) (= 0 main_~a~0.offset) (= main_~p~0.offset (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4) main_~t~0.offset)) main_~a~0.base) 4)) (not (= main_~t~0.base main_~p~0.base)))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {29990#(and (= (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4) main_~t~0.base)) main_~a~0.base) 4) main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~t~0.offset) (= 0 main_~a~0.offset) (= main_~p~0.offset (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4) main_~t~0.offset)) main_~a~0.base) 4)) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-11 01:11:00,568 INFO L280 TraceCheckUtils]: 59: Hoare triple {29990#(and (= (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4) main_~t~0.base)) main_~a~0.base) 4) main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~t~0.offset) (= 0 main_~a~0.offset) (= main_~p~0.offset (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4) main_~t~0.offset)) main_~a~0.base) 4)) (not (= main_~t~0.base main_~p~0.base)))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {29991#(and (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)) main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-11 01:11:00,568 INFO L280 TraceCheckUtils]: 60: Hoare triple {29991#(and (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)) main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {29992#(and (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (not (= |main_#t~mem35.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4))) (= 0 main_~a~0.offset) (= main_~a~0.offset |main_#t~mem35.offset|))} is VALID [2020-07-11 01:11:00,570 INFO L280 TraceCheckUtils]: 61: Hoare triple {29992#(and (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (not (= |main_#t~mem35.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4))) (= 0 main_~a~0.offset) (= main_~a~0.offset |main_#t~mem35.offset|))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {29993#(or (and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} is VALID [2020-07-11 01:11:00,571 INFO L280 TraceCheckUtils]: 62: Hoare triple {29993#(or (and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} havoc #t~mem35.base, #t~mem35.offset; {29993#(or (and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} is VALID [2020-07-11 01:11:00,571 INFO L280 TraceCheckUtils]: 63: Hoare triple {29993#(or (and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {29993#(or (and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} is VALID [2020-07-11 01:11:00,572 INFO L280 TraceCheckUtils]: 64: Hoare triple {29993#(or (and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} assume !(0 != #t~nondet33); {29993#(or (and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} is VALID [2020-07-11 01:11:00,572 INFO L280 TraceCheckUtils]: 65: Hoare triple {29993#(or (and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} havoc #t~nondet33; {29993#(or (and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} is VALID [2020-07-11 01:11:00,574 INFO L280 TraceCheckUtils]: 66: Hoare triple {29993#(or (and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {29994#(or (= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (and (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)))} is VALID [2020-07-11 01:11:00,575 INFO L280 TraceCheckUtils]: 67: Hoare triple {29994#(or (= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (and (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {29995#(or (and (= 0 main_~p~0.offset) (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4))))) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} is VALID [2020-07-11 01:11:00,576 INFO L280 TraceCheckUtils]: 68: Hoare triple {29995#(or (and (= 0 main_~p~0.offset) (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4))))) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {29996#(or (and (= 0 main_~p~0.offset) (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4))))) (= |main_#t~mem36| 3))} is VALID [2020-07-11 01:11:00,576 INFO L280 TraceCheckUtils]: 69: Hoare triple {29996#(or (and (= 0 main_~p~0.offset) (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4))))) (= |main_#t~mem36| 3))} assume !!(2 == #t~mem36); {29997#(and (= 0 main_~p~0.offset) (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:11:00,577 INFO L280 TraceCheckUtils]: 70: Hoare triple {29997#(and (= 0 main_~p~0.offset) (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} havoc #t~mem36; {29997#(and (= 0 main_~p~0.offset) (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-11 01:11:00,578 INFO L280 TraceCheckUtils]: 71: Hoare triple {29997#(and (= 0 main_~p~0.offset) (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem37.base, #t~mem37.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L605 {29998#(= 2 (select (select |#memory_int| |main_#t~mem37.base|) |main_#t~mem37.offset|))} is VALID [2020-07-11 01:11:00,578 INFO L280 TraceCheckUtils]: 72: Hoare triple {29998#(= 2 (select (select |#memory_int| |main_#t~mem37.base|) |main_#t~mem37.offset|))} ~p~0.base, ~p~0.offset := #t~mem37.base, #t~mem37.offset; {29999#(= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:11:00,579 INFO L280 TraceCheckUtils]: 73: Hoare triple {29999#(= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem37.base, #t~mem37.offset; {29999#(= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-11 01:11:00,579 INFO L280 TraceCheckUtils]: 74: Hoare triple {29999#(= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {30000#(= |main_#t~mem36| 2)} is VALID [2020-07-11 01:11:00,580 INFO L280 TraceCheckUtils]: 75: Hoare triple {30000#(= |main_#t~mem36| 2)} assume !(2 == #t~mem36); {29973#false} is VALID [2020-07-11 01:11:00,580 INFO L280 TraceCheckUtils]: 76: Hoare triple {29973#false} havoc #t~mem36; {29973#false} is VALID [2020-07-11 01:11:00,580 INFO L280 TraceCheckUtils]: 77: Hoare triple {29973#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {29973#false} is VALID [2020-07-11 01:11:00,580 INFO L280 TraceCheckUtils]: 78: Hoare triple {29973#false} assume !(1 == #t~mem38); {29973#false} is VALID [2020-07-11 01:11:00,580 INFO L280 TraceCheckUtils]: 79: Hoare triple {29973#false} havoc #t~mem38; {29973#false} is VALID [2020-07-11 01:11:00,580 INFO L280 TraceCheckUtils]: 80: Hoare triple {29973#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {29973#false} is VALID [2020-07-11 01:11:00,580 INFO L280 TraceCheckUtils]: 81: Hoare triple {29973#false} assume 3 != #t~mem40; {29973#false} is VALID [2020-07-11 01:11:00,580 INFO L280 TraceCheckUtils]: 82: Hoare triple {29973#false} havoc #t~mem40; {29973#false} is VALID [2020-07-11 01:11:00,581 INFO L280 TraceCheckUtils]: 83: Hoare triple {29973#false} assume !false; {29973#false} is VALID [2020-07-11 01:11:00,599 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 0 proven. 17 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-11 01:11:00,600 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [240788134] [2020-07-11 01:11:00,600 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:11:00,600 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25] total 25 [2020-07-11 01:11:00,600 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [902389332] [2020-07-11 01:11:00,601 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 84 [2020-07-11 01:11:00,601 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:11:00,601 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states. [2020-07-11 01:11:00,726 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:11:00,726 INFO L459 AbstractCegarLoop]: Interpolant automaton has 25 states [2020-07-11 01:11:00,726 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:11:00,727 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2020-07-11 01:11:00,727 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=536, Unknown=0, NotChecked=0, Total=600 [2020-07-11 01:11:00,728 INFO L87 Difference]: Start difference. First operand 290 states and 319 transitions. Second operand 25 states. [2020-07-11 01:11:07,019 WARN L193 SmtUtils]: Spent 109.00 ms on a formula simplification. DAG size of input: 72 DAG size of output: 59 [2020-07-11 01:11:11,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:11:11,431 INFO L93 Difference]: Finished difference Result 353 states and 385 transitions. [2020-07-11 01:11:11,431 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2020-07-11 01:11:11,431 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 84 [2020-07-11 01:11:11,432 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:11:11,432 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2020-07-11 01:11:11,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 292 transitions. [2020-07-11 01:11:11,434 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2020-07-11 01:11:11,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 292 transitions. [2020-07-11 01:11:11,436 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 37 states and 292 transitions. [2020-07-11 01:11:11,894 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 292 edges. 292 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:11:11,902 INFO L225 Difference]: With dead ends: 353 [2020-07-11 01:11:11,902 INFO L226 Difference]: Without dead ends: 340 [2020-07-11 01:11:11,904 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 535 ImplicationChecksByTransitivity, 3.6s TimeCoverageRelationStatistics Valid=521, Invalid=2785, Unknown=0, NotChecked=0, Total=3306 [2020-07-11 01:11:11,905 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 340 states. [2020-07-11 01:11:13,016 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 340 to 299. [2020-07-11 01:11:13,017 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:11:13,017 INFO L82 GeneralOperation]: Start isEquivalent. First operand 340 states. Second operand 299 states. [2020-07-11 01:11:13,017 INFO L74 IsIncluded]: Start isIncluded. First operand 340 states. Second operand 299 states. [2020-07-11 01:11:13,017 INFO L87 Difference]: Start difference. First operand 340 states. Second operand 299 states. [2020-07-11 01:11:13,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:11:13,024 INFO L93 Difference]: Finished difference Result 340 states and 371 transitions. [2020-07-11 01:11:13,024 INFO L276 IsEmpty]: Start isEmpty. Operand 340 states and 371 transitions. [2020-07-11 01:11:13,024 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:11:13,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:11:13,024 INFO L74 IsIncluded]: Start isIncluded. First operand 299 states. Second operand 340 states. [2020-07-11 01:11:13,024 INFO L87 Difference]: Start difference. First operand 299 states. Second operand 340 states. [2020-07-11 01:11:13,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:11:13,032 INFO L93 Difference]: Finished difference Result 340 states and 371 transitions. [2020-07-11 01:11:13,032 INFO L276 IsEmpty]: Start isEmpty. Operand 340 states and 371 transitions. [2020-07-11 01:11:13,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:11:13,033 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:11:13,033 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:11:13,033 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:11:13,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 299 states. [2020-07-11 01:11:13,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 299 states to 299 states and 328 transitions. [2020-07-11 01:11:13,039 INFO L78 Accepts]: Start accepts. Automaton has 299 states and 328 transitions. Word has length 84 [2020-07-11 01:11:13,039 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:11:13,039 INFO L479 AbstractCegarLoop]: Abstraction has 299 states and 328 transitions. [2020-07-11 01:11:13,039 INFO L480 AbstractCegarLoop]: Interpolant automaton has 25 states. [2020-07-11 01:11:13,039 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 299 states and 328 transitions. [2020-07-11 01:11:13,894 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 328 edges. 328 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:11:13,894 INFO L276 IsEmpty]: Start isEmpty. Operand 299 states and 328 transitions. [2020-07-11 01:11:13,895 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2020-07-11 01:11:13,895 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:11:13,895 INFO L422 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-11 01:11:13,896 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17 [2020-07-11 01:11:13,896 INFO L427 AbstractCegarLoop]: === Iteration 19 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:11:13,896 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:11:13,896 INFO L82 PathProgramCache]: Analyzing trace with hash 752503657, now seen corresponding path program 1 times [2020-07-11 01:11:13,897 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:11:13,897 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [261171203] [2020-07-11 01:11:13,897 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:11:13,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-11 01:11:13,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-11 01:11:13,980 INFO L174 FreeRefinementEngine]: Strategy FIXED_PREFERENCES found a feasible trace [2020-07-11 01:11:13,980 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-11 01:11:13,980 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18 [2020-07-11 01:11:14,076 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-11 01:11:14,076 WARN L170 areAnnotationChecker]: myexitENTRY has no Hoare annotation [2020-07-11 01:11:14,076 WARN L170 areAnnotationChecker]: __bswap_32ENTRY has no Hoare annotation [2020-07-11 01:11:14,077 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-11 01:11:14,077 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-11 01:11:14,077 WARN L170 areAnnotationChecker]: __bswap_64ENTRY has no Hoare annotation [2020-07-11 01:11:14,077 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-11 01:11:14,077 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-11 01:11:14,077 WARN L170 areAnnotationChecker]: L530 has no Hoare annotation [2020-07-11 01:11:14,077 WARN L170 areAnnotationChecker]: L178 has no Hoare annotation [2020-07-11 01:11:14,077 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-11 01:11:14,077 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-11 01:11:14,078 WARN L170 areAnnotationChecker]: L183 has no Hoare annotation [2020-07-11 01:11:14,078 WARN L170 areAnnotationChecker]: L541 has no Hoare annotation [2020-07-11 01:11:14,078 WARN L170 areAnnotationChecker]: L-1-1 has no Hoare annotation [2020-07-11 01:11:14,078 WARN L170 areAnnotationChecker]: L178-1 has no Hoare annotation [2020-07-11 01:11:14,078 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-11 01:11:14,078 WARN L170 areAnnotationChecker]: L183-1 has no Hoare annotation [2020-07-11 01:11:14,078 WARN L170 areAnnotationChecker]: L541-1 has no Hoare annotation [2020-07-11 01:11:14,078 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-11 01:11:14,080 WARN L170 areAnnotationChecker]: __bswap_32FINAL has no Hoare annotation [2020-07-11 01:11:14,080 WARN L170 areAnnotationChecker]: __bswap_64FINAL has no Hoare annotation [2020-07-11 01:11:14,080 WARN L170 areAnnotationChecker]: L542 has no Hoare annotation [2020-07-11 01:11:14,081 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-11 01:11:14,081 WARN L170 areAnnotationChecker]: L542-1 has no Hoare annotation [2020-07-11 01:11:14,081 WARN L170 areAnnotationChecker]: L557-13 has no Hoare annotation [2020-07-11 01:11:14,081 WARN L170 areAnnotationChecker]: L557-13 has no Hoare annotation [2020-07-11 01:11:14,081 WARN L170 areAnnotationChecker]: L544-4 has no Hoare annotation [2020-07-11 01:11:14,081 WARN L170 areAnnotationChecker]: L544 has no Hoare annotation [2020-07-11 01:11:14,081 WARN L170 areAnnotationChecker]: L544 has no Hoare annotation [2020-07-11 01:11:14,081 WARN L170 areAnnotationChecker]: L564 has no Hoare annotation [2020-07-11 01:11:14,081 WARN L170 areAnnotationChecker]: L544-1 has no Hoare annotation [2020-07-11 01:11:14,081 WARN L170 areAnnotationChecker]: L544-3 has no Hoare annotation [2020-07-11 01:11:14,082 WARN L170 areAnnotationChecker]: L582 has no Hoare annotation [2020-07-11 01:11:14,082 WARN L170 areAnnotationChecker]: L582 has no Hoare annotation [2020-07-11 01:11:14,082 WARN L170 areAnnotationChecker]: L582 has no Hoare annotation [2020-07-11 01:11:14,082 WARN L170 areAnnotationChecker]: L545 has no Hoare annotation [2020-07-11 01:11:14,082 WARN L170 areAnnotationChecker]: L565-2 has no Hoare annotation [2020-07-11 01:11:14,082 WARN L170 areAnnotationChecker]: L566 has no Hoare annotation [2020-07-11 01:11:14,082 WARN L170 areAnnotationChecker]: L547-5 has no Hoare annotation [2020-07-11 01:11:14,082 WARN L170 areAnnotationChecker]: L547-5 has no Hoare annotation [2020-07-11 01:11:14,082 WARN L170 areAnnotationChecker]: L584 has no Hoare annotation [2020-07-11 01:11:14,082 WARN L170 areAnnotationChecker]: L567 has no Hoare annotation [2020-07-11 01:11:14,083 WARN L170 areAnnotationChecker]: L546-14 has no Hoare annotation [2020-07-11 01:11:14,083 WARN L170 areAnnotationChecker]: L546-1 has no Hoare annotation [2020-07-11 01:11:14,083 WARN L170 areAnnotationChecker]: L585 has no Hoare annotation [2020-07-11 01:11:14,083 WARN L170 areAnnotationChecker]: L585 has no Hoare annotation [2020-07-11 01:11:14,083 WARN L170 areAnnotationChecker]: L570-5 has no Hoare annotation [2020-07-11 01:11:14,083 WARN L170 areAnnotationChecker]: L570-5 has no Hoare annotation [2020-07-11 01:11:14,083 WARN L170 areAnnotationChecker]: L552 has no Hoare annotation [2020-07-11 01:11:14,083 WARN L170 areAnnotationChecker]: L546-2 has no Hoare annotation [2020-07-11 01:11:14,083 WARN L170 areAnnotationChecker]: L546-2 has no Hoare annotation [2020-07-11 01:11:14,083 WARN L170 areAnnotationChecker]: L585-1 has no Hoare annotation [2020-07-11 01:11:14,084 WARN L170 areAnnotationChecker]: L585-1 has no Hoare annotation [2020-07-11 01:11:14,084 WARN L170 areAnnotationChecker]: L585-3 has no Hoare annotation [2020-07-11 01:11:14,084 WARN L170 areAnnotationChecker]: L568-14 has no Hoare annotation [2020-07-11 01:11:14,084 WARN L170 areAnnotationChecker]: L568-14 has no Hoare annotation [2020-07-11 01:11:14,084 WARN L170 areAnnotationChecker]: L568-1 has no Hoare annotation [2020-07-11 01:11:14,084 WARN L170 areAnnotationChecker]: L552-1 has no Hoare annotation [2020-07-11 01:11:14,084 WARN L170 areAnnotationChecker]: L552-1 has no Hoare annotation [2020-07-11 01:11:14,084 WARN L170 areAnnotationChecker]: L546-3 has no Hoare annotation [2020-07-11 01:11:14,084 WARN L170 areAnnotationChecker]: L546-6 has no Hoare annotation [2020-07-11 01:11:14,085 WARN L170 areAnnotationChecker]: L546-6 has no Hoare annotation [2020-07-11 01:11:14,085 WARN L170 areAnnotationChecker]: L587 has no Hoare annotation [2020-07-11 01:11:14,085 WARN L170 areAnnotationChecker]: L576 has no Hoare annotation [2020-07-11 01:11:14,085 WARN L170 areAnnotationChecker]: L581 has no Hoare annotation [2020-07-11 01:11:14,085 WARN L170 areAnnotationChecker]: L568-2 has no Hoare annotation [2020-07-11 01:11:14,085 WARN L170 areAnnotationChecker]: L568-2 has no Hoare annotation [2020-07-11 01:11:14,085 WARN L170 areAnnotationChecker]: L552-2 has no Hoare annotation [2020-07-11 01:11:14,085 WARN L170 areAnnotationChecker]: L552-5 has no Hoare annotation [2020-07-11 01:11:14,085 WARN L170 areAnnotationChecker]: L552-5 has no Hoare annotation [2020-07-11 01:11:14,085 WARN L170 areAnnotationChecker]: L546-4 has no Hoare annotation [2020-07-11 01:11:14,086 WARN L170 areAnnotationChecker]: L546-7 has no Hoare annotation [2020-07-11 01:11:14,086 WARN L170 areAnnotationChecker]: L546-11 has no Hoare annotation [2020-07-11 01:11:14,086 WARN L170 areAnnotationChecker]: L588-5 has no Hoare annotation [2020-07-11 01:11:14,086 WARN L170 areAnnotationChecker]: L588-5 has no Hoare annotation [2020-07-11 01:11:14,086 WARN L170 areAnnotationChecker]: L576-1 has no Hoare annotation [2020-07-11 01:11:14,086 WARN L170 areAnnotationChecker]: L576-1 has no Hoare annotation [2020-07-11 01:11:14,086 WARN L170 areAnnotationChecker]: L575 has no Hoare annotation [2020-07-11 01:11:14,086 WARN L170 areAnnotationChecker]: L568-6 has no Hoare annotation [2020-07-11 01:11:14,086 WARN L170 areAnnotationChecker]: L568-6 has no Hoare annotation [2020-07-11 01:11:14,086 WARN L170 areAnnotationChecker]: L568-4 has no Hoare annotation [2020-07-11 01:11:14,087 WARN L170 areAnnotationChecker]: L552-3 has no Hoare annotation [2020-07-11 01:11:14,087 WARN L170 areAnnotationChecker]: L552-6 has no Hoare annotation [2020-07-11 01:11:14,087 WARN L170 areAnnotationChecker]: L552-10 has no Hoare annotation [2020-07-11 01:11:14,087 WARN L170 areAnnotationChecker]: L546-8 has no Hoare annotation [2020-07-11 01:11:14,087 WARN L170 areAnnotationChecker]: L546-12 has no Hoare annotation [2020-07-11 01:11:14,087 WARN L170 areAnnotationChecker]: L595-4 has no Hoare annotation [2020-07-11 01:11:14,087 WARN L170 areAnnotationChecker]: L595-4 has no Hoare annotation [2020-07-11 01:11:14,087 WARN L170 areAnnotationChecker]: L588-1 has no Hoare annotation [2020-07-11 01:11:14,087 WARN L170 areAnnotationChecker]: L588-1 has no Hoare annotation [2020-07-11 01:11:14,087 WARN L170 areAnnotationChecker]: L576-2 has no Hoare annotation [2020-07-11 01:11:14,088 WARN L170 areAnnotationChecker]: L576-3 has no Hoare annotation [2020-07-11 01:11:14,088 WARN L170 areAnnotationChecker]: L568-7 has no Hoare annotation [2020-07-11 01:11:14,088 WARN L170 areAnnotationChecker]: L568-11 has no Hoare annotation [2020-07-11 01:11:14,088 WARN L170 areAnnotationChecker]: L568-5 has no Hoare annotation [2020-07-11 01:11:14,088 WARN L170 areAnnotationChecker]: L552-7 has no Hoare annotation [2020-07-11 01:11:14,088 WARN L170 areAnnotationChecker]: L552-11 has no Hoare annotation [2020-07-11 01:11:14,088 WARN L170 areAnnotationChecker]: L546-9 has no Hoare annotation [2020-07-11 01:11:14,088 WARN L170 areAnnotationChecker]: L546-13 has no Hoare annotation [2020-07-11 01:11:14,088 WARN L170 areAnnotationChecker]: L595-5 has no Hoare annotation [2020-07-11 01:11:14,088 WARN L170 areAnnotationChecker]: L595 has no Hoare annotation [2020-07-11 01:11:14,088 WARN L170 areAnnotationChecker]: L595 has no Hoare annotation [2020-07-11 01:11:14,089 WARN L170 areAnnotationChecker]: L588-2 has no Hoare annotation [2020-07-11 01:11:14,089 WARN L170 areAnnotationChecker]: L588-4 has no Hoare annotation [2020-07-11 01:11:14,089 WARN L170 areAnnotationChecker]: L577 has no Hoare annotation [2020-07-11 01:11:14,089 WARN L170 areAnnotationChecker]: L579 has no Hoare annotation [2020-07-11 01:11:14,089 WARN L170 areAnnotationChecker]: L568-8 has no Hoare annotation [2020-07-11 01:11:14,089 WARN L170 areAnnotationChecker]: L568-12 has no Hoare annotation [2020-07-11 01:11:14,089 WARN L170 areAnnotationChecker]: L552-8 has no Hoare annotation [2020-07-11 01:11:14,089 WARN L170 areAnnotationChecker]: L552-12 has no Hoare annotation [2020-07-11 01:11:14,089 WARN L170 areAnnotationChecker]: L547 has no Hoare annotation [2020-07-11 01:11:14,089 WARN L170 areAnnotationChecker]: L602 has no Hoare annotation [2020-07-11 01:11:14,090 WARN L170 areAnnotationChecker]: L595-1 has no Hoare annotation [2020-07-11 01:11:14,090 WARN L170 areAnnotationChecker]: L595-3 has no Hoare annotation [2020-07-11 01:11:14,090 WARN L170 areAnnotationChecker]: L589 has no Hoare annotation [2020-07-11 01:11:14,090 WARN L170 areAnnotationChecker]: L568-9 has no Hoare annotation [2020-07-11 01:11:14,090 WARN L170 areAnnotationChecker]: L568-13 has no Hoare annotation [2020-07-11 01:11:14,090 WARN L170 areAnnotationChecker]: L553 has no Hoare annotation [2020-07-11 01:11:14,090 WARN L170 areAnnotationChecker]: L552-13 has no Hoare annotation [2020-07-11 01:11:14,090 WARN L170 areAnnotationChecker]: L547-1 has no Hoare annotation [2020-07-11 01:11:14,090 WARN L170 areAnnotationChecker]: L547-1 has no Hoare annotation [2020-07-11 01:11:14,090 WARN L170 areAnnotationChecker]: L604-5 has no Hoare annotation [2020-07-11 01:11:14,091 WARN L170 areAnnotationChecker]: L604-5 has no Hoare annotation [2020-07-11 01:11:14,091 WARN L170 areAnnotationChecker]: L596 has no Hoare annotation [2020-07-11 01:11:14,091 WARN L170 areAnnotationChecker]: L589-1 has no Hoare annotation [2020-07-11 01:11:14,091 WARN L170 areAnnotationChecker]: L569 has no Hoare annotation [2020-07-11 01:11:14,091 WARN L170 areAnnotationChecker]: L553-1 has no Hoare annotation [2020-07-11 01:11:14,091 WARN L170 areAnnotationChecker]: L557 has no Hoare annotation [2020-07-11 01:11:14,091 WARN L170 areAnnotationChecker]: L547-2 has no Hoare annotation [2020-07-11 01:11:14,091 WARN L170 areAnnotationChecker]: L547-4 has no Hoare annotation [2020-07-11 01:11:14,091 WARN L170 areAnnotationChecker]: L606-4 has no Hoare annotation [2020-07-11 01:11:14,091 WARN L170 areAnnotationChecker]: L606-4 has no Hoare annotation [2020-07-11 01:11:14,091 WARN L170 areAnnotationChecker]: L604-1 has no Hoare annotation [2020-07-11 01:11:14,092 WARN L170 areAnnotationChecker]: L604-1 has no Hoare annotation [2020-07-11 01:11:14,092 WARN L170 areAnnotationChecker]: L596-1 has no Hoare annotation [2020-07-11 01:11:14,092 WARN L170 areAnnotationChecker]: L590 has no Hoare annotation [2020-07-11 01:11:14,092 WARN L170 areAnnotationChecker]: L570 has no Hoare annotation [2020-07-11 01:11:14,092 WARN L170 areAnnotationChecker]: L553-2 has no Hoare annotation [2020-07-11 01:11:14,092 WARN L170 areAnnotationChecker]: L557-1 has no Hoare annotation [2020-07-11 01:11:14,092 WARN L170 areAnnotationChecker]: L557-1 has no Hoare annotation [2020-07-11 01:11:14,092 WARN L170 areAnnotationChecker]: L548 has no Hoare annotation [2020-07-11 01:11:14,092 WARN L170 areAnnotationChecker]: L550 has no Hoare annotation [2020-07-11 01:11:14,092 WARN L170 areAnnotationChecker]: L606-5 has no Hoare annotation [2020-07-11 01:11:14,093 WARN L170 areAnnotationChecker]: L606 has no Hoare annotation [2020-07-11 01:11:14,093 WARN L170 areAnnotationChecker]: L606 has no Hoare annotation [2020-07-11 01:11:14,093 WARN L170 areAnnotationChecker]: L604-2 has no Hoare annotation [2020-07-11 01:11:14,093 WARN L170 areAnnotationChecker]: L604-4 has no Hoare annotation [2020-07-11 01:11:14,093 WARN L170 areAnnotationChecker]: L597 has no Hoare annotation [2020-07-11 01:11:14,093 WARN L170 areAnnotationChecker]: L591 has no Hoare annotation [2020-07-11 01:11:14,093 WARN L170 areAnnotationChecker]: L591 has no Hoare annotation [2020-07-11 01:11:14,093 WARN L170 areAnnotationChecker]: L570-1 has no Hoare annotation [2020-07-11 01:11:14,093 WARN L170 areAnnotationChecker]: L570-1 has no Hoare annotation [2020-07-11 01:11:14,093 WARN L170 areAnnotationChecker]: L554 has no Hoare annotation [2020-07-11 01:11:14,094 WARN L170 areAnnotationChecker]: L557-2 has no Hoare annotation [2020-07-11 01:11:14,094 WARN L170 areAnnotationChecker]: L557-5 has no Hoare annotation [2020-07-11 01:11:14,094 WARN L170 areAnnotationChecker]: L557-5 has no Hoare annotation [2020-07-11 01:11:14,094 WARN L170 areAnnotationChecker]: L548-1 has no Hoare annotation [2020-07-11 01:11:14,094 WARN L170 areAnnotationChecker]: L550-1 has no Hoare annotation [2020-07-11 01:11:14,094 WARN L170 areAnnotationChecker]: L608 has no Hoare annotation [2020-07-11 01:11:14,094 WARN L170 areAnnotationChecker]: L608 has no Hoare annotation [2020-07-11 01:11:14,094 WARN L170 areAnnotationChecker]: L606-1 has no Hoare annotation [2020-07-11 01:11:14,094 WARN L170 areAnnotationChecker]: L606-3 has no Hoare annotation [2020-07-11 01:11:14,094 WARN L170 areAnnotationChecker]: L605 has no Hoare annotation [2020-07-11 01:11:14,094 WARN L170 areAnnotationChecker]: L598 has no Hoare annotation [2020-07-11 01:11:14,095 WARN L170 areAnnotationChecker]: L598 has no Hoare annotation [2020-07-11 01:11:14,095 WARN L170 areAnnotationChecker]: L591-1 has no Hoare annotation [2020-07-11 01:11:14,095 WARN L170 areAnnotationChecker]: L591-1 has no Hoare annotation [2020-07-11 01:11:14,095 WARN L170 areAnnotationChecker]: L591-3 has no Hoare annotation [2020-07-11 01:11:14,095 WARN L170 areAnnotationChecker]: L570-2 has no Hoare annotation [2020-07-11 01:11:14,095 WARN L170 areAnnotationChecker]: L570-4 has no Hoare annotation [2020-07-11 01:11:14,095 WARN L170 areAnnotationChecker]: L554-1 has no Hoare annotation [2020-07-11 01:11:14,095 WARN L170 areAnnotationChecker]: L557-3 has no Hoare annotation [2020-07-11 01:11:14,095 WARN L170 areAnnotationChecker]: L557-6 has no Hoare annotation [2020-07-11 01:11:14,095 WARN L170 areAnnotationChecker]: L557-10 has no Hoare annotation [2020-07-11 01:11:14,095 WARN L170 areAnnotationChecker]: L548-2 has no Hoare annotation [2020-07-11 01:11:14,096 WARN L170 areAnnotationChecker]: L550-2 has no Hoare annotation [2020-07-11 01:11:14,096 WARN L170 areAnnotationChecker]: L608-1 has no Hoare annotation [2020-07-11 01:11:14,096 WARN L170 areAnnotationChecker]: L608-3 has no Hoare annotation [2020-07-11 01:11:14,096 WARN L170 areAnnotationChecker]: L607 has no Hoare annotation [2020-07-11 01:11:14,096 WARN L170 areAnnotationChecker]: L605-1 has no Hoare annotation [2020-07-11 01:11:14,096 WARN L170 areAnnotationChecker]: L598-1 has no Hoare annotation [2020-07-11 01:11:14,096 WARN L170 areAnnotationChecker]: L598-1 has no Hoare annotation [2020-07-11 01:11:14,096 WARN L170 areAnnotationChecker]: L598-3 has no Hoare annotation [2020-07-11 01:11:14,096 WARN L170 areAnnotationChecker]: L592 has no Hoare annotation [2020-07-11 01:11:14,096 WARN L170 areAnnotationChecker]: L571 has no Hoare annotation [2020-07-11 01:11:14,097 WARN L170 areAnnotationChecker]: L573 has no Hoare annotation [2020-07-11 01:11:14,097 WARN L170 areAnnotationChecker]: L555 has no Hoare annotation [2020-07-11 01:11:14,097 WARN L170 areAnnotationChecker]: L557-7 has no Hoare annotation [2020-07-11 01:11:14,097 WARN L170 areAnnotationChecker]: L557-11 has no Hoare annotation [2020-07-11 01:11:14,097 WARN L170 areAnnotationChecker]: L609 has no Hoare annotation [2020-07-11 01:11:14,097 WARN L170 areAnnotationChecker]: L609 has no Hoare annotation [2020-07-11 01:11:14,097 WARN L170 areAnnotationChecker]: L608-4 has no Hoare annotation [2020-07-11 01:11:14,097 WARN L170 areAnnotationChecker]: L607-1 has no Hoare annotation [2020-07-11 01:11:14,097 WARN L170 areAnnotationChecker]: L605-2 has no Hoare annotation [2020-07-11 01:11:14,098 WARN L170 areAnnotationChecker]: L599 has no Hoare annotation [2020-07-11 01:11:14,098 WARN L170 areAnnotationChecker]: L593 has no Hoare annotation [2020-07-11 01:11:14,098 WARN L170 areAnnotationChecker]: L571-1 has no Hoare annotation [2020-07-11 01:11:14,098 WARN L170 areAnnotationChecker]: L573-1 has no Hoare annotation [2020-07-11 01:11:14,098 WARN L170 areAnnotationChecker]: L555-1 has no Hoare annotation [2020-07-11 01:11:14,098 WARN L170 areAnnotationChecker]: L557-8 has no Hoare annotation [2020-07-11 01:11:14,098 WARN L170 areAnnotationChecker]: L557-12 has no Hoare annotation [2020-07-11 01:11:14,098 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-11 01:11:14,098 WARN L170 areAnnotationChecker]: L607-2 has no Hoare annotation [2020-07-11 01:11:14,098 WARN L170 areAnnotationChecker]: L600 has no Hoare annotation [2020-07-11 01:11:14,099 WARN L170 areAnnotationChecker]: L593-1 has no Hoare annotation [2020-07-11 01:11:14,099 WARN L170 areAnnotationChecker]: L571-2 has no Hoare annotation [2020-07-11 01:11:14,099 WARN L170 areAnnotationChecker]: L573-2 has no Hoare annotation [2020-07-11 01:11:14,099 WARN L170 areAnnotationChecker]: L555-2 has no Hoare annotation [2020-07-11 01:11:14,099 WARN L170 areAnnotationChecker]: L558 has no Hoare annotation [2020-07-11 01:11:14,099 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-11 01:11:14,099 WARN L170 areAnnotationChecker]: L600-1 has no Hoare annotation [2020-07-11 01:11:14,099 WARN L170 areAnnotationChecker]: L558-1 has no Hoare annotation [2020-07-11 01:11:14,099 WARN L170 areAnnotationChecker]: L558-2 has no Hoare annotation [2020-07-11 01:11:14,100 WARN L170 areAnnotationChecker]: L559 has no Hoare annotation [2020-07-11 01:11:14,100 WARN L170 areAnnotationChecker]: L559-1 has no Hoare annotation [2020-07-11 01:11:14,100 WARN L170 areAnnotationChecker]: L560 has no Hoare annotation [2020-07-11 01:11:14,100 WARN L170 areAnnotationChecker]: L560-1 has no Hoare annotation [2020-07-11 01:11:14,100 WARN L170 areAnnotationChecker]: L560-2 has no Hoare annotation [2020-07-11 01:11:14,100 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-11 01:11:14,106 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 11.07 01:11:14 BoogieIcfgContainer [2020-07-11 01:11:14,106 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-11 01:11:14,108 INFO L168 Benchmark]: Toolchain (without parser) took 131596.30 ms. Allocated memory was 137.9 MB in the beginning and 467.7 MB in the end (delta: 329.8 MB). Free memory was 101.9 MB in the beginning and 121.5 MB in the end (delta: -19.6 MB). Peak memory consumption was 310.2 MB. Max. memory is 7.1 GB. [2020-07-11 01:11:14,109 INFO L168 Benchmark]: CDTParser took 0.17 ms. Allocated memory is still 137.9 MB. Free memory was 121.3 MB in the beginning and 121.1 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. [2020-07-11 01:11:14,109 INFO L168 Benchmark]: CACSL2BoogieTranslator took 714.14 ms. Allocated memory was 137.9 MB in the beginning and 202.9 MB in the end (delta: 65.0 MB). Free memory was 101.4 MB in the beginning and 167.8 MB in the end (delta: -66.4 MB). Peak memory consumption was 26.2 MB. Max. memory is 7.1 GB. [2020-07-11 01:11:14,112 INFO L168 Benchmark]: Boogie Preprocessor took 114.77 ms. Allocated memory is still 202.9 MB. Free memory was 167.8 MB in the beginning and 163.7 MB in the end (delta: 4.1 MB). Peak memory consumption was 4.1 MB. Max. memory is 7.1 GB. [2020-07-11 01:11:14,113 INFO L168 Benchmark]: RCFGBuilder took 1200.69 ms. Allocated memory was 202.9 MB in the beginning and 234.9 MB in the end (delta: 32.0 MB). Free memory was 163.7 MB in the beginning and 184.5 MB in the end (delta: -20.8 MB). Peak memory consumption was 81.0 MB. Max. memory is 7.1 GB. [2020-07-11 01:11:14,113 INFO L168 Benchmark]: TraceAbstraction took 129560.95 ms. Allocated memory was 234.9 MB in the beginning and 467.7 MB in the end (delta: 232.8 MB). Free memory was 184.5 MB in the beginning and 121.5 MB in the end (delta: 63.1 MB). Peak memory consumption was 295.9 MB. Max. memory is 7.1 GB. [2020-07-11 01:11:14,118 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.17 ms. Allocated memory is still 137.9 MB. Free memory was 121.3 MB in the beginning and 121.1 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 714.14 ms. Allocated memory was 137.9 MB in the beginning and 202.9 MB in the end (delta: 65.0 MB). Free memory was 101.4 MB in the beginning and 167.8 MB in the end (delta: -66.4 MB). Peak memory consumption was 26.2 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 114.77 ms. Allocated memory is still 202.9 MB. Free memory was 167.8 MB in the beginning and 163.7 MB in the end (delta: 4.1 MB). Peak memory consumption was 4.1 MB. Max. memory is 7.1 GB. * RCFGBuilder took 1200.69 ms. Allocated memory was 202.9 MB in the beginning and 234.9 MB in the end (delta: 32.0 MB). Free memory was 163.7 MB in the beginning and 184.5 MB in the end (delta: -20.8 MB). Peak memory consumption was 81.0 MB. Max. memory is 7.1 GB. * TraceAbstraction took 129560.95 ms. Allocated memory was 234.9 MB in the beginning and 467.7 MB in the end (delta: 232.8 MB). Free memory was 184.5 MB in the beginning and 121.5 MB in the end (delta: 63.1 MB). Peak memory consumption was 295.9 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 609]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L541] struct TreeNode* root = malloc(sizeof(*root)), *n; VAL [malloc(sizeof(*root))={-1:0}, root={-1:0}] [L542] root->left = ((void *)0) VAL [malloc(sizeof(*root))={-1:0}, root={-1:0}] [L543] root->right = ((void *)0) VAL [malloc(sizeof(*root))={-1:0}, root={-1:0}] [L544] COND FALSE !(__VERIFIER_nondet_int()) VAL [__VERIFIER_nondet_int()=0, malloc(sizeof(*root))={-1:0}, root={-1:0}] [L563] n = ((void *)0) VAL [malloc(sizeof(*root))={-1:0}, n={0:0}, root={-1:0}] [L564] struct TreeNode* pred; VAL [malloc(sizeof(*root))={-1:0}, n={0:0}, root={-1:0}] [L565] COND TRUE \read(*root) VAL [malloc(sizeof(*root))={-1:0}, n={0:0}, root={-1:0}] [L566] pred = ((void *)0) VAL [malloc(sizeof(*root))={-1:0}, n={0:0}, pred={0:0}, root={-1:0}] [L567] n = root VAL [malloc(sizeof(*root))={-1:0}, n={-1:0}, pred={0:0}, root={-1:0}] [L568] EXPR n->left VAL [malloc(sizeof(*root))={-1:0}, n={-1:0}, n->left={0:0}, pred={0:0}, root={-1:0}] [L568] n->left || n->right VAL [malloc(sizeof(*root))={-1:0}, n={-1:0}, n->left={0:0}, n->left || n->right=0, pred={0:0}, root={-1:0}] [L568] EXPR n->right VAL [malloc(sizeof(*root))={-1:0}, n={-1:0}, n->left={0:0}, n->left || n->right=0, n->right={0:0}, pred={0:0}, root={-1:0}] [L568] n->left || n->right VAL [malloc(sizeof(*root))={-1:0}, n={-1:0}, n->left={0:0}, n->left || n->right=0, n->right={0:0}, pred={0:0}, root={-1:0}] [L568] COND FALSE !(n->left || n->right) VAL [malloc(sizeof(*root))={-1:0}, n={-1:0}, n->left={0:0}, n->left || n->right=0, n->right={0:0}, pred={0:0}, root={-1:0}] [L575] COND FALSE !(\read(*pred)) VAL [malloc(sizeof(*root))={-1:0}, n={-1:0}, pred={0:0}, root={-1:0}] [L581] root = ((void *)0) VAL [malloc(sizeof(*root))={-1:0}, n={-1:0}, pred={0:0}, root={0:0}] [L565] COND FALSE !(\read(*root)) VAL [malloc(sizeof(*root))={-1:0}, n={-1:0}, pred={0:0}, root={0:0}] [L584] List a = (List) malloc(sizeof(struct node)); VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, pred={0:0}, root={0:0}] [L585] COND FALSE !(a == 0) VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, pred={0:0}, root={0:0}] [L586] List t; VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, pred={0:0}, root={0:0}] [L587] List p = a; VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-2:0}, pred={0:0}, root={0:0}] [L588] COND TRUE __VERIFIER_nondet_int() VAL [__VERIFIER_nondet_int()=1, a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-2:0}, pred={0:0}, root={0:0}] [L589] p->h = 1 VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-2:0}, pred={0:0}, root={0:0}] [L590] t = (List) malloc(sizeof(struct node)) VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-2:0}, pred={0:0}, root={0:0}, t={-3:0}] [L591] COND FALSE !(t == 0) VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-2:0}, pred={0:0}, root={0:0}, t={-3:0}] [L592] p->n = t VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-2:0}, pred={0:0}, root={0:0}, t={-3:0}] [L593] EXPR p->n VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-2:0}, p->n={-3:0}, pred={0:0}, root={0:0}, t={-3:0}] [L593] p = p->n VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-3:0}, p->n={-3:0}, pred={0:0}, root={0:0}, t={-3:0}] [L588] COND FALSE !(__VERIFIER_nondet_int()) VAL [__VERIFIER_nondet_int()=0, a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-3:0}, pred={0:0}, root={0:0}, t={-3:0}] [L595] COND TRUE __VERIFIER_nondet_int() VAL [__VERIFIER_nondet_int()=1, a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-3:0}, pred={0:0}, root={0:0}, t={-3:0}] [L596] p->h = 2 VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-3:0}, pred={0:0}, root={0:0}, t={-3:0}] [L597] t = (List) malloc(sizeof(struct node)) VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-3:0}, pred={0:0}, root={0:0}, t={-4:0}] [L598] COND FALSE !(t == 0) VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-3:0}, pred={0:0}, root={0:0}, t={-4:0}] [L599] p->n = t VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-3:0}, pred={0:0}, root={0:0}, t={-4:0}] [L600] EXPR p->n VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-3:0}, p->n={-4:0}, pred={0:0}, root={0:0}, t={-4:0}] [L600] p = p->n VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-4:0}, p->n={-4:0}, pred={0:0}, root={0:0}, t={-4:0}] [L595] COND FALSE !(__VERIFIER_nondet_int()) VAL [__VERIFIER_nondet_int()=0, a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-4:0}, pred={0:0}, root={0:0}, t={-4:0}] [L602] p->h = 3 VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-4:0}, pred={0:0}, root={0:0}, t={-4:0}] [L603] p = a VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-2:0}, pred={0:0}, root={0:0}, t={-4:0}] [L604] EXPR p->h VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-2:0}, p->h=1, pred={0:0}, root={0:0}, t={-4:0}] [L604] COND FALSE !(p->h == 2) VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-2:0}, p->h=1, pred={0:0}, root={0:0}, t={-4:0}] [L606] EXPR p->h VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-2:0}, p->h=1, pred={0:0}, root={0:0}, t={-4:0}] [L606] COND TRUE p->h == 1 VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-2:0}, p->h=1, pred={0:0}, root={0:0}, t={-4:0}] [L607] EXPR p->n VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-2:0}, p->n={-3:0}, pred={0:0}, root={0:0}, t={-4:0}] [L607] p = p->n VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-3:0}, p->n={-3:0}, pred={0:0}, root={0:0}, t={-4:0}] [L606] EXPR p->h VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-3:0}, p->h=2, pred={0:0}, root={0:0}, t={-4:0}] [L606] COND FALSE !(p->h == 1) VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-3:0}, p->h=2, pred={0:0}, root={0:0}, t={-4:0}] [L608] EXPR p->h VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-3:0}, p->h=2, pred={0:0}, root={0:0}, t={-4:0}] [L608] COND TRUE p->h != 3 VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-3:0}, p->h=2, pred={0:0}, root={0:0}, t={-4:0}] [L609] __VERIFIER_error() VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-3:0}, n={-1:0}, p={-3:0}, pred={0:0}, root={0:0}, t={-4:0}] - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 188 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 129.3s, OverallIterations: 19, TraceHistogramMax: 3, AutomataDifference: 94.8s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 3258 SDtfs, 5700 SDslu, 25929 SDs, 0 SdLazy, 11237 SolverSat, 753 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 15.9s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 542 GetRequests, 63 SyntacticMatches, 0 SemanticMatches, 479 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2823 ImplicationChecksByTransitivity, 18.4s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=299occurred in iteration=18, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 13.5s AutomataMinimizationTime, 18 MinimizatonAttempts, 779 StatesRemovedByMinimization, 16 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 8.7s InterpolantComputationTime, 1304 NumberOfCodeBlocks, 1304 NumberOfCodeBlocksAsserted, 19 NumberOfCheckSat, 1202 ConstructedInterpolants, 0 QuantifiedInterpolants, 559211 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 18 InterpolantComputations, 6 PerfectInterpolantSequences, 42/119 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...