/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-46f3038-m [2020-07-08 22:25:02,070 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-08 22:25:02,073 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-08 22:25:02,092 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-08 22:25:02,092 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-08 22:25:02,093 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-08 22:25:02,094 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-08 22:25:02,097 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-08 22:25:02,100 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-08 22:25:02,101 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-08 22:25:02,102 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-08 22:25:02,103 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-08 22:25:02,103 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-08 22:25:02,104 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-08 22:25:02,105 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-08 22:25:02,107 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-08 22:25:02,108 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-08 22:25:02,109 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-08 22:25:02,111 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-08 22:25:02,113 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-08 22:25:02,114 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-08 22:25:02,116 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-08 22:25:02,117 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-08 22:25:02,118 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-08 22:25:02,120 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-08 22:25:02,121 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-08 22:25:02,121 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-08 22:25:02,122 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-08 22:25:02,123 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-08 22:25:02,124 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-08 22:25:02,124 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-08 22:25:02,125 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-08 22:25:02,125 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-08 22:25:02,126 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-08 22:25:02,127 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-08 22:25:02,127 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-08 22:25:02,128 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-08 22:25:02,128 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-08 22:25:02,128 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-08 22:25:02,129 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-08 22:25:02,130 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-08 22:25:02,131 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf [2020-07-08 22:25:02,140 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-08 22:25:02,141 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-08 22:25:02,142 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-08 22:25:02,142 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-08 22:25:02,142 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-08 22:25:02,143 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-08 22:25:02,143 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-08 22:25:02,143 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-08 22:25:02,143 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-08 22:25:02,143 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-08 22:25:02,144 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-08 22:25:02,144 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-08 22:25:02,144 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-08 22:25:02,144 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-08 22:25:02,145 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-08 22:25:02,145 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-08 22:25:02,145 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-08 22:25:02,145 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-08 22:25:02,145 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-08 22:25:02,146 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-08 22:25:02,146 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-08 22:25:02,146 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-08 22:25:02,146 INFO L138 SettingsManager]: * Use separate solver for trace checks=false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Compute Interpolants along a Counterexample -> Craig_NestedInterpolation Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Use separate solver for trace checks -> true [2020-07-08 22:25:02,418 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-08 22:25:02,431 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-08 22:25:02,435 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-08 22:25:02,436 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-08 22:25:02,437 INFO L275 PluginConnector]: CDTParser initialized [2020-07-08 22:25:02,437 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-08 22:25:02,498 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f8d8ae788/3745ee9bedfb41c395da42324dab83b3/FLAGe689c66e0 [2020-07-08 22:25:03,019 INFO L306 CDTParser]: Found 1 translation units. [2020-07-08 22:25:03,019 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/list-ext2-properties/list_and_tree_cnstr-1.i [2020-07-08 22:25:03,032 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f8d8ae788/3745ee9bedfb41c395da42324dab83b3/FLAGe689c66e0 [2020-07-08 22:25:03,331 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f8d8ae788/3745ee9bedfb41c395da42324dab83b3 [2020-07-08 22:25:03,342 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-08 22:25:03,344 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-08 22:25:03,345 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-08 22:25:03,345 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-08 22:25:03,348 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-08 22:25:03,350 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.07 10:25:03" (1/1) ... [2020-07-08 22:25:03,353 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@452e714f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:25:03, skipping insertion in model container [2020-07-08 22:25:03,353 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.07 10:25:03" (1/1) ... [2020-07-08 22:25:03,361 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-08 22:25:03,406 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-08 22:25:03,866 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-08 22:25:03,883 INFO L203 MainTranslator]: Completed pre-run [2020-07-08 22:25:03,986 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-08 22:25:04,052 INFO L208 MainTranslator]: Completed translation [2020-07-08 22:25:04,052 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:25:04 WrapperNode [2020-07-08 22:25:04,053 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-08 22:25:04,053 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-08 22:25:04,053 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-08 22:25:04,054 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-08 22:25:04,068 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:25:04" (1/1) ... [2020-07-08 22:25:04,068 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:25:04" (1/1) ... [2020-07-08 22:25:04,111 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:25:04" (1/1) ... [2020-07-08 22:25:04,111 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:25:04" (1/1) ... [2020-07-08 22:25:04,171 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:25:04" (1/1) ... [2020-07-08 22:25:04,179 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:25:04" (1/1) ... [2020-07-08 22:25:04,182 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:25:04" (1/1) ... [2020-07-08 22:25:04,190 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-08 22:25:04,191 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-08 22:25:04,191 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-08 22:25:04,191 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-08 22:25:04,192 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:25:04" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-08 22:25:04,263 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-08 22:25:04,264 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-08 22:25:04,264 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_32 [2020-07-08 22:25:04,264 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_64 [2020-07-08 22:25:04,265 INFO L138 BoogieDeclarations]: Found implementation of procedure myexit [2020-07-08 22:25:04,265 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-08 22:25:04,265 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-08 22:25:04,265 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-08 22:25:04,265 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2020-07-08 22:25:04,265 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2020-07-08 22:25:04,266 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2020-07-08 22:25:04,266 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2020-07-08 22:25:04,267 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2020-07-08 22:25:04,267 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2020-07-08 22:25:04,267 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2020-07-08 22:25:04,268 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2020-07-08 22:25:04,268 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2020-07-08 22:25:04,269 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2020-07-08 22:25:04,269 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2020-07-08 22:25:04,270 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2020-07-08 22:25:04,270 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2020-07-08 22:25:04,270 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2020-07-08 22:25:04,273 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2020-07-08 22:25:04,273 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2020-07-08 22:25:04,273 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_32 [2020-07-08 22:25:04,273 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_64 [2020-07-08 22:25:04,273 INFO L130 BoogieDeclarations]: Found specification of procedure select [2020-07-08 22:25:04,273 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2020-07-08 22:25:04,274 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2020-07-08 22:25:04,274 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2020-07-08 22:25:04,274 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2020-07-08 22:25:04,274 INFO L130 BoogieDeclarations]: Found specification of procedure random [2020-07-08 22:25:04,274 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2020-07-08 22:25:04,274 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2020-07-08 22:25:04,275 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2020-07-08 22:25:04,275 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2020-07-08 22:25:04,275 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2020-07-08 22:25:04,275 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2020-07-08 22:25:04,275 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2020-07-08 22:25:04,275 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2020-07-08 22:25:04,276 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2020-07-08 22:25:04,276 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2020-07-08 22:25:04,276 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2020-07-08 22:25:04,276 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2020-07-08 22:25:04,277 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2020-07-08 22:25:04,277 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2020-07-08 22:25:04,277 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2020-07-08 22:25:04,277 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2020-07-08 22:25:04,278 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2020-07-08 22:25:04,278 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2020-07-08 22:25:04,278 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2020-07-08 22:25:04,278 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2020-07-08 22:25:04,278 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2020-07-08 22:25:04,278 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2020-07-08 22:25:04,278 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2020-07-08 22:25:04,279 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2020-07-08 22:25:04,279 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2020-07-08 22:25:04,279 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2020-07-08 22:25:04,279 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2020-07-08 22:25:04,279 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2020-07-08 22:25:04,279 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-08 22:25:04,279 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-08 22:25:04,280 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-08 22:25:04,280 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-08 22:25:04,280 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-08 22:25:04,280 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2020-07-08 22:25:04,280 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-08 22:25:04,280 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2020-07-08 22:25:04,281 INFO L130 BoogieDeclarations]: Found specification of procedure aligned_alloc [2020-07-08 22:25:04,281 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-08 22:25:04,281 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2020-07-08 22:25:04,281 INFO L130 BoogieDeclarations]: Found specification of procedure at_quick_exit [2020-07-08 22:25:04,281 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2020-07-08 22:25:04,282 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2020-07-08 22:25:04,283 INFO L130 BoogieDeclarations]: Found specification of procedure quick_exit [2020-07-08 22:25:04,283 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2020-07-08 22:25:04,283 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2020-07-08 22:25:04,283 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2020-07-08 22:25:04,283 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2020-07-08 22:25:04,283 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2020-07-08 22:25:04,284 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2020-07-08 22:25:04,285 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2020-07-08 22:25:04,285 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2020-07-08 22:25:04,285 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2020-07-08 22:25:04,285 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2020-07-08 22:25:04,285 INFO L130 BoogieDeclarations]: Found specification of procedure system [2020-07-08 22:25:04,286 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2020-07-08 22:25:04,287 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2020-07-08 22:25:04,287 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2020-07-08 22:25:04,287 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2020-07-08 22:25:04,287 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2020-07-08 22:25:04,288 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2020-07-08 22:25:04,288 INFO L130 BoogieDeclarations]: Found specification of procedure div [2020-07-08 22:25:04,288 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2020-07-08 22:25:04,289 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2020-07-08 22:25:04,289 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2020-07-08 22:25:04,289 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2020-07-08 22:25:04,289 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2020-07-08 22:25:04,290 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2020-07-08 22:25:04,290 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2020-07-08 22:25:04,290 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2020-07-08 22:25:04,290 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2020-07-08 22:25:04,290 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2020-07-08 22:25:04,290 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2020-07-08 22:25:04,290 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2020-07-08 22:25:04,291 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2020-07-08 22:25:04,291 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2020-07-08 22:25:04,291 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2020-07-08 22:25:04,291 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2020-07-08 22:25:04,291 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2020-07-08 22:25:04,291 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2020-07-08 22:25:04,291 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2020-07-08 22:25:04,291 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2020-07-08 22:25:04,292 INFO L130 BoogieDeclarations]: Found specification of procedure myexit [2020-07-08 22:25:04,292 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-08 22:25:04,292 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2020-07-08 22:25:04,292 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-08 22:25:04,292 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-08 22:25:04,292 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-08 22:25:04,292 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-08 22:25:04,293 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-08 22:25:04,293 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-08 22:25:04,293 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-08 22:25:04,693 INFO L728 $ProcedureCfgBuilder]: dead code at ProgramPoint myexitFINAL: assume true; [2020-07-08 22:25:05,263 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-08 22:25:05,263 INFO L295 CfgBuilder]: Removed 8 assume(true) statements. [2020-07-08 22:25:05,269 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.07 10:25:05 BoogieIcfgContainer [2020-07-08 22:25:05,269 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-08 22:25:05,271 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-08 22:25:05,271 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-08 22:25:05,274 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-08 22:25:05,275 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.07 10:25:03" (1/3) ... [2020-07-08 22:25:05,276 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3133f1ec and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.07 10:25:05, skipping insertion in model container [2020-07-08 22:25:05,276 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:25:04" (2/3) ... [2020-07-08 22:25:05,277 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3133f1ec and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.07 10:25:05, skipping insertion in model container [2020-07-08 22:25:05,277 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.07 10:25:05" (3/3) ... [2020-07-08 22:25:05,279 INFO L109 eAbstractionObserver]: Analyzing ICFG list_and_tree_cnstr-1.i [2020-07-08 22:25:05,290 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-08 22:25:05,299 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-08 22:25:05,316 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-08 22:25:05,340 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-08 22:25:05,340 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-08 22:25:05,340 INFO L377 AbstractCegarLoop]: Compute interpolants for Craig_NestedInterpolation [2020-07-08 22:25:05,341 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-08 22:25:05,341 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-08 22:25:05,341 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-08 22:25:05,341 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-08 22:25:05,342 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-08 22:25:05,361 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states. [2020-07-08 22:25:05,376 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2020-07-08 22:25:05,376 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:25:05,377 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-08 22:25:05,378 INFO L427 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:25:05,384 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:25:05,385 INFO L82 PathProgramCache]: Analyzing trace with hash -652445128, now seen corresponding path program 1 times [2020-07-08 22:25:05,394 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:25:05,394 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1435116158] [2020-07-08 22:25:05,395 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:25:05,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:05,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:05,621 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-08 22:25:05,621 INFO L280 TraceCheckUtils]: 1: Hoare triple {180#true} #valid := #valid[0 := 0]; {180#true} is VALID [2020-07-08 22:25:05,622 INFO L280 TraceCheckUtils]: 2: Hoare triple {180#true} assume 0 < #StackHeapBarrier; {180#true} is VALID [2020-07-08 22:25:05,622 INFO L280 TraceCheckUtils]: 3: Hoare triple {180#true} assume true; {180#true} is VALID [2020-07-08 22:25:05,623 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {180#true} {180#true} #349#return; {180#true} is VALID [2020-07-08 22:25:05,629 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-08 22:25:05,629 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-08 22:25:05,629 INFO L280 TraceCheckUtils]: 2: Hoare triple {180#true} #valid := #valid[0 := 0]; {180#true} is VALID [2020-07-08 22:25:05,630 INFO L280 TraceCheckUtils]: 3: Hoare triple {180#true} assume 0 < #StackHeapBarrier; {180#true} is VALID [2020-07-08 22:25:05,630 INFO L280 TraceCheckUtils]: 4: Hoare triple {180#true} assume true; {180#true} is VALID [2020-07-08 22:25:05,630 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {180#true} {180#true} #349#return; {180#true} is VALID [2020-07-08 22:25:05,631 INFO L263 TraceCheckUtils]: 6: Hoare triple {180#true} call #t~ret41 := main(); {180#true} is VALID [2020-07-08 22:25:05,631 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-08 22:25:05,631 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-08 22:25:05,632 INFO L280 TraceCheckUtils]: 9: Hoare triple {180#true} havoc ~n~0.base, ~n~0.offset; {180#true} is VALID [2020-07-08 22:25:05,632 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-08 22:25:05,632 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-08 22:25:05,634 INFO L280 TraceCheckUtils]: 12: Hoare triple {180#true} assume !true; {181#false} is VALID [2020-07-08 22:25:05,635 INFO L280 TraceCheckUtils]: 13: Hoare triple {181#false} ~n~0.base, ~n~0.offset := 0, 0; {181#false} is VALID [2020-07-08 22:25:05,635 INFO L280 TraceCheckUtils]: 14: Hoare triple {181#false} havoc ~pred~0.base, ~pred~0.offset; {181#false} is VALID [2020-07-08 22:25:05,636 INFO L280 TraceCheckUtils]: 15: Hoare triple {181#false} assume !(~root~0.base != 0 || ~root~0.offset != 0); {181#false} is VALID [2020-07-08 22:25:05,636 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-08 22:25:05,636 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-08 22:25:05,637 INFO L280 TraceCheckUtils]: 18: Hoare triple {181#false} assume !(~a~0.base == 0 && ~a~0.offset == 0); {181#false} is VALID [2020-07-08 22:25:05,637 INFO L280 TraceCheckUtils]: 19: Hoare triple {181#false} havoc ~t~0.base, ~t~0.offset; {181#false} is VALID [2020-07-08 22:25:05,637 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-08 22:25:05,638 INFO L280 TraceCheckUtils]: 21: Hoare triple {181#false} assume !true; {181#false} is VALID [2020-07-08 22:25:05,638 INFO L280 TraceCheckUtils]: 22: Hoare triple {181#false} assume !true; {181#false} is VALID [2020-07-08 22:25:05,638 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-08 22:25:05,639 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-08 22:25:05,639 INFO L280 TraceCheckUtils]: 25: Hoare triple {181#false} assume !true; {181#false} is VALID [2020-07-08 22:25:05,639 INFO L280 TraceCheckUtils]: 26: Hoare triple {181#false} assume !true; {181#false} is VALID [2020-07-08 22:25:05,640 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-08 22:25:05,640 INFO L280 TraceCheckUtils]: 28: Hoare triple {181#false} assume 3 != #t~mem40; {181#false} is VALID [2020-07-08 22:25:05,640 INFO L280 TraceCheckUtils]: 29: Hoare triple {181#false} havoc #t~mem40; {181#false} is VALID [2020-07-08 22:25:05,640 INFO L280 TraceCheckUtils]: 30: Hoare triple {181#false} assume !false; {181#false} is VALID [2020-07-08 22:25:05,644 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 22:25:05,645 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1435116158] [2020-07-08 22:25:05,647 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 22:25:05,647 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-07-08 22:25:05,648 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1075100428] [2020-07-08 22:25:05,654 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 31 [2020-07-08 22:25:05,658 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:25:05,662 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-08 22:25:05,715 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-08 22:25:05,715 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-08 22:25:05,716 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:25:05,725 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-08 22:25:05,725 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-08 22:25:05,728 INFO L87 Difference]: Start difference. First operand 177 states. Second operand 3 states. [2020-07-08 22:25:06,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:06,571 INFO L93 Difference]: Finished difference Result 342 states and 400 transitions. [2020-07-08 22:25:06,571 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-08 22:25:06,571 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 31 [2020-07-08 22:25:06,571 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:25:06,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-08 22:25:06,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 400 transitions. [2020-07-08 22:25:06,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-08 22:25:06,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 400 transitions. [2020-07-08 22:25:06,598 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 400 transitions. [2020-07-08 22:25:07,010 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-08 22:25:07,037 INFO L225 Difference]: With dead ends: 342 [2020-07-08 22:25:07,037 INFO L226 Difference]: Without dead ends: 166 [2020-07-08 22:25:07,046 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-08 22:25:07,068 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 166 states. [2020-07-08 22:25:07,162 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 166 to 166. [2020-07-08 22:25:07,163 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:25:07,163 INFO L82 GeneralOperation]: Start isEquivalent. First operand 166 states. Second operand 166 states. [2020-07-08 22:25:07,164 INFO L74 IsIncluded]: Start isIncluded. First operand 166 states. Second operand 166 states. [2020-07-08 22:25:07,164 INFO L87 Difference]: Start difference. First operand 166 states. Second operand 166 states. [2020-07-08 22:25:07,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:07,189 INFO L93 Difference]: Finished difference Result 166 states and 183 transitions. [2020-07-08 22:25:07,189 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 183 transitions. [2020-07-08 22:25:07,192 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:07,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:07,193 INFO L74 IsIncluded]: Start isIncluded. First operand 166 states. Second operand 166 states. [2020-07-08 22:25:07,193 INFO L87 Difference]: Start difference. First operand 166 states. Second operand 166 states. [2020-07-08 22:25:07,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:07,208 INFO L93 Difference]: Finished difference Result 166 states and 183 transitions. [2020-07-08 22:25:07,208 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 183 transitions. [2020-07-08 22:25:07,219 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:07,219 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:07,219 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:25:07,220 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:25:07,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 166 states. [2020-07-08 22:25:07,249 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 183 transitions. [2020-07-08 22:25:07,251 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 183 transitions. Word has length 31 [2020-07-08 22:25:07,251 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:25:07,251 INFO L479 AbstractCegarLoop]: Abstraction has 166 states and 183 transitions. [2020-07-08 22:25:07,251 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-08 22:25:07,252 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 166 states and 183 transitions. [2020-07-08 22:25:07,421 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-08 22:25:07,422 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 183 transitions. [2020-07-08 22:25:07,424 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2020-07-08 22:25:07,424 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:25:07,425 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-08 22:25:07,425 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-08 22:25:07,425 INFO L427 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:25:07,425 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:25:07,426 INFO L82 PathProgramCache]: Analyzing trace with hash 473660712, now seen corresponding path program 1 times [2020-07-08 22:25:07,426 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:25:07,426 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1509209125] [2020-07-08 22:25:07,426 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:25:07,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:07,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:07,556 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-08 22:25:07,556 INFO L280 TraceCheckUtils]: 1: Hoare triple {1538#true} #valid := #valid[0 := 0]; {1538#true} is VALID [2020-07-08 22:25:07,556 INFO L280 TraceCheckUtils]: 2: Hoare triple {1538#true} assume 0 < #StackHeapBarrier; {1538#true} is VALID [2020-07-08 22:25:07,557 INFO L280 TraceCheckUtils]: 3: Hoare triple {1538#true} assume true; {1538#true} is VALID [2020-07-08 22:25:07,557 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1538#true} {1538#true} #349#return; {1538#true} is VALID [2020-07-08 22:25:07,563 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-08 22:25:07,563 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-08 22:25:07,564 INFO L280 TraceCheckUtils]: 2: Hoare triple {1538#true} #valid := #valid[0 := 0]; {1538#true} is VALID [2020-07-08 22:25:07,564 INFO L280 TraceCheckUtils]: 3: Hoare triple {1538#true} assume 0 < #StackHeapBarrier; {1538#true} is VALID [2020-07-08 22:25:07,564 INFO L280 TraceCheckUtils]: 4: Hoare triple {1538#true} assume true; {1538#true} is VALID [2020-07-08 22:25:07,564 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1538#true} {1538#true} #349#return; {1538#true} is VALID [2020-07-08 22:25:07,565 INFO L263 TraceCheckUtils]: 6: Hoare triple {1538#true} call #t~ret41 := main(); {1538#true} is VALID [2020-07-08 22:25:07,570 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-08 22:25:07,579 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-08 22:25:07,580 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-08 22:25:07,585 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-08 22:25:07,585 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-08 22:25:07,586 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-08 22:25:07,587 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-08 22:25:07,587 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-08 22:25:07,588 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-08 22:25:07,590 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-08 22:25:07,590 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-08 22:25:07,590 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-08 22:25:07,591 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-08 22:25:07,591 INFO L280 TraceCheckUtils]: 20: Hoare triple {1539#false} assume !(~a~0.base == 0 && ~a~0.offset == 0); {1539#false} is VALID [2020-07-08 22:25:07,591 INFO L280 TraceCheckUtils]: 21: Hoare triple {1539#false} havoc ~t~0.base, ~t~0.offset; {1539#false} is VALID [2020-07-08 22:25:07,592 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-08 22:25:07,592 INFO L280 TraceCheckUtils]: 23: Hoare triple {1539#false} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {1539#false} is VALID [2020-07-08 22:25:07,592 INFO L280 TraceCheckUtils]: 24: Hoare triple {1539#false} assume !(0 != #t~nondet30); {1539#false} is VALID [2020-07-08 22:25:07,594 INFO L280 TraceCheckUtils]: 25: Hoare triple {1539#false} havoc #t~nondet30; {1539#false} is VALID [2020-07-08 22:25:07,595 INFO L280 TraceCheckUtils]: 26: Hoare triple {1539#false} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {1539#false} is VALID [2020-07-08 22:25:07,595 INFO L280 TraceCheckUtils]: 27: Hoare triple {1539#false} assume !(0 != #t~nondet33); {1539#false} is VALID [2020-07-08 22:25:07,595 INFO L280 TraceCheckUtils]: 28: Hoare triple {1539#false} havoc #t~nondet33; {1539#false} is VALID [2020-07-08 22:25:07,596 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-08 22:25:07,596 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-08 22:25:07,596 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-08 22:25:07,596 INFO L280 TraceCheckUtils]: 32: Hoare triple {1539#false} assume !(2 == #t~mem36); {1539#false} is VALID [2020-07-08 22:25:07,597 INFO L280 TraceCheckUtils]: 33: Hoare triple {1539#false} havoc #t~mem36; {1539#false} is VALID [2020-07-08 22:25:07,597 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-08 22:25:07,597 INFO L280 TraceCheckUtils]: 35: Hoare triple {1539#false} assume !(1 == #t~mem38); {1539#false} is VALID [2020-07-08 22:25:07,597 INFO L280 TraceCheckUtils]: 36: Hoare triple {1539#false} havoc #t~mem38; {1539#false} is VALID [2020-07-08 22:25:07,598 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-08 22:25:07,598 INFO L280 TraceCheckUtils]: 38: Hoare triple {1539#false} assume 3 != #t~mem40; {1539#false} is VALID [2020-07-08 22:25:07,598 INFO L280 TraceCheckUtils]: 39: Hoare triple {1539#false} havoc #t~mem40; {1539#false} is VALID [2020-07-08 22:25:07,599 INFO L280 TraceCheckUtils]: 40: Hoare triple {1539#false} assume !false; {1539#false} is VALID [2020-07-08 22:25:07,602 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 22:25:07,602 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1509209125] [2020-07-08 22:25:07,603 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 22:25:07,603 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-08 22:25:07,603 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1362783354] [2020-07-08 22:25:07,605 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 41 [2020-07-08 22:25:07,605 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:25:07,605 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-08 22:25:07,650 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-08 22:25:07,651 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-08 22:25:07,651 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:25:07,651 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-08 22:25:07,652 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-08 22:25:07,652 INFO L87 Difference]: Start difference. First operand 166 states and 183 transitions. Second operand 5 states. [2020-07-08 22:25:08,693 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:08,694 INFO L93 Difference]: Finished difference Result 251 states and 277 transitions. [2020-07-08 22:25:08,694 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-08 22:25:08,694 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 41 [2020-07-08 22:25:08,694 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:25:08,694 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-08 22:25:08,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 277 transitions. [2020-07-08 22:25:08,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-08 22:25:08,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 277 transitions. [2020-07-08 22:25:08,703 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 277 transitions. [2020-07-08 22:25:09,008 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-08 22:25:09,021 INFO L225 Difference]: With dead ends: 251 [2020-07-08 22:25:09,021 INFO L226 Difference]: Without dead ends: 201 [2020-07-08 22:25:09,022 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-08 22:25:09,023 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 201 states. [2020-07-08 22:25:09,312 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 201 to 200. [2020-07-08 22:25:09,312 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:25:09,312 INFO L82 GeneralOperation]: Start isEquivalent. First operand 201 states. Second operand 200 states. [2020-07-08 22:25:09,312 INFO L74 IsIncluded]: Start isIncluded. First operand 201 states. Second operand 200 states. [2020-07-08 22:25:09,312 INFO L87 Difference]: Start difference. First operand 201 states. Second operand 200 states. [2020-07-08 22:25:09,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:09,321 INFO L93 Difference]: Finished difference Result 201 states and 223 transitions. [2020-07-08 22:25:09,321 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 223 transitions. [2020-07-08 22:25:09,322 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:09,322 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:09,322 INFO L74 IsIncluded]: Start isIncluded. First operand 200 states. Second operand 201 states. [2020-07-08 22:25:09,322 INFO L87 Difference]: Start difference. First operand 200 states. Second operand 201 states. [2020-07-08 22:25:09,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:09,331 INFO L93 Difference]: Finished difference Result 201 states and 223 transitions. [2020-07-08 22:25:09,331 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 223 transitions. [2020-07-08 22:25:09,332 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:09,332 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:09,332 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:25:09,332 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:25:09,332 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 200 states. [2020-07-08 22:25:09,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 200 states to 200 states and 222 transitions. [2020-07-08 22:25:09,340 INFO L78 Accepts]: Start accepts. Automaton has 200 states and 222 transitions. Word has length 41 [2020-07-08 22:25:09,340 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:25:09,340 INFO L479 AbstractCegarLoop]: Abstraction has 200 states and 222 transitions. [2020-07-08 22:25:09,340 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-08 22:25:09,341 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 200 states and 222 transitions. [2020-07-08 22:25:09,582 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-08 22:25:09,582 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 222 transitions. [2020-07-08 22:25:09,584 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2020-07-08 22:25:09,584 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:25:09,584 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-08 22:25:09,585 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-08 22:25:09,585 INFO L427 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:25:09,585 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:25:09,585 INFO L82 PathProgramCache]: Analyzing trace with hash 1870874818, now seen corresponding path program 1 times [2020-07-08 22:25:09,585 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:25:09,586 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1447808874] [2020-07-08 22:25:09,586 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:25:09,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:09,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:09,665 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-08 22:25:09,665 INFO L280 TraceCheckUtils]: 1: Hoare triple {2856#true} #valid := #valid[0 := 0]; {2856#true} is VALID [2020-07-08 22:25:09,665 INFO L280 TraceCheckUtils]: 2: Hoare triple {2856#true} assume 0 < #StackHeapBarrier; {2856#true} is VALID [2020-07-08 22:25:09,666 INFO L280 TraceCheckUtils]: 3: Hoare triple {2856#true} assume true; {2856#true} is VALID [2020-07-08 22:25:09,666 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {2856#true} {2856#true} #349#return; {2856#true} is VALID [2020-07-08 22:25:09,667 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-08 22:25:09,667 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-08 22:25:09,668 INFO L280 TraceCheckUtils]: 2: Hoare triple {2856#true} #valid := #valid[0 := 0]; {2856#true} is VALID [2020-07-08 22:25:09,668 INFO L280 TraceCheckUtils]: 3: Hoare triple {2856#true} assume 0 < #StackHeapBarrier; {2856#true} is VALID [2020-07-08 22:25:09,668 INFO L280 TraceCheckUtils]: 4: Hoare triple {2856#true} assume true; {2856#true} is VALID [2020-07-08 22:25:09,669 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2856#true} {2856#true} #349#return; {2856#true} is VALID [2020-07-08 22:25:09,669 INFO L263 TraceCheckUtils]: 6: Hoare triple {2856#true} call #t~ret41 := main(); {2856#true} is VALID [2020-07-08 22:25:09,669 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-08 22:25:09,669 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-08 22:25:09,670 INFO L280 TraceCheckUtils]: 9: Hoare triple {2856#true} havoc ~n~0.base, ~n~0.offset; {2856#true} is VALID [2020-07-08 22:25:09,670 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-08 22:25:09,670 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-08 22:25:09,670 INFO L280 TraceCheckUtils]: 12: Hoare triple {2856#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {2856#true} is VALID [2020-07-08 22:25:09,671 INFO L280 TraceCheckUtils]: 13: Hoare triple {2856#true} assume !(0 != #t~nondet3); {2856#true} is VALID [2020-07-08 22:25:09,671 INFO L280 TraceCheckUtils]: 14: Hoare triple {2856#true} havoc #t~nondet3; {2856#true} is VALID [2020-07-08 22:25:09,671 INFO L280 TraceCheckUtils]: 15: Hoare triple {2856#true} ~n~0.base, ~n~0.offset := 0, 0; {2856#true} is VALID [2020-07-08 22:25:09,671 INFO L280 TraceCheckUtils]: 16: Hoare triple {2856#true} havoc ~pred~0.base, ~pred~0.offset; {2856#true} is VALID [2020-07-08 22:25:09,672 INFO L280 TraceCheckUtils]: 17: Hoare triple {2856#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {2856#true} is VALID [2020-07-08 22:25:09,672 INFO L280 TraceCheckUtils]: 18: Hoare triple {2856#true} ~pred~0.base, ~pred~0.offset := 0, 0; {2856#true} is VALID [2020-07-08 22:25:09,672 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-08 22:25:09,673 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-08 22:25:09,673 INFO L280 TraceCheckUtils]: 21: Hoare triple {2856#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {2856#true} is VALID [2020-07-08 22:25:09,674 INFO L280 TraceCheckUtils]: 22: Hoare triple {2856#true} assume #t~short24; {2863#|main_#t~short24|} is VALID [2020-07-08 22:25:09,674 INFO L280 TraceCheckUtils]: 23: Hoare triple {2863#|main_#t~short24|} assume !#t~short24; {2857#false} is VALID [2020-07-08 22:25:09,675 INFO L280 TraceCheckUtils]: 24: Hoare triple {2857#false} havoc #t~mem23.base, #t~mem23.offset; {2857#false} is VALID [2020-07-08 22:25:09,675 INFO L280 TraceCheckUtils]: 25: Hoare triple {2857#false} havoc #t~short24; {2857#false} is VALID [2020-07-08 22:25:09,675 INFO L280 TraceCheckUtils]: 26: Hoare triple {2857#false} havoc #t~mem22.base, #t~mem22.offset; {2857#false} is VALID [2020-07-08 22:25:09,676 INFO L280 TraceCheckUtils]: 27: Hoare triple {2857#false} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {2857#false} is VALID [2020-07-08 22:25:09,676 INFO L280 TraceCheckUtils]: 28: Hoare triple {2857#false} ~root~0.base, ~root~0.offset := 0, 0; {2857#false} is VALID [2020-07-08 22:25:09,676 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-08 22:25:09,676 INFO L280 TraceCheckUtils]: 30: Hoare triple {2857#false} assume !(~root~0.base != 0 || ~root~0.offset != 0); {2857#false} is VALID [2020-07-08 22:25:09,677 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-08 22:25:09,677 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-08 22:25:09,677 INFO L280 TraceCheckUtils]: 33: Hoare triple {2857#false} assume !(~a~0.base == 0 && ~a~0.offset == 0); {2857#false} is VALID [2020-07-08 22:25:09,677 INFO L280 TraceCheckUtils]: 34: Hoare triple {2857#false} havoc ~t~0.base, ~t~0.offset; {2857#false} is VALID [2020-07-08 22:25:09,678 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-08 22:25:09,678 INFO L280 TraceCheckUtils]: 36: Hoare triple {2857#false} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {2857#false} is VALID [2020-07-08 22:25:09,678 INFO L280 TraceCheckUtils]: 37: Hoare triple {2857#false} assume !(0 != #t~nondet30); {2857#false} is VALID [2020-07-08 22:25:09,678 INFO L280 TraceCheckUtils]: 38: Hoare triple {2857#false} havoc #t~nondet30; {2857#false} is VALID [2020-07-08 22:25:09,679 INFO L280 TraceCheckUtils]: 39: Hoare triple {2857#false} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {2857#false} is VALID [2020-07-08 22:25:09,679 INFO L280 TraceCheckUtils]: 40: Hoare triple {2857#false} assume !(0 != #t~nondet33); {2857#false} is VALID [2020-07-08 22:25:09,679 INFO L280 TraceCheckUtils]: 41: Hoare triple {2857#false} havoc #t~nondet33; {2857#false} is VALID [2020-07-08 22:25:09,679 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-08 22:25:09,680 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-08 22:25:09,680 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-08 22:25:09,680 INFO L280 TraceCheckUtils]: 45: Hoare triple {2857#false} assume !(2 == #t~mem36); {2857#false} is VALID [2020-07-08 22:25:09,681 INFO L280 TraceCheckUtils]: 46: Hoare triple {2857#false} havoc #t~mem36; {2857#false} is VALID [2020-07-08 22:25:09,681 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-08 22:25:09,681 INFO L280 TraceCheckUtils]: 48: Hoare triple {2857#false} assume !(1 == #t~mem38); {2857#false} is VALID [2020-07-08 22:25:09,681 INFO L280 TraceCheckUtils]: 49: Hoare triple {2857#false} havoc #t~mem38; {2857#false} is VALID [2020-07-08 22:25:09,681 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-08 22:25:09,682 INFO L280 TraceCheckUtils]: 51: Hoare triple {2857#false} assume 3 != #t~mem40; {2857#false} is VALID [2020-07-08 22:25:09,682 INFO L280 TraceCheckUtils]: 52: Hoare triple {2857#false} havoc #t~mem40; {2857#false} is VALID [2020-07-08 22:25:09,682 INFO L280 TraceCheckUtils]: 53: Hoare triple {2857#false} assume !false; {2857#false} is VALID [2020-07-08 22:25:09,685 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-08 22:25:09,686 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1447808874] [2020-07-08 22:25:09,686 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 22:25:09,686 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-08 22:25:09,686 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [179431922] [2020-07-08 22:25:09,687 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 54 [2020-07-08 22:25:09,687 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:25:09,687 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-08 22:25:09,735 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-08 22:25:09,735 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-08 22:25:09,735 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:25:09,736 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-08 22:25:09,736 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-08 22:25:09,736 INFO L87 Difference]: Start difference. First operand 200 states and 222 transitions. Second operand 4 states. [2020-07-08 22:25:10,577 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:10,577 INFO L93 Difference]: Finished difference Result 321 states and 359 transitions. [2020-07-08 22:25:10,577 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-08 22:25:10,577 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 54 [2020-07-08 22:25:10,578 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:25:10,578 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-08 22:25:10,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 279 transitions. [2020-07-08 22:25:10,582 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-08 22:25:10,586 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 279 transitions. [2020-07-08 22:25:10,586 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 279 transitions. [2020-07-08 22:25:10,862 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-08 22:25:10,866 INFO L225 Difference]: With dead ends: 321 [2020-07-08 22:25:10,866 INFO L226 Difference]: Without dead ends: 202 [2020-07-08 22:25:10,867 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-08 22:25:10,868 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 202 states. [2020-07-08 22:25:11,104 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 202 to 202. [2020-07-08 22:25:11,104 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:25:11,104 INFO L82 GeneralOperation]: Start isEquivalent. First operand 202 states. Second operand 202 states. [2020-07-08 22:25:11,104 INFO L74 IsIncluded]: Start isIncluded. First operand 202 states. Second operand 202 states. [2020-07-08 22:25:11,104 INFO L87 Difference]: Start difference. First operand 202 states. Second operand 202 states. [2020-07-08 22:25:11,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:11,113 INFO L93 Difference]: Finished difference Result 202 states and 224 transitions. [2020-07-08 22:25:11,113 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 224 transitions. [2020-07-08 22:25:11,114 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:11,114 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:11,114 INFO L74 IsIncluded]: Start isIncluded. First operand 202 states. Second operand 202 states. [2020-07-08 22:25:11,114 INFO L87 Difference]: Start difference. First operand 202 states. Second operand 202 states. [2020-07-08 22:25:11,122 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:11,122 INFO L93 Difference]: Finished difference Result 202 states and 224 transitions. [2020-07-08 22:25:11,122 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 224 transitions. [2020-07-08 22:25:11,123 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:11,123 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:11,123 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:25:11,123 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:25:11,123 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 202 states. [2020-07-08 22:25:11,130 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 224 transitions. [2020-07-08 22:25:11,131 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 224 transitions. Word has length 54 [2020-07-08 22:25:11,131 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:25:11,131 INFO L479 AbstractCegarLoop]: Abstraction has 202 states and 224 transitions. [2020-07-08 22:25:11,131 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-08 22:25:11,132 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 202 states and 224 transitions. [2020-07-08 22:25:11,412 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-08 22:25:11,412 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 224 transitions. [2020-07-08 22:25:11,413 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2020-07-08 22:25:11,413 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:25:11,414 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-08 22:25:11,414 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-08 22:25:11,414 INFO L427 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:25:11,414 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:25:11,414 INFO L82 PathProgramCache]: Analyzing trace with hash 129316031, now seen corresponding path program 1 times [2020-07-08 22:25:11,414 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:25:11,415 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1140244243] [2020-07-08 22:25:11,415 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:25:11,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:11,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:11,558 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-08 22:25:11,559 INFO L280 TraceCheckUtils]: 1: Hoare triple {4317#true} #valid := #valid[0 := 0]; {4317#true} is VALID [2020-07-08 22:25:11,559 INFO L280 TraceCheckUtils]: 2: Hoare triple {4317#true} assume 0 < #StackHeapBarrier; {4317#true} is VALID [2020-07-08 22:25:11,559 INFO L280 TraceCheckUtils]: 3: Hoare triple {4317#true} assume true; {4317#true} is VALID [2020-07-08 22:25:11,559 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {4317#true} {4317#true} #349#return; {4317#true} is VALID [2020-07-08 22:25:11,560 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-08 22:25:11,560 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-08 22:25:11,560 INFO L280 TraceCheckUtils]: 2: Hoare triple {4317#true} #valid := #valid[0 := 0]; {4317#true} is VALID [2020-07-08 22:25:11,561 INFO L280 TraceCheckUtils]: 3: Hoare triple {4317#true} assume 0 < #StackHeapBarrier; {4317#true} is VALID [2020-07-08 22:25:11,561 INFO L280 TraceCheckUtils]: 4: Hoare triple {4317#true} assume true; {4317#true} is VALID [2020-07-08 22:25:11,561 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4317#true} {4317#true} #349#return; {4317#true} is VALID [2020-07-08 22:25:11,561 INFO L263 TraceCheckUtils]: 6: Hoare triple {4317#true} call #t~ret41 := main(); {4317#true} is VALID [2020-07-08 22:25:11,561 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-08 22:25:11,561 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-08 22:25:11,562 INFO L280 TraceCheckUtils]: 9: Hoare triple {4317#true} havoc ~n~0.base, ~n~0.offset; {4317#true} is VALID [2020-07-08 22:25:11,562 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-08 22:25:11,562 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-08 22:25:11,562 INFO L280 TraceCheckUtils]: 12: Hoare triple {4317#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4317#true} is VALID [2020-07-08 22:25:11,562 INFO L280 TraceCheckUtils]: 13: Hoare triple {4317#true} assume !(0 != #t~nondet3); {4317#true} is VALID [2020-07-08 22:25:11,563 INFO L280 TraceCheckUtils]: 14: Hoare triple {4317#true} havoc #t~nondet3; {4317#true} is VALID [2020-07-08 22:25:11,563 INFO L280 TraceCheckUtils]: 15: Hoare triple {4317#true} ~n~0.base, ~n~0.offset := 0, 0; {4317#true} is VALID [2020-07-08 22:25:11,563 INFO L280 TraceCheckUtils]: 16: Hoare triple {4317#true} havoc ~pred~0.base, ~pred~0.offset; {4317#true} is VALID [2020-07-08 22:25:11,563 INFO L280 TraceCheckUtils]: 17: Hoare triple {4317#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {4317#true} is VALID [2020-07-08 22:25:11,563 INFO L280 TraceCheckUtils]: 18: Hoare triple {4317#true} ~pred~0.base, ~pred~0.offset := 0, 0; {4317#true} is VALID [2020-07-08 22:25:11,564 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-08 22:25:11,564 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-08 22:25:11,564 INFO L280 TraceCheckUtils]: 21: Hoare triple {4317#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {4317#true} is VALID [2020-07-08 22:25:11,564 INFO L280 TraceCheckUtils]: 22: Hoare triple {4317#true} assume !#t~short24; {4317#true} is VALID [2020-07-08 22:25:11,565 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-08 22:25:11,565 INFO L280 TraceCheckUtils]: 24: Hoare triple {4317#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {4317#true} is VALID [2020-07-08 22:25:11,565 INFO L280 TraceCheckUtils]: 25: Hoare triple {4317#true} assume !#t~short24; {4317#true} is VALID [2020-07-08 22:25:11,565 INFO L280 TraceCheckUtils]: 26: Hoare triple {4317#true} havoc #t~mem23.base, #t~mem23.offset; {4317#true} is VALID [2020-07-08 22:25:11,566 INFO L280 TraceCheckUtils]: 27: Hoare triple {4317#true} havoc #t~short24; {4317#true} is VALID [2020-07-08 22:25:11,566 INFO L280 TraceCheckUtils]: 28: Hoare triple {4317#true} havoc #t~mem22.base, #t~mem22.offset; {4317#true} is VALID [2020-07-08 22:25:11,566 INFO L280 TraceCheckUtils]: 29: Hoare triple {4317#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {4317#true} is VALID [2020-07-08 22:25:11,566 INFO L280 TraceCheckUtils]: 30: Hoare triple {4317#true} ~root~0.base, ~root~0.offset := 0, 0; {4317#true} is VALID [2020-07-08 22:25:11,566 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-08 22:25:11,567 INFO L280 TraceCheckUtils]: 32: Hoare triple {4317#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {4317#true} is VALID [2020-07-08 22:25:11,567 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-08 22:25:11,567 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-08 22:25:11,567 INFO L280 TraceCheckUtils]: 35: Hoare triple {4317#true} assume !(~a~0.base == 0 && ~a~0.offset == 0); {4317#true} is VALID [2020-07-08 22:25:11,567 INFO L280 TraceCheckUtils]: 36: Hoare triple {4317#true} havoc ~t~0.base, ~t~0.offset; {4317#true} is VALID [2020-07-08 22:25:11,568 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-08 22:25:11,568 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-08 22:25:11,569 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-08 22:25:11,569 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-08 22:25:11,570 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-08 22:25:11,570 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-08 22:25:11,571 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-08 22:25:11,572 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-08 22:25:11,572 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-08 22:25:11,575 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-08 22:25:11,576 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-08 22:25:11,576 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-08 22:25:11,577 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-08 22:25:11,577 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-08 22:25:11,583 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-08 22:25:11,584 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-08 22:25:11,585 INFO L280 TraceCheckUtils]: 53: Hoare triple {4327#(= |main_#t~mem40| 3)} assume 3 != #t~mem40; {4318#false} is VALID [2020-07-08 22:25:11,585 INFO L280 TraceCheckUtils]: 54: Hoare triple {4318#false} havoc #t~mem40; {4318#false} is VALID [2020-07-08 22:25:11,585 INFO L280 TraceCheckUtils]: 55: Hoare triple {4318#false} assume !false; {4318#false} is VALID [2020-07-08 22:25:11,591 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-08 22:25:11,592 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1140244243] [2020-07-08 22:25:11,593 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 22:25:11,593 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-08 22:25:11,593 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2124487876] [2020-07-08 22:25:11,594 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 56 [2020-07-08 22:25:11,595 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:25:11,595 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-08 22:25:11,646 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-08 22:25:11,646 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-08 22:25:11,647 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:25:11,647 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-08 22:25:11,647 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-08 22:25:11,648 INFO L87 Difference]: Start difference. First operand 202 states and 224 transitions. Second operand 7 states. [2020-07-08 22:25:13,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:13,172 INFO L93 Difference]: Finished difference Result 279 states and 306 transitions. [2020-07-08 22:25:13,173 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-08 22:25:13,173 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 56 [2020-07-08 22:25:13,173 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:25:13,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-08 22:25:13,177 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 265 transitions. [2020-07-08 22:25:13,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-08 22:25:13,182 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 265 transitions. [2020-07-08 22:25:13,182 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 265 transitions. [2020-07-08 22:25:13,439 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-08 22:25:13,446 INFO L225 Difference]: With dead ends: 279 [2020-07-08 22:25:13,446 INFO L226 Difference]: Without dead ends: 273 [2020-07-08 22:25:13,447 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-08 22:25:13,448 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 273 states. [2020-07-08 22:25:13,735 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 273 to 215. [2020-07-08 22:25:13,736 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:25:13,736 INFO L82 GeneralOperation]: Start isEquivalent. First operand 273 states. Second operand 215 states. [2020-07-08 22:25:13,736 INFO L74 IsIncluded]: Start isIncluded. First operand 273 states. Second operand 215 states. [2020-07-08 22:25:13,736 INFO L87 Difference]: Start difference. First operand 273 states. Second operand 215 states. [2020-07-08 22:25:13,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:13,747 INFO L93 Difference]: Finished difference Result 273 states and 300 transitions. [2020-07-08 22:25:13,748 INFO L276 IsEmpty]: Start isEmpty. Operand 273 states and 300 transitions. [2020-07-08 22:25:13,748 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:13,748 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:13,749 INFO L74 IsIncluded]: Start isIncluded. First operand 215 states. Second operand 273 states. [2020-07-08 22:25:13,749 INFO L87 Difference]: Start difference. First operand 215 states. Second operand 273 states. [2020-07-08 22:25:13,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:13,759 INFO L93 Difference]: Finished difference Result 273 states and 300 transitions. [2020-07-08 22:25:13,760 INFO L276 IsEmpty]: Start isEmpty. Operand 273 states and 300 transitions. [2020-07-08 22:25:13,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:13,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:13,761 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:25:13,761 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:25:13,761 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 215 states. [2020-07-08 22:25:13,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 215 states to 215 states and 240 transitions. [2020-07-08 22:25:13,769 INFO L78 Accepts]: Start accepts. Automaton has 215 states and 240 transitions. Word has length 56 [2020-07-08 22:25:13,769 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:25:13,769 INFO L479 AbstractCegarLoop]: Abstraction has 215 states and 240 transitions. [2020-07-08 22:25:13,769 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-08 22:25:13,770 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 215 states and 240 transitions. [2020-07-08 22:25:14,060 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-08 22:25:14,060 INFO L276 IsEmpty]: Start isEmpty. Operand 215 states and 240 transitions. [2020-07-08 22:25:14,061 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2020-07-08 22:25:14,061 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:25:14,062 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-08 22:25:14,062 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-08 22:25:14,062 INFO L427 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:25:14,062 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:25:14,063 INFO L82 PathProgramCache]: Analyzing trace with hash 593034583, now seen corresponding path program 1 times [2020-07-08 22:25:14,063 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:25:14,063 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1572340795] [2020-07-08 22:25:14,063 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:25:14,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:14,207 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:14,216 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-08 22:25:14,216 INFO L280 TraceCheckUtils]: 1: Hoare triple {5869#true} #valid := #valid[0 := 0]; {5869#true} is VALID [2020-07-08 22:25:14,216 INFO L280 TraceCheckUtils]: 2: Hoare triple {5869#true} assume 0 < #StackHeapBarrier; {5869#true} is VALID [2020-07-08 22:25:14,217 INFO L280 TraceCheckUtils]: 3: Hoare triple {5869#true} assume true; {5869#true} is VALID [2020-07-08 22:25:14,217 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {5869#true} {5869#true} #349#return; {5869#true} is VALID [2020-07-08 22:25:14,219 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-08 22:25:14,219 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-08 22:25:14,219 INFO L280 TraceCheckUtils]: 2: Hoare triple {5869#true} #valid := #valid[0 := 0]; {5869#true} is VALID [2020-07-08 22:25:14,220 INFO L280 TraceCheckUtils]: 3: Hoare triple {5869#true} assume 0 < #StackHeapBarrier; {5869#true} is VALID [2020-07-08 22:25:14,220 INFO L280 TraceCheckUtils]: 4: Hoare triple {5869#true} assume true; {5869#true} is VALID [2020-07-08 22:25:14,220 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {5869#true} {5869#true} #349#return; {5869#true} is VALID [2020-07-08 22:25:14,220 INFO L263 TraceCheckUtils]: 6: Hoare triple {5869#true} call #t~ret41 := main(); {5869#true} is VALID [2020-07-08 22:25:14,220 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-08 22:25:14,221 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-08 22:25:14,221 INFO L280 TraceCheckUtils]: 9: Hoare triple {5869#true} havoc ~n~0.base, ~n~0.offset; {5869#true} is VALID [2020-07-08 22:25:14,221 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-08 22:25:14,221 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-08 22:25:14,222 INFO L280 TraceCheckUtils]: 12: Hoare triple {5869#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {5869#true} is VALID [2020-07-08 22:25:14,222 INFO L280 TraceCheckUtils]: 13: Hoare triple {5869#true} assume !(0 != #t~nondet3); {5869#true} is VALID [2020-07-08 22:25:14,222 INFO L280 TraceCheckUtils]: 14: Hoare triple {5869#true} havoc #t~nondet3; {5869#true} is VALID [2020-07-08 22:25:14,222 INFO L280 TraceCheckUtils]: 15: Hoare triple {5869#true} ~n~0.base, ~n~0.offset := 0, 0; {5869#true} is VALID [2020-07-08 22:25:14,223 INFO L280 TraceCheckUtils]: 16: Hoare triple {5869#true} havoc ~pred~0.base, ~pred~0.offset; {5869#true} is VALID [2020-07-08 22:25:14,223 INFO L280 TraceCheckUtils]: 17: Hoare triple {5869#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {5869#true} is VALID [2020-07-08 22:25:14,223 INFO L280 TraceCheckUtils]: 18: Hoare triple {5869#true} ~pred~0.base, ~pred~0.offset := 0, 0; {5869#true} is VALID [2020-07-08 22:25:14,223 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-08 22:25:14,223 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-08 22:25:14,224 INFO L280 TraceCheckUtils]: 21: Hoare triple {5869#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {5869#true} is VALID [2020-07-08 22:25:14,224 INFO L280 TraceCheckUtils]: 22: Hoare triple {5869#true} assume !#t~short24; {5869#true} is VALID [2020-07-08 22:25:14,224 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-08 22:25:14,224 INFO L280 TraceCheckUtils]: 24: Hoare triple {5869#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {5869#true} is VALID [2020-07-08 22:25:14,225 INFO L280 TraceCheckUtils]: 25: Hoare triple {5869#true} assume !#t~short24; {5869#true} is VALID [2020-07-08 22:25:14,225 INFO L280 TraceCheckUtils]: 26: Hoare triple {5869#true} havoc #t~mem23.base, #t~mem23.offset; {5869#true} is VALID [2020-07-08 22:25:14,225 INFO L280 TraceCheckUtils]: 27: Hoare triple {5869#true} havoc #t~short24; {5869#true} is VALID [2020-07-08 22:25:14,225 INFO L280 TraceCheckUtils]: 28: Hoare triple {5869#true} havoc #t~mem22.base, #t~mem22.offset; {5869#true} is VALID [2020-07-08 22:25:14,225 INFO L280 TraceCheckUtils]: 29: Hoare triple {5869#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {5869#true} is VALID [2020-07-08 22:25:14,226 INFO L280 TraceCheckUtils]: 30: Hoare triple {5869#true} ~root~0.base, ~root~0.offset := 0, 0; {5869#true} is VALID [2020-07-08 22:25:14,226 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-08 22:25:14,226 INFO L280 TraceCheckUtils]: 32: Hoare triple {5869#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {5869#true} is VALID [2020-07-08 22:25:14,226 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-08 22:25:14,227 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-08 22:25:14,227 INFO L280 TraceCheckUtils]: 35: Hoare triple {5869#true} assume !(~a~0.base == 0 && ~a~0.offset == 0); {5869#true} is VALID [2020-07-08 22:25:14,227 INFO L280 TraceCheckUtils]: 36: Hoare triple {5869#true} havoc ~t~0.base, ~t~0.offset; {5869#true} is VALID [2020-07-08 22:25:14,228 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-08 22:25:14,228 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-08 22:25:14,229 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-08 22:25:14,230 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-08 22:25:14,230 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-08 22:25:14,231 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-08 22:25:14,232 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-08 22:25:14,233 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-08 22:25:14,234 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-08 22:25:14,234 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-08 22:25:14,235 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-08 22:25:14,236 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-08 22:25:14,236 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-08 22:25:14,237 INFO L280 TraceCheckUtils]: 50: Hoare triple {5879#(= |main_#t~mem38| 3)} assume !!(1 == #t~mem38); {5870#false} is VALID [2020-07-08 22:25:14,237 INFO L280 TraceCheckUtils]: 51: Hoare triple {5870#false} havoc #t~mem38; {5870#false} is VALID [2020-07-08 22:25:14,238 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-08 22:25:14,238 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-08 22:25:14,238 INFO L280 TraceCheckUtils]: 54: Hoare triple {5870#false} havoc #t~mem39.base, #t~mem39.offset; {5870#false} is VALID [2020-07-08 22:25:14,238 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-08 22:25:14,238 INFO L280 TraceCheckUtils]: 56: Hoare triple {5870#false} assume !(1 == #t~mem38); {5870#false} is VALID [2020-07-08 22:25:14,239 INFO L280 TraceCheckUtils]: 57: Hoare triple {5870#false} havoc #t~mem38; {5870#false} is VALID [2020-07-08 22:25:14,239 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-08 22:25:14,239 INFO L280 TraceCheckUtils]: 59: Hoare triple {5870#false} assume 3 != #t~mem40; {5870#false} is VALID [2020-07-08 22:25:14,239 INFO L280 TraceCheckUtils]: 60: Hoare triple {5870#false} havoc #t~mem40; {5870#false} is VALID [2020-07-08 22:25:14,240 INFO L280 TraceCheckUtils]: 61: Hoare triple {5870#false} assume !false; {5870#false} is VALID [2020-07-08 22:25:14,243 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-08 22:25:14,244 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1572340795] [2020-07-08 22:25:14,244 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 22:25:14,244 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-08 22:25:14,245 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [754617949] [2020-07-08 22:25:14,245 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 62 [2020-07-08 22:25:14,245 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:25:14,246 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-08 22:25:14,301 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-08 22:25:14,301 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-08 22:25:14,301 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:25:14,302 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-08 22:25:14,302 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-08 22:25:14,302 INFO L87 Difference]: Start difference. First operand 215 states and 240 transitions. Second operand 7 states. [2020-07-08 22:25:15,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:15,848 INFO L93 Difference]: Finished difference Result 282 states and 309 transitions. [2020-07-08 22:25:15,849 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-08 22:25:15,849 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 62 [2020-07-08 22:25:15,849 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:25:15,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-08 22:25:15,859 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 268 transitions. [2020-07-08 22:25:15,860 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-08 22:25:15,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 268 transitions. [2020-07-08 22:25:15,876 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 268 transitions. [2020-07-08 22:25:16,140 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-08 22:25:16,146 INFO L225 Difference]: With dead ends: 282 [2020-07-08 22:25:16,146 INFO L226 Difference]: Without dead ends: 267 [2020-07-08 22:25:16,147 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-08 22:25:16,148 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 267 states. [2020-07-08 22:25:16,396 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 267 to 212. [2020-07-08 22:25:16,396 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:25:16,396 INFO L82 GeneralOperation]: Start isEquivalent. First operand 267 states. Second operand 212 states. [2020-07-08 22:25:16,396 INFO L74 IsIncluded]: Start isIncluded. First operand 267 states. Second operand 212 states. [2020-07-08 22:25:16,396 INFO L87 Difference]: Start difference. First operand 267 states. Second operand 212 states. [2020-07-08 22:25:16,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:16,406 INFO L93 Difference]: Finished difference Result 267 states and 293 transitions. [2020-07-08 22:25:16,406 INFO L276 IsEmpty]: Start isEmpty. Operand 267 states and 293 transitions. [2020-07-08 22:25:16,407 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:16,407 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:16,408 INFO L74 IsIncluded]: Start isIncluded. First operand 212 states. Second operand 267 states. [2020-07-08 22:25:16,408 INFO L87 Difference]: Start difference. First operand 212 states. Second operand 267 states. [2020-07-08 22:25:16,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:16,417 INFO L93 Difference]: Finished difference Result 267 states and 293 transitions. [2020-07-08 22:25:16,417 INFO L276 IsEmpty]: Start isEmpty. Operand 267 states and 293 transitions. [2020-07-08 22:25:16,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:16,418 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:16,418 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:25:16,418 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:25:16,419 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 212 states. [2020-07-08 22:25:16,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 236 transitions. [2020-07-08 22:25:16,426 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 236 transitions. Word has length 62 [2020-07-08 22:25:16,426 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:25:16,426 INFO L479 AbstractCegarLoop]: Abstraction has 212 states and 236 transitions. [2020-07-08 22:25:16,426 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-08 22:25:16,426 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 212 states and 236 transitions. [2020-07-08 22:25:16,716 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-08 22:25:16,717 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 236 transitions. [2020-07-08 22:25:16,718 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2020-07-08 22:25:16,718 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:25:16,719 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-08 22:25:16,719 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-08 22:25:16,719 INFO L427 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:25:16,719 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:25:16,720 INFO L82 PathProgramCache]: Analyzing trace with hash 1629716359, now seen corresponding path program 1 times [2020-07-08 22:25:16,720 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:25:16,720 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [103334653] [2020-07-08 22:25:16,720 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:25:16,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:16,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:16,843 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-08 22:25:16,843 INFO L280 TraceCheckUtils]: 1: Hoare triple {7409#true} #valid := #valid[0 := 0]; {7409#true} is VALID [2020-07-08 22:25:16,844 INFO L280 TraceCheckUtils]: 2: Hoare triple {7409#true} assume 0 < #StackHeapBarrier; {7409#true} is VALID [2020-07-08 22:25:16,844 INFO L280 TraceCheckUtils]: 3: Hoare triple {7409#true} assume true; {7409#true} is VALID [2020-07-08 22:25:16,844 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {7409#true} {7409#true} #349#return; {7409#true} is VALID [2020-07-08 22:25:16,846 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-08 22:25:16,846 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-08 22:25:16,846 INFO L280 TraceCheckUtils]: 2: Hoare triple {7409#true} #valid := #valid[0 := 0]; {7409#true} is VALID [2020-07-08 22:25:16,846 INFO L280 TraceCheckUtils]: 3: Hoare triple {7409#true} assume 0 < #StackHeapBarrier; {7409#true} is VALID [2020-07-08 22:25:16,847 INFO L280 TraceCheckUtils]: 4: Hoare triple {7409#true} assume true; {7409#true} is VALID [2020-07-08 22:25:16,847 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {7409#true} {7409#true} #349#return; {7409#true} is VALID [2020-07-08 22:25:16,847 INFO L263 TraceCheckUtils]: 6: Hoare triple {7409#true} call #t~ret41 := main(); {7409#true} is VALID [2020-07-08 22:25:16,848 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-08 22:25:16,848 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-08 22:25:16,848 INFO L280 TraceCheckUtils]: 9: Hoare triple {7409#true} havoc ~n~0.base, ~n~0.offset; {7409#true} is VALID [2020-07-08 22:25:16,848 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-08 22:25:16,849 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-08 22:25:16,849 INFO L280 TraceCheckUtils]: 12: Hoare triple {7409#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {7409#true} is VALID [2020-07-08 22:25:16,849 INFO L280 TraceCheckUtils]: 13: Hoare triple {7409#true} assume !(0 != #t~nondet3); {7409#true} is VALID [2020-07-08 22:25:16,849 INFO L280 TraceCheckUtils]: 14: Hoare triple {7409#true} havoc #t~nondet3; {7409#true} is VALID [2020-07-08 22:25:16,850 INFO L280 TraceCheckUtils]: 15: Hoare triple {7409#true} ~n~0.base, ~n~0.offset := 0, 0; {7409#true} is VALID [2020-07-08 22:25:16,850 INFO L280 TraceCheckUtils]: 16: Hoare triple {7409#true} havoc ~pred~0.base, ~pred~0.offset; {7409#true} is VALID [2020-07-08 22:25:16,850 INFO L280 TraceCheckUtils]: 17: Hoare triple {7409#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {7409#true} is VALID [2020-07-08 22:25:16,850 INFO L280 TraceCheckUtils]: 18: Hoare triple {7409#true} ~pred~0.base, ~pred~0.offset := 0, 0; {7409#true} is VALID [2020-07-08 22:25:16,851 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-08 22:25:16,851 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-08 22:25:16,851 INFO L280 TraceCheckUtils]: 21: Hoare triple {7409#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {7409#true} is VALID [2020-07-08 22:25:16,851 INFO L280 TraceCheckUtils]: 22: Hoare triple {7409#true} assume !#t~short24; {7409#true} is VALID [2020-07-08 22:25:16,852 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-08 22:25:16,852 INFO L280 TraceCheckUtils]: 24: Hoare triple {7409#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {7409#true} is VALID [2020-07-08 22:25:16,852 INFO L280 TraceCheckUtils]: 25: Hoare triple {7409#true} assume !#t~short24; {7409#true} is VALID [2020-07-08 22:25:16,852 INFO L280 TraceCheckUtils]: 26: Hoare triple {7409#true} havoc #t~mem23.base, #t~mem23.offset; {7409#true} is VALID [2020-07-08 22:25:16,853 INFO L280 TraceCheckUtils]: 27: Hoare triple {7409#true} havoc #t~short24; {7409#true} is VALID [2020-07-08 22:25:16,853 INFO L280 TraceCheckUtils]: 28: Hoare triple {7409#true} havoc #t~mem22.base, #t~mem22.offset; {7409#true} is VALID [2020-07-08 22:25:16,853 INFO L280 TraceCheckUtils]: 29: Hoare triple {7409#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {7409#true} is VALID [2020-07-08 22:25:16,854 INFO L280 TraceCheckUtils]: 30: Hoare triple {7409#true} ~root~0.base, ~root~0.offset := 0, 0; {7409#true} is VALID [2020-07-08 22:25:16,854 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-08 22:25:16,854 INFO L280 TraceCheckUtils]: 32: Hoare triple {7409#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {7409#true} is VALID [2020-07-08 22:25:16,854 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-08 22:25:16,855 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-08 22:25:16,855 INFO L280 TraceCheckUtils]: 35: Hoare triple {7409#true} assume !(~a~0.base == 0 && ~a~0.offset == 0); {7409#true} is VALID [2020-07-08 22:25:16,855 INFO L280 TraceCheckUtils]: 36: Hoare triple {7409#true} havoc ~t~0.base, ~t~0.offset; {7409#true} is VALID [2020-07-08 22:25:16,856 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-08 22:25:16,857 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-08 22:25:16,858 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-08 22:25:16,858 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-08 22:25:16,859 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-08 22:25:16,860 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-08 22:25:16,861 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-08 22:25:16,862 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-08 22:25:16,863 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-08 22:25:16,864 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-08 22:25:16,864 INFO L280 TraceCheckUtils]: 47: Hoare triple {7419#(= |main_#t~mem36| 3)} assume !!(2 == #t~mem36); {7410#false} is VALID [2020-07-08 22:25:16,865 INFO L280 TraceCheckUtils]: 48: Hoare triple {7410#false} havoc #t~mem36; {7410#false} is VALID [2020-07-08 22:25:16,865 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-08 22:25:16,865 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-08 22:25:16,866 INFO L280 TraceCheckUtils]: 51: Hoare triple {7410#false} havoc #t~mem37.base, #t~mem37.offset; {7410#false} is VALID [2020-07-08 22:25:16,866 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-08 22:25:16,866 INFO L280 TraceCheckUtils]: 53: Hoare triple {7410#false} assume !(2 == #t~mem36); {7410#false} is VALID [2020-07-08 22:25:16,866 INFO L280 TraceCheckUtils]: 54: Hoare triple {7410#false} havoc #t~mem36; {7410#false} is VALID [2020-07-08 22:25:16,867 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-08 22:25:16,867 INFO L280 TraceCheckUtils]: 56: Hoare triple {7410#false} assume !(1 == #t~mem38); {7410#false} is VALID [2020-07-08 22:25:16,867 INFO L280 TraceCheckUtils]: 57: Hoare triple {7410#false} havoc #t~mem38; {7410#false} is VALID [2020-07-08 22:25:16,867 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-08 22:25:16,868 INFO L280 TraceCheckUtils]: 59: Hoare triple {7410#false} assume 3 != #t~mem40; {7410#false} is VALID [2020-07-08 22:25:16,868 INFO L280 TraceCheckUtils]: 60: Hoare triple {7410#false} havoc #t~mem40; {7410#false} is VALID [2020-07-08 22:25:16,868 INFO L280 TraceCheckUtils]: 61: Hoare triple {7410#false} assume !false; {7410#false} is VALID [2020-07-08 22:25:16,874 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-08 22:25:16,874 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [103334653] [2020-07-08 22:25:16,874 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 22:25:16,874 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-08 22:25:16,875 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1492393907] [2020-07-08 22:25:16,875 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 62 [2020-07-08 22:25:16,876 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:25:16,876 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-08 22:25:16,955 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-08 22:25:16,955 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-08 22:25:16,956 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:25:16,956 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-08 22:25:16,956 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-08 22:25:16,956 INFO L87 Difference]: Start difference. First operand 212 states and 236 transitions. Second operand 7 states. [2020-07-08 22:25:18,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:18,399 INFO L93 Difference]: Finished difference Result 264 states and 290 transitions. [2020-07-08 22:25:18,399 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-08 22:25:18,400 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 62 [2020-07-08 22:25:18,400 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:25:18,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-08 22:25:18,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 249 transitions. [2020-07-08 22:25:18,403 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-08 22:25:18,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 249 transitions. [2020-07-08 22:25:18,405 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 249 transitions. [2020-07-08 22:25:18,665 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-08 22:25:18,670 INFO L225 Difference]: With dead ends: 264 [2020-07-08 22:25:18,670 INFO L226 Difference]: Without dead ends: 240 [2020-07-08 22:25:18,670 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-08 22:25:18,671 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 240 states. [2020-07-08 22:25:18,938 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 240 to 207. [2020-07-08 22:25:18,939 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:25:18,939 INFO L82 GeneralOperation]: Start isEquivalent. First operand 240 states. Second operand 207 states. [2020-07-08 22:25:18,939 INFO L74 IsIncluded]: Start isIncluded. First operand 240 states. Second operand 207 states. [2020-07-08 22:25:18,939 INFO L87 Difference]: Start difference. First operand 240 states. Second operand 207 states. [2020-07-08 22:25:18,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:18,946 INFO L93 Difference]: Finished difference Result 240 states and 264 transitions. [2020-07-08 22:25:18,947 INFO L276 IsEmpty]: Start isEmpty. Operand 240 states and 264 transitions. [2020-07-08 22:25:18,947 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:18,948 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:18,948 INFO L74 IsIncluded]: Start isIncluded. First operand 207 states. Second operand 240 states. [2020-07-08 22:25:18,948 INFO L87 Difference]: Start difference. First operand 207 states. Second operand 240 states. [2020-07-08 22:25:18,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:18,955 INFO L93 Difference]: Finished difference Result 240 states and 264 transitions. [2020-07-08 22:25:18,955 INFO L276 IsEmpty]: Start isEmpty. Operand 240 states and 264 transitions. [2020-07-08 22:25:18,956 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:18,956 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:18,956 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:25:18,956 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:25:18,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 207 states. [2020-07-08 22:25:18,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 207 states to 207 states and 230 transitions. [2020-07-08 22:25:18,961 INFO L78 Accepts]: Start accepts. Automaton has 207 states and 230 transitions. Word has length 62 [2020-07-08 22:25:18,961 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:25:18,962 INFO L479 AbstractCegarLoop]: Abstraction has 207 states and 230 transitions. [2020-07-08 22:25:18,962 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-08 22:25:18,962 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 207 states and 230 transitions. [2020-07-08 22:25:19,259 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-08 22:25:19,259 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 230 transitions. [2020-07-08 22:25:19,260 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2020-07-08 22:25:19,261 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:25:19,261 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-08 22:25:19,261 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-08 22:25:19,261 INFO L427 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:25:19,262 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:25:19,262 INFO L82 PathProgramCache]: Analyzing trace with hash 852438762, now seen corresponding path program 1 times [2020-07-08 22:25:19,262 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:25:19,262 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1903877055] [2020-07-08 22:25:19,262 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:25:19,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:19,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:19,620 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-08 22:25:19,620 INFO L280 TraceCheckUtils]: 1: Hoare triple {8849#true} #valid := #valid[0 := 0]; {8849#true} is VALID [2020-07-08 22:25:19,620 INFO L280 TraceCheckUtils]: 2: Hoare triple {8849#true} assume 0 < #StackHeapBarrier; {8849#true} is VALID [2020-07-08 22:25:19,621 INFO L280 TraceCheckUtils]: 3: Hoare triple {8849#true} assume true; {8849#true} is VALID [2020-07-08 22:25:19,621 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {8849#true} {8849#true} #349#return; {8849#true} is VALID [2020-07-08 22:25:19,622 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-08 22:25:19,622 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-08 22:25:19,622 INFO L280 TraceCheckUtils]: 2: Hoare triple {8849#true} #valid := #valid[0 := 0]; {8849#true} is VALID [2020-07-08 22:25:19,623 INFO L280 TraceCheckUtils]: 3: Hoare triple {8849#true} assume 0 < #StackHeapBarrier; {8849#true} is VALID [2020-07-08 22:25:19,623 INFO L280 TraceCheckUtils]: 4: Hoare triple {8849#true} assume true; {8849#true} is VALID [2020-07-08 22:25:19,623 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {8849#true} {8849#true} #349#return; {8849#true} is VALID [2020-07-08 22:25:19,623 INFO L263 TraceCheckUtils]: 6: Hoare triple {8849#true} call #t~ret41 := main(); {8849#true} is VALID [2020-07-08 22:25:19,624 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-08 22:25:19,624 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-08 22:25:19,624 INFO L280 TraceCheckUtils]: 9: Hoare triple {8849#true} havoc ~n~0.base, ~n~0.offset; {8849#true} is VALID [2020-07-08 22:25:19,624 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-08 22:25:19,624 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-08 22:25:19,625 INFO L280 TraceCheckUtils]: 12: Hoare triple {8849#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {8849#true} is VALID [2020-07-08 22:25:19,625 INFO L280 TraceCheckUtils]: 13: Hoare triple {8849#true} assume !(0 != #t~nondet3); {8849#true} is VALID [2020-07-08 22:25:19,625 INFO L280 TraceCheckUtils]: 14: Hoare triple {8849#true} havoc #t~nondet3; {8849#true} is VALID [2020-07-08 22:25:19,625 INFO L280 TraceCheckUtils]: 15: Hoare triple {8849#true} ~n~0.base, ~n~0.offset := 0, 0; {8849#true} is VALID [2020-07-08 22:25:19,625 INFO L280 TraceCheckUtils]: 16: Hoare triple {8849#true} havoc ~pred~0.base, ~pred~0.offset; {8849#true} is VALID [2020-07-08 22:25:19,626 INFO L280 TraceCheckUtils]: 17: Hoare triple {8849#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {8849#true} is VALID [2020-07-08 22:25:19,626 INFO L280 TraceCheckUtils]: 18: Hoare triple {8849#true} ~pred~0.base, ~pred~0.offset := 0, 0; {8849#true} is VALID [2020-07-08 22:25:19,626 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-08 22:25:19,626 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-08 22:25:19,626 INFO L280 TraceCheckUtils]: 21: Hoare triple {8849#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {8849#true} is VALID [2020-07-08 22:25:19,627 INFO L280 TraceCheckUtils]: 22: Hoare triple {8849#true} assume !#t~short24; {8849#true} is VALID [2020-07-08 22:25:19,627 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-08 22:25:19,627 INFO L280 TraceCheckUtils]: 24: Hoare triple {8849#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {8849#true} is VALID [2020-07-08 22:25:19,627 INFO L280 TraceCheckUtils]: 25: Hoare triple {8849#true} assume !#t~short24; {8849#true} is VALID [2020-07-08 22:25:19,627 INFO L280 TraceCheckUtils]: 26: Hoare triple {8849#true} havoc #t~mem23.base, #t~mem23.offset; {8849#true} is VALID [2020-07-08 22:25:19,628 INFO L280 TraceCheckUtils]: 27: Hoare triple {8849#true} havoc #t~short24; {8849#true} is VALID [2020-07-08 22:25:19,628 INFO L280 TraceCheckUtils]: 28: Hoare triple {8849#true} havoc #t~mem22.base, #t~mem22.offset; {8849#true} is VALID [2020-07-08 22:25:19,628 INFO L280 TraceCheckUtils]: 29: Hoare triple {8849#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {8849#true} is VALID [2020-07-08 22:25:19,628 INFO L280 TraceCheckUtils]: 30: Hoare triple {8849#true} ~root~0.base, ~root~0.offset := 0, 0; {8849#true} is VALID [2020-07-08 22:25:19,628 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-08 22:25:19,629 INFO L280 TraceCheckUtils]: 32: Hoare triple {8849#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {8849#true} is VALID [2020-07-08 22:25:19,631 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-08 22:25:19,635 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-08 22:25:19,636 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-08 22:25:19,636 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-08 22:25:19,637 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-08 22:25:19,638 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-08 22:25:19,638 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-08 22:25:19,639 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-08 22:25:19,640 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-08 22:25:19,641 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-08 22:25:19,641 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-08 22:25:19,642 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-08 22:25:19,644 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-08 22:25:19,644 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-08 22:25:19,645 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-08 22:25:19,647 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-08 22:25:19,648 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-08 22:25:19,648 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#(= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:19,649 INFO L280 TraceCheckUtils]: 51: Hoare triple {8864#(= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} havoc #t~mem35.base, #t~mem35.offset; {8864#(= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:19,650 INFO L280 TraceCheckUtils]: 52: Hoare triple {8864#(= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {8864#(= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:19,650 INFO L280 TraceCheckUtils]: 53: Hoare triple {8864#(= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} assume !(0 != #t~nondet33); {8864#(= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:19,651 INFO L280 TraceCheckUtils]: 54: Hoare triple {8864#(= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} havoc #t~nondet33; {8864#(= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:19,652 INFO L280 TraceCheckUtils]: 55: Hoare triple {8864#(= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) 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-08 22:25:19,652 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-08 22:25:19,653 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-08 22:25:19,654 INFO L280 TraceCheckUtils]: 58: Hoare triple {8867#(= |main_#t~mem36| 2)} assume !(2 == #t~mem36); {8850#false} is VALID [2020-07-08 22:25:19,654 INFO L280 TraceCheckUtils]: 59: Hoare triple {8850#false} havoc #t~mem36; {8850#false} is VALID [2020-07-08 22:25:19,654 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-08 22:25:19,654 INFO L280 TraceCheckUtils]: 61: Hoare triple {8850#false} assume !(1 == #t~mem38); {8850#false} is VALID [2020-07-08 22:25:19,654 INFO L280 TraceCheckUtils]: 62: Hoare triple {8850#false} havoc #t~mem38; {8850#false} is VALID [2020-07-08 22:25:19,655 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-08 22:25:19,655 INFO L280 TraceCheckUtils]: 64: Hoare triple {8850#false} assume 3 != #t~mem40; {8850#false} is VALID [2020-07-08 22:25:19,655 INFO L280 TraceCheckUtils]: 65: Hoare triple {8850#false} havoc #t~mem40; {8850#false} is VALID [2020-07-08 22:25:19,655 INFO L280 TraceCheckUtils]: 66: Hoare triple {8850#false} assume !false; {8850#false} is VALID [2020-07-08 22:25:19,664 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-08 22:25:19,665 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1903877055] [2020-07-08 22:25:19,665 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:25:19,665 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15] total 15 [2020-07-08 22:25:19,665 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2012479134] [2020-07-08 22:25:19,666 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 67 [2020-07-08 22:25:19,666 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:25:19,666 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2020-07-08 22:25:19,748 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-08 22:25:19,748 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2020-07-08 22:25:19,748 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:25:19,748 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2020-07-08 22:25:19,749 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2020-07-08 22:25:19,749 INFO L87 Difference]: Start difference. First operand 207 states and 230 transitions. Second operand 15 states. [2020-07-08 22:25:22,692 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:22,692 INFO L93 Difference]: Finished difference Result 289 states and 316 transitions. [2020-07-08 22:25:22,692 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2020-07-08 22:25:22,692 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 67 [2020-07-08 22:25:22,693 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:25:22,693 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-08 22:25:22,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 275 transitions. [2020-07-08 22:25:22,697 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-08 22:25:22,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 275 transitions. [2020-07-08 22:25:22,701 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 275 transitions. [2020-07-08 22:25:22,982 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 275 edges. 275 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:25:22,990 INFO L225 Difference]: With dead ends: 289 [2020-07-08 22:25:22,990 INFO L226 Difference]: Without dead ends: 276 [2020-07-08 22:25:22,992 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 126 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=212, Invalid=718, Unknown=0, NotChecked=0, Total=930 [2020-07-08 22:25:22,993 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 276 states. [2020-07-08 22:25:23,332 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 276 to 223. [2020-07-08 22:25:23,332 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:25:23,333 INFO L82 GeneralOperation]: Start isEquivalent. First operand 276 states. Second operand 223 states. [2020-07-08 22:25:23,333 INFO L74 IsIncluded]: Start isIncluded. First operand 276 states. Second operand 223 states. [2020-07-08 22:25:23,333 INFO L87 Difference]: Start difference. First operand 276 states. Second operand 223 states. [2020-07-08 22:25:23,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:23,342 INFO L93 Difference]: Finished difference Result 276 states and 302 transitions. [2020-07-08 22:25:23,342 INFO L276 IsEmpty]: Start isEmpty. Operand 276 states and 302 transitions. [2020-07-08 22:25:23,343 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:23,343 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:23,343 INFO L74 IsIncluded]: Start isIncluded. First operand 223 states. Second operand 276 states. [2020-07-08 22:25:23,344 INFO L87 Difference]: Start difference. First operand 223 states. Second operand 276 states. [2020-07-08 22:25:23,353 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:23,353 INFO L93 Difference]: Finished difference Result 276 states and 302 transitions. [2020-07-08 22:25:23,354 INFO L276 IsEmpty]: Start isEmpty. Operand 276 states and 302 transitions. [2020-07-08 22:25:23,354 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:23,355 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:23,355 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:25:23,355 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:25:23,355 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 223 states. [2020-07-08 22:25:23,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 223 states to 223 states and 247 transitions. [2020-07-08 22:25:23,362 INFO L78 Accepts]: Start accepts. Automaton has 223 states and 247 transitions. Word has length 67 [2020-07-08 22:25:23,362 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:25:23,362 INFO L479 AbstractCegarLoop]: Abstraction has 223 states and 247 transitions. [2020-07-08 22:25:23,362 INFO L480 AbstractCegarLoop]: Interpolant automaton has 15 states. [2020-07-08 22:25:23,363 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 223 states and 247 transitions. [2020-07-08 22:25:23,772 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-08 22:25:23,772 INFO L276 IsEmpty]: Start isEmpty. Operand 223 states and 247 transitions. [2020-07-08 22:25:23,774 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2020-07-08 22:25:23,774 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:25:23,774 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-08 22:25:23,774 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-08 22:25:23,775 INFO L427 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:25:23,775 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:25:23,775 INFO L82 PathProgramCache]: Analyzing trace with hash -1742912072, now seen corresponding path program 1 times [2020-07-08 22:25:23,775 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:25:23,776 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [463736269] [2020-07-08 22:25:23,776 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:25:23,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:24,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:24,254 INFO L280 TraceCheckUtils]: 0: Hoare triple {10498#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {10479#true} is VALID [2020-07-08 22:25:24,254 INFO L280 TraceCheckUtils]: 1: Hoare triple {10479#true} #valid := #valid[0 := 0]; {10479#true} is VALID [2020-07-08 22:25:24,255 INFO L280 TraceCheckUtils]: 2: Hoare triple {10479#true} assume 0 < #StackHeapBarrier; {10479#true} is VALID [2020-07-08 22:25:24,255 INFO L280 TraceCheckUtils]: 3: Hoare triple {10479#true} assume true; {10479#true} is VALID [2020-07-08 22:25:24,255 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {10479#true} {10479#true} #349#return; {10479#true} is VALID [2020-07-08 22:25:24,257 INFO L263 TraceCheckUtils]: 0: Hoare triple {10479#true} call ULTIMATE.init(); {10498#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 22:25:24,257 INFO L280 TraceCheckUtils]: 1: Hoare triple {10498#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {10479#true} is VALID [2020-07-08 22:25:24,258 INFO L280 TraceCheckUtils]: 2: Hoare triple {10479#true} #valid := #valid[0 := 0]; {10479#true} is VALID [2020-07-08 22:25:24,258 INFO L280 TraceCheckUtils]: 3: Hoare triple {10479#true} assume 0 < #StackHeapBarrier; {10479#true} is VALID [2020-07-08 22:25:24,259 INFO L280 TraceCheckUtils]: 4: Hoare triple {10479#true} assume true; {10479#true} is VALID [2020-07-08 22:25:24,259 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {10479#true} {10479#true} #349#return; {10479#true} is VALID [2020-07-08 22:25:24,259 INFO L263 TraceCheckUtils]: 6: Hoare triple {10479#true} call #t~ret41 := main(); {10479#true} is VALID [2020-07-08 22:25:24,260 INFO L280 TraceCheckUtils]: 7: Hoare triple {10479#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {10479#true} is VALID [2020-07-08 22:25:24,260 INFO L280 TraceCheckUtils]: 8: Hoare triple {10479#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {10479#true} is VALID [2020-07-08 22:25:24,260 INFO L280 TraceCheckUtils]: 9: Hoare triple {10479#true} havoc ~n~0.base, ~n~0.offset; {10479#true} is VALID [2020-07-08 22:25:24,261 INFO L280 TraceCheckUtils]: 10: Hoare triple {10479#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {10479#true} is VALID [2020-07-08 22:25:24,262 INFO L280 TraceCheckUtils]: 11: Hoare triple {10479#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {10479#true} is VALID [2020-07-08 22:25:24,262 INFO L280 TraceCheckUtils]: 12: Hoare triple {10479#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {10479#true} is VALID [2020-07-08 22:25:24,262 INFO L280 TraceCheckUtils]: 13: Hoare triple {10479#true} assume !(0 != #t~nondet3); {10479#true} is VALID [2020-07-08 22:25:24,263 INFO L280 TraceCheckUtils]: 14: Hoare triple {10479#true} havoc #t~nondet3; {10479#true} is VALID [2020-07-08 22:25:24,263 INFO L280 TraceCheckUtils]: 15: Hoare triple {10479#true} ~n~0.base, ~n~0.offset := 0, 0; {10479#true} is VALID [2020-07-08 22:25:24,263 INFO L280 TraceCheckUtils]: 16: Hoare triple {10479#true} havoc ~pred~0.base, ~pred~0.offset; {10479#true} is VALID [2020-07-08 22:25:24,264 INFO L280 TraceCheckUtils]: 17: Hoare triple {10479#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {10479#true} is VALID [2020-07-08 22:25:24,264 INFO L280 TraceCheckUtils]: 18: Hoare triple {10479#true} ~pred~0.base, ~pred~0.offset := 0, 0; {10479#true} is VALID [2020-07-08 22:25:24,265 INFO L280 TraceCheckUtils]: 19: Hoare triple {10479#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {10479#true} is VALID [2020-07-08 22:25:24,265 INFO L280 TraceCheckUtils]: 20: Hoare triple {10479#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {10479#true} is VALID [2020-07-08 22:25:24,265 INFO L280 TraceCheckUtils]: 21: Hoare triple {10479#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {10479#true} is VALID [2020-07-08 22:25:24,266 INFO L280 TraceCheckUtils]: 22: Hoare triple {10479#true} assume !#t~short24; {10479#true} is VALID [2020-07-08 22:25:24,266 INFO L280 TraceCheckUtils]: 23: Hoare triple {10479#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {10479#true} is VALID [2020-07-08 22:25:24,267 INFO L280 TraceCheckUtils]: 24: Hoare triple {10479#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {10479#true} is VALID [2020-07-08 22:25:24,267 INFO L280 TraceCheckUtils]: 25: Hoare triple {10479#true} assume !#t~short24; {10479#true} is VALID [2020-07-08 22:25:24,268 INFO L280 TraceCheckUtils]: 26: Hoare triple {10479#true} havoc #t~mem23.base, #t~mem23.offset; {10479#true} is VALID [2020-07-08 22:25:24,268 INFO L280 TraceCheckUtils]: 27: Hoare triple {10479#true} havoc #t~short24; {10479#true} is VALID [2020-07-08 22:25:24,268 INFO L280 TraceCheckUtils]: 28: Hoare triple {10479#true} havoc #t~mem22.base, #t~mem22.offset; {10479#true} is VALID [2020-07-08 22:25:24,269 INFO L280 TraceCheckUtils]: 29: Hoare triple {10479#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {10479#true} is VALID [2020-07-08 22:25:24,269 INFO L280 TraceCheckUtils]: 30: Hoare triple {10479#true} ~root~0.base, ~root~0.offset := 0, 0; {10479#true} is VALID [2020-07-08 22:25:24,269 INFO L280 TraceCheckUtils]: 31: Hoare triple {10479#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {10479#true} is VALID [2020-07-08 22:25:24,270 INFO L280 TraceCheckUtils]: 32: Hoare triple {10479#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {10479#true} is VALID [2020-07-08 22:25:24,272 INFO L280 TraceCheckUtils]: 33: Hoare triple {10479#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {10486#(= 1 (select |#valid| |main_#t~malloc29.base|))} is VALID [2020-07-08 22:25:24,273 INFO L280 TraceCheckUtils]: 34: Hoare triple {10486#(= 1 (select |#valid| |main_#t~malloc29.base|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {10487#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-08 22:25:24,274 INFO L280 TraceCheckUtils]: 35: Hoare triple {10487#(= 1 (select |#valid| main_~a~0.base))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {10487#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-08 22:25:24,275 INFO L280 TraceCheckUtils]: 36: Hoare triple {10487#(= 1 (select |#valid| main_~a~0.base))} havoc ~t~0.base, ~t~0.offset; {10487#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-08 22:25:24,276 INFO L280 TraceCheckUtils]: 37: Hoare triple {10487#(= 1 (select |#valid| main_~a~0.base))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {10488#(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-08 22:25:24,278 INFO L280 TraceCheckUtils]: 38: Hoare triple {10488#(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; {10488#(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-08 22:25:24,279 INFO L280 TraceCheckUtils]: 39: Hoare triple {10488#(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); {10488#(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-08 22:25:24,280 INFO L280 TraceCheckUtils]: 40: Hoare triple {10488#(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; {10488#(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-08 22:25:24,282 INFO L280 TraceCheckUtils]: 41: Hoare triple {10488#(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 {10489#(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-08 22:25:24,284 INFO L280 TraceCheckUtils]: 42: Hoare triple {10489#(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 {10490#(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-08 22:25:24,285 INFO L280 TraceCheckUtils]: 43: Hoare triple {10490#(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; {10491#(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-08 22:25:24,286 INFO L280 TraceCheckUtils]: 44: Hoare triple {10491#(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); {10491#(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-08 22:25:24,289 INFO L280 TraceCheckUtils]: 45: Hoare triple {10491#(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 {10492#(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-08 22:25:24,300 INFO L280 TraceCheckUtils]: 46: Hoare triple {10492#(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 {10493#(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-08 22:25:24,303 INFO L280 TraceCheckUtils]: 47: Hoare triple {10493#(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; {10494#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:24,304 INFO L280 TraceCheckUtils]: 48: Hoare triple {10494#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} havoc #t~mem32.base, #t~mem32.offset; {10494#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:24,305 INFO L280 TraceCheckUtils]: 49: Hoare triple {10494#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {10494#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:24,306 INFO L280 TraceCheckUtils]: 50: Hoare triple {10494#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} assume !(0 != #t~nondet30); {10494#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:24,307 INFO L280 TraceCheckUtils]: 51: Hoare triple {10494#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} havoc #t~nondet30; {10494#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:24,308 INFO L280 TraceCheckUtils]: 52: Hoare triple {10494#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {10494#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:24,309 INFO L280 TraceCheckUtils]: 53: Hoare triple {10494#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} assume !(0 != #t~nondet33); {10494#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:24,309 INFO L280 TraceCheckUtils]: 54: Hoare triple {10494#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} havoc #t~nondet33; {10494#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:24,311 INFO L280 TraceCheckUtils]: 55: Hoare triple {10494#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {10495#(= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:24,312 INFO L280 TraceCheckUtils]: 56: Hoare triple {10495#(= 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; {10496#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:24,313 INFO L280 TraceCheckUtils]: 57: Hoare triple {10496#(= 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 {10496#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:24,314 INFO L280 TraceCheckUtils]: 58: Hoare triple {10496#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(2 == #t~mem36); {10496#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:24,314 INFO L280 TraceCheckUtils]: 59: Hoare triple {10496#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem36; {10496#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:24,315 INFO L280 TraceCheckUtils]: 60: Hoare triple {10496#(= 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 {10497#(= |main_#t~mem38| 1)} is VALID [2020-07-08 22:25:24,316 INFO L280 TraceCheckUtils]: 61: Hoare triple {10497#(= |main_#t~mem38| 1)} assume !(1 == #t~mem38); {10480#false} is VALID [2020-07-08 22:25:24,317 INFO L280 TraceCheckUtils]: 62: Hoare triple {10480#false} havoc #t~mem38; {10480#false} is VALID [2020-07-08 22:25:24,317 INFO L280 TraceCheckUtils]: 63: Hoare triple {10480#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {10480#false} is VALID [2020-07-08 22:25:24,317 INFO L280 TraceCheckUtils]: 64: Hoare triple {10480#false} assume 3 != #t~mem40; {10480#false} is VALID [2020-07-08 22:25:24,317 INFO L280 TraceCheckUtils]: 65: Hoare triple {10480#false} havoc #t~mem40; {10480#false} is VALID [2020-07-08 22:25:24,318 INFO L280 TraceCheckUtils]: 66: Hoare triple {10480#false} assume !false; {10480#false} is VALID [2020-07-08 22:25:24,335 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-08 22:25:24,335 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [463736269] [2020-07-08 22:25:24,336 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:25:24,336 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15] total 15 [2020-07-08 22:25:24,336 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1599028773] [2020-07-08 22:25:24,337 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 67 [2020-07-08 22:25:24,337 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:25:24,338 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2020-07-08 22:25:24,446 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-08 22:25:24,446 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2020-07-08 22:25:24,446 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:25:24,446 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2020-07-08 22:25:24,447 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2020-07-08 22:25:24,447 INFO L87 Difference]: Start difference. First operand 223 states and 247 transitions. Second operand 15 states. [2020-07-08 22:25:28,540 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:28,540 INFO L93 Difference]: Finished difference Result 305 states and 334 transitions. [2020-07-08 22:25:28,540 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2020-07-08 22:25:28,540 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 67 [2020-07-08 22:25:28,541 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:25:28,541 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-08 22:25:28,548 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 284 transitions. [2020-07-08 22:25:28,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-08 22:25:28,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 284 transitions. [2020-07-08 22:25:28,555 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 284 transitions. [2020-07-08 22:25:28,920 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 284 edges. 284 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:25:28,929 INFO L225 Difference]: With dead ends: 305 [2020-07-08 22:25:28,929 INFO L226 Difference]: Without dead ends: 299 [2020-07-08 22:25:28,930 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=212, Invalid=718, Unknown=0, NotChecked=0, Total=930 [2020-07-08 22:25:28,931 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 299 states. [2020-07-08 22:25:29,442 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 299 to 245. [2020-07-08 22:25:29,442 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:25:29,442 INFO L82 GeneralOperation]: Start isEquivalent. First operand 299 states. Second operand 245 states. [2020-07-08 22:25:29,443 INFO L74 IsIncluded]: Start isIncluded. First operand 299 states. Second operand 245 states. [2020-07-08 22:25:29,443 INFO L87 Difference]: Start difference. First operand 299 states. Second operand 245 states. [2020-07-08 22:25:29,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:29,454 INFO L93 Difference]: Finished difference Result 299 states and 328 transitions. [2020-07-08 22:25:29,454 INFO L276 IsEmpty]: Start isEmpty. Operand 299 states and 328 transitions. [2020-07-08 22:25:29,455 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:29,455 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:29,456 INFO L74 IsIncluded]: Start isIncluded. First operand 245 states. Second operand 299 states. [2020-07-08 22:25:29,456 INFO L87 Difference]: Start difference. First operand 245 states. Second operand 299 states. [2020-07-08 22:25:29,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:29,467 INFO L93 Difference]: Finished difference Result 299 states and 328 transitions. [2020-07-08 22:25:29,467 INFO L276 IsEmpty]: Start isEmpty. Operand 299 states and 328 transitions. [2020-07-08 22:25:29,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:29,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:29,468 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:25:29,469 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:25:29,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 245 states. [2020-07-08 22:25:29,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 245 states to 245 states and 272 transitions. [2020-07-08 22:25:29,478 INFO L78 Accepts]: Start accepts. Automaton has 245 states and 272 transitions. Word has length 67 [2020-07-08 22:25:29,478 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:25:29,478 INFO L479 AbstractCegarLoop]: Abstraction has 245 states and 272 transitions. [2020-07-08 22:25:29,478 INFO L480 AbstractCegarLoop]: Interpolant automaton has 15 states. [2020-07-08 22:25:29,478 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 245 states and 272 transitions. [2020-07-08 22:25:29,844 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-08 22:25:29,844 INFO L276 IsEmpty]: Start isEmpty. Operand 245 states and 272 transitions. [2020-07-08 22:25:29,845 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2020-07-08 22:25:29,845 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:25:29,846 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-08 22:25:29,846 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-08 22:25:29,846 INFO L427 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:25:29,846 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:25:29,846 INFO L82 PathProgramCache]: Analyzing trace with hash -838472334, now seen corresponding path program 1 times [2020-07-08 22:25:29,847 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:25:29,847 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1554156548] [2020-07-08 22:25:29,847 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:25:29,894 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:30,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:30,458 INFO L280 TraceCheckUtils]: 0: Hoare triple {12253#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {12231#true} is VALID [2020-07-08 22:25:30,458 INFO L280 TraceCheckUtils]: 1: Hoare triple {12231#true} #valid := #valid[0 := 0]; {12231#true} is VALID [2020-07-08 22:25:30,458 INFO L280 TraceCheckUtils]: 2: Hoare triple {12231#true} assume 0 < #StackHeapBarrier; {12231#true} is VALID [2020-07-08 22:25:30,458 INFO L280 TraceCheckUtils]: 3: Hoare triple {12231#true} assume true; {12231#true} is VALID [2020-07-08 22:25:30,459 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {12231#true} {12231#true} #349#return; {12231#true} is VALID [2020-07-08 22:25:30,459 INFO L263 TraceCheckUtils]: 0: Hoare triple {12231#true} call ULTIMATE.init(); {12253#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 22:25:30,459 INFO L280 TraceCheckUtils]: 1: Hoare triple {12253#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {12231#true} is VALID [2020-07-08 22:25:30,460 INFO L280 TraceCheckUtils]: 2: Hoare triple {12231#true} #valid := #valid[0 := 0]; {12231#true} is VALID [2020-07-08 22:25:30,460 INFO L280 TraceCheckUtils]: 3: Hoare triple {12231#true} assume 0 < #StackHeapBarrier; {12231#true} is VALID [2020-07-08 22:25:30,460 INFO L280 TraceCheckUtils]: 4: Hoare triple {12231#true} assume true; {12231#true} is VALID [2020-07-08 22:25:30,460 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {12231#true} {12231#true} #349#return; {12231#true} is VALID [2020-07-08 22:25:30,460 INFO L263 TraceCheckUtils]: 6: Hoare triple {12231#true} call #t~ret41 := main(); {12231#true} is VALID [2020-07-08 22:25:30,460 INFO L280 TraceCheckUtils]: 7: Hoare triple {12231#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {12238#(= 0 |main_#t~malloc2.offset|)} is VALID [2020-07-08 22:25:30,461 INFO L280 TraceCheckUtils]: 8: Hoare triple {12238#(= 0 |main_#t~malloc2.offset|)} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {12239#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:30,461 INFO L280 TraceCheckUtils]: 9: Hoare triple {12239#(= 0 main_~root~0.offset)} havoc ~n~0.base, ~n~0.offset; {12239#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:30,462 INFO L280 TraceCheckUtils]: 10: Hoare triple {12239#(= 0 main_~root~0.offset)} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {12239#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:30,462 INFO L280 TraceCheckUtils]: 11: Hoare triple {12239#(= 0 main_~root~0.offset)} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {12239#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:30,463 INFO L280 TraceCheckUtils]: 12: Hoare triple {12239#(= 0 main_~root~0.offset)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {12239#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:30,463 INFO L280 TraceCheckUtils]: 13: Hoare triple {12239#(= 0 main_~root~0.offset)} assume !(0 != #t~nondet3); {12239#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:30,463 INFO L280 TraceCheckUtils]: 14: Hoare triple {12239#(= 0 main_~root~0.offset)} havoc #t~nondet3; {12239#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:30,464 INFO L280 TraceCheckUtils]: 15: Hoare triple {12239#(= 0 main_~root~0.offset)} ~n~0.base, ~n~0.offset := 0, 0; {12239#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:30,464 INFO L280 TraceCheckUtils]: 16: Hoare triple {12239#(= 0 main_~root~0.offset)} havoc ~pred~0.base, ~pred~0.offset; {12239#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:30,465 INFO L280 TraceCheckUtils]: 17: Hoare triple {12239#(= 0 main_~root~0.offset)} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {12239#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:30,465 INFO L280 TraceCheckUtils]: 18: Hoare triple {12239#(= 0 main_~root~0.offset)} ~pred~0.base, ~pred~0.offset := 0, 0; {12239#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:30,466 INFO L280 TraceCheckUtils]: 19: Hoare triple {12239#(= 0 main_~root~0.offset)} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {12231#true} is VALID [2020-07-08 22:25:30,466 INFO L280 TraceCheckUtils]: 20: Hoare triple {12231#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {12231#true} is VALID [2020-07-08 22:25:30,466 INFO L280 TraceCheckUtils]: 21: Hoare triple {12231#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {12231#true} is VALID [2020-07-08 22:25:30,466 INFO L280 TraceCheckUtils]: 22: Hoare triple {12231#true} assume !#t~short24; {12231#true} is VALID [2020-07-08 22:25:30,467 INFO L280 TraceCheckUtils]: 23: Hoare triple {12231#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {12231#true} is VALID [2020-07-08 22:25:30,467 INFO L280 TraceCheckUtils]: 24: Hoare triple {12231#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {12231#true} is VALID [2020-07-08 22:25:30,467 INFO L280 TraceCheckUtils]: 25: Hoare triple {12231#true} assume !#t~short24; {12231#true} is VALID [2020-07-08 22:25:30,468 INFO L280 TraceCheckUtils]: 26: Hoare triple {12231#true} havoc #t~mem23.base, #t~mem23.offset; {12231#true} is VALID [2020-07-08 22:25:30,468 INFO L280 TraceCheckUtils]: 27: Hoare triple {12231#true} havoc #t~short24; {12231#true} is VALID [2020-07-08 22:25:30,468 INFO L280 TraceCheckUtils]: 28: Hoare triple {12231#true} havoc #t~mem22.base, #t~mem22.offset; {12231#true} is VALID [2020-07-08 22:25:30,468 INFO L280 TraceCheckUtils]: 29: Hoare triple {12231#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {12231#true} is VALID [2020-07-08 22:25:30,469 INFO L280 TraceCheckUtils]: 30: Hoare triple {12231#true} ~root~0.base, ~root~0.offset := 0, 0; {12231#true} is VALID [2020-07-08 22:25:30,469 INFO L280 TraceCheckUtils]: 31: Hoare triple {12231#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {12231#true} is VALID [2020-07-08 22:25:30,469 INFO L280 TraceCheckUtils]: 32: Hoare triple {12231#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {12231#true} is VALID [2020-07-08 22:25:30,472 INFO L280 TraceCheckUtils]: 33: Hoare triple {12231#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {12240#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-08 22:25:30,476 INFO L280 TraceCheckUtils]: 34: Hoare triple {12240#(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; {12241#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:25:30,477 INFO L280 TraceCheckUtils]: 35: Hoare triple {12241#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {12241#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:25:30,477 INFO L280 TraceCheckUtils]: 36: Hoare triple {12241#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {12241#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:25:30,480 INFO L280 TraceCheckUtils]: 37: Hoare triple {12241#(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; {12242#(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-08 22:25:30,488 INFO L280 TraceCheckUtils]: 38: Hoare triple {12242#(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; {12242#(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-08 22:25:30,488 INFO L280 TraceCheckUtils]: 39: Hoare triple {12242#(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); {12242#(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-08 22:25:30,489 INFO L280 TraceCheckUtils]: 40: Hoare triple {12242#(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; {12242#(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-08 22:25:30,489 INFO L280 TraceCheckUtils]: 41: Hoare triple {12242#(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; {12242#(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-08 22:25:30,490 INFO L280 TraceCheckUtils]: 42: Hoare triple {12242#(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); {12242#(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-08 22:25:30,490 INFO L280 TraceCheckUtils]: 43: Hoare triple {12242#(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; {12242#(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-08 22:25:30,491 INFO L280 TraceCheckUtils]: 44: Hoare triple {12242#(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 {12242#(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-08 22:25:30,492 INFO L280 TraceCheckUtils]: 45: Hoare triple {12242#(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 {12243#(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-08 22:25:30,492 INFO L280 TraceCheckUtils]: 46: Hoare triple {12243#(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; {12244#(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-08 22:25:30,493 INFO L280 TraceCheckUtils]: 47: Hoare triple {12244#(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); {12244#(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-08 22:25:30,494 INFO L280 TraceCheckUtils]: 48: Hoare triple {12244#(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 {12245#(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-08 22:25:30,495 INFO L280 TraceCheckUtils]: 49: Hoare triple {12245#(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 {12246#(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-08 22:25:30,495 INFO L280 TraceCheckUtils]: 50: Hoare triple {12246#(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; {12247#(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-08 22:25:30,496 INFO L280 TraceCheckUtils]: 51: Hoare triple {12247#(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; {12247#(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-08 22:25:30,496 INFO L280 TraceCheckUtils]: 52: Hoare triple {12247#(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; {12247#(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-08 22:25:30,497 INFO L280 TraceCheckUtils]: 53: Hoare triple {12247#(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); {12247#(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-08 22:25:30,497 INFO L280 TraceCheckUtils]: 54: Hoare triple {12247#(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; {12247#(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-08 22:25:30,498 INFO L280 TraceCheckUtils]: 55: Hoare triple {12247#(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 {12248#(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-08 22:25:30,499 INFO L280 TraceCheckUtils]: 56: Hoare triple {12248#(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; {12249#(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-08 22:25:30,499 INFO L280 TraceCheckUtils]: 57: Hoare triple {12249#(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 {12249#(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-08 22:25:30,500 INFO L280 TraceCheckUtils]: 58: Hoare triple {12249#(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); {12249#(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-08 22:25:30,501 INFO L280 TraceCheckUtils]: 59: Hoare triple {12249#(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; {12249#(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-08 22:25:30,502 INFO L280 TraceCheckUtils]: 60: Hoare triple {12249#(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 {12250#(= 3 (select (select |#memory_int| |main_#t~mem37.base|) |main_#t~mem37.offset|))} is VALID [2020-07-08 22:25:30,502 INFO L280 TraceCheckUtils]: 61: Hoare triple {12250#(= 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; {12251#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:30,503 INFO L280 TraceCheckUtils]: 62: Hoare triple {12251#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem37.base, #t~mem37.offset; {12251#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:30,503 INFO L280 TraceCheckUtils]: 63: Hoare triple {12251#(= 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 {12251#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:30,503 INFO L280 TraceCheckUtils]: 64: Hoare triple {12251#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(2 == #t~mem36); {12251#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:30,504 INFO L280 TraceCheckUtils]: 65: Hoare triple {12251#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem36; {12251#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:30,504 INFO L280 TraceCheckUtils]: 66: Hoare triple {12251#(= 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 {12251#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:30,504 INFO L280 TraceCheckUtils]: 67: Hoare triple {12251#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(1 == #t~mem38); {12251#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:30,505 INFO L280 TraceCheckUtils]: 68: Hoare triple {12251#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem38; {12251#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:30,505 INFO L280 TraceCheckUtils]: 69: Hoare triple {12251#(= 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 {12252#(= |main_#t~mem40| 3)} is VALID [2020-07-08 22:25:30,506 INFO L280 TraceCheckUtils]: 70: Hoare triple {12252#(= |main_#t~mem40| 3)} assume 3 != #t~mem40; {12232#false} is VALID [2020-07-08 22:25:30,506 INFO L280 TraceCheckUtils]: 71: Hoare triple {12232#false} havoc #t~mem40; {12232#false} is VALID [2020-07-08 22:25:30,506 INFO L280 TraceCheckUtils]: 72: Hoare triple {12232#false} assume !false; {12232#false} is VALID [2020-07-08 22:25:30,516 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 22:25:30,516 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1554156548] [2020-07-08 22:25:30,516 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:25:30,516 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18] total 18 [2020-07-08 22:25:30,517 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [651548842] [2020-07-08 22:25:30,517 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 73 [2020-07-08 22:25:30,517 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:25:30,518 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-08 22:25:30,601 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-08 22:25:30,602 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-08 22:25:30,602 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:25:30,602 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-08 22:25:30,603 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=272, Unknown=0, NotChecked=0, Total=306 [2020-07-08 22:25:30,603 INFO L87 Difference]: Start difference. First operand 245 states and 272 transitions. Second operand 18 states. [2020-07-08 22:25:36,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:36,690 INFO L93 Difference]: Finished difference Result 310 states and 340 transitions. [2020-07-08 22:25:36,690 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2020-07-08 22:25:36,690 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 73 [2020-07-08 22:25:36,691 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:25:36,691 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-08 22:25:36,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 282 transitions. [2020-07-08 22:25:36,694 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-08 22:25:36,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 282 transitions. [2020-07-08 22:25:36,696 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 282 transitions. [2020-07-08 22:25:37,054 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-08 22:25:37,060 INFO L225 Difference]: With dead ends: 310 [2020-07-08 22:25:37,060 INFO L226 Difference]: Without dead ends: 304 [2020-07-08 22:25:37,061 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 5 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 101 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=255, Invalid=1005, Unknown=0, NotChecked=0, Total=1260 [2020-07-08 22:25:37,062 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 304 states. [2020-07-08 22:25:37,832 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 304 to 249. [2020-07-08 22:25:37,833 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:25:37,833 INFO L82 GeneralOperation]: Start isEquivalent. First operand 304 states. Second operand 249 states. [2020-07-08 22:25:37,833 INFO L74 IsIncluded]: Start isIncluded. First operand 304 states. Second operand 249 states. [2020-07-08 22:25:37,833 INFO L87 Difference]: Start difference. First operand 304 states. Second operand 249 states. [2020-07-08 22:25:37,843 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:37,844 INFO L93 Difference]: Finished difference Result 304 states and 334 transitions. [2020-07-08 22:25:37,844 INFO L276 IsEmpty]: Start isEmpty. Operand 304 states and 334 transitions. [2020-07-08 22:25:37,844 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:37,845 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:37,845 INFO L74 IsIncluded]: Start isIncluded. First operand 249 states. Second operand 304 states. [2020-07-08 22:25:37,845 INFO L87 Difference]: Start difference. First operand 249 states. Second operand 304 states. [2020-07-08 22:25:37,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:37,855 INFO L93 Difference]: Finished difference Result 304 states and 334 transitions. [2020-07-08 22:25:37,855 INFO L276 IsEmpty]: Start isEmpty. Operand 304 states and 334 transitions. [2020-07-08 22:25:37,856 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:37,856 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:37,856 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:25:37,857 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:25:37,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 249 states. [2020-07-08 22:25:37,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 249 states to 249 states and 276 transitions. [2020-07-08 22:25:37,863 INFO L78 Accepts]: Start accepts. Automaton has 249 states and 276 transitions. Word has length 73 [2020-07-08 22:25:37,864 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:25:37,864 INFO L479 AbstractCegarLoop]: Abstraction has 249 states and 276 transitions. [2020-07-08 22:25:37,864 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-08 22:25:37,864 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 249 states and 276 transitions. [2020-07-08 22:25:38,322 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-08 22:25:38,322 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 276 transitions. [2020-07-08 22:25:38,323 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2020-07-08 22:25:38,325 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:25:38,325 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-08 22:25:38,325 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-08 22:25:38,326 INFO L427 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:25:38,326 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:25:38,326 INFO L82 PathProgramCache]: Analyzing trace with hash -1654345840, now seen corresponding path program 1 times [2020-07-08 22:25:38,326 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:25:38,326 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [316567491] [2020-07-08 22:25:38,326 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:25:38,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:38,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:38,882 INFO L280 TraceCheckUtils]: 0: Hoare triple {14041#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {14019#true} is VALID [2020-07-08 22:25:38,883 INFO L280 TraceCheckUtils]: 1: Hoare triple {14019#true} #valid := #valid[0 := 0]; {14019#true} is VALID [2020-07-08 22:25:38,883 INFO L280 TraceCheckUtils]: 2: Hoare triple {14019#true} assume 0 < #StackHeapBarrier; {14019#true} is VALID [2020-07-08 22:25:38,883 INFO L280 TraceCheckUtils]: 3: Hoare triple {14019#true} assume true; {14019#true} is VALID [2020-07-08 22:25:38,883 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {14019#true} {14019#true} #349#return; {14019#true} is VALID [2020-07-08 22:25:38,884 INFO L263 TraceCheckUtils]: 0: Hoare triple {14019#true} call ULTIMATE.init(); {14041#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 22:25:38,884 INFO L280 TraceCheckUtils]: 1: Hoare triple {14041#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {14019#true} is VALID [2020-07-08 22:25:38,884 INFO L280 TraceCheckUtils]: 2: Hoare triple {14019#true} #valid := #valid[0 := 0]; {14019#true} is VALID [2020-07-08 22:25:38,884 INFO L280 TraceCheckUtils]: 3: Hoare triple {14019#true} assume 0 < #StackHeapBarrier; {14019#true} is VALID [2020-07-08 22:25:38,884 INFO L280 TraceCheckUtils]: 4: Hoare triple {14019#true} assume true; {14019#true} is VALID [2020-07-08 22:25:38,885 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {14019#true} {14019#true} #349#return; {14019#true} is VALID [2020-07-08 22:25:38,885 INFO L263 TraceCheckUtils]: 6: Hoare triple {14019#true} call #t~ret41 := main(); {14019#true} is VALID [2020-07-08 22:25:38,893 INFO L280 TraceCheckUtils]: 7: Hoare triple {14019#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {14026#(= 0 |main_#t~malloc2.offset|)} is VALID [2020-07-08 22:25:38,893 INFO L280 TraceCheckUtils]: 8: Hoare triple {14026#(= 0 |main_#t~malloc2.offset|)} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {14027#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:38,894 INFO L280 TraceCheckUtils]: 9: Hoare triple {14027#(= 0 main_~root~0.offset)} havoc ~n~0.base, ~n~0.offset; {14027#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:38,894 INFO L280 TraceCheckUtils]: 10: Hoare triple {14027#(= 0 main_~root~0.offset)} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {14027#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:38,895 INFO L280 TraceCheckUtils]: 11: Hoare triple {14027#(= 0 main_~root~0.offset)} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {14027#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:38,895 INFO L280 TraceCheckUtils]: 12: Hoare triple {14027#(= 0 main_~root~0.offset)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {14027#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:38,895 INFO L280 TraceCheckUtils]: 13: Hoare triple {14027#(= 0 main_~root~0.offset)} assume !(0 != #t~nondet3); {14027#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:38,896 INFO L280 TraceCheckUtils]: 14: Hoare triple {14027#(= 0 main_~root~0.offset)} havoc #t~nondet3; {14027#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:38,896 INFO L280 TraceCheckUtils]: 15: Hoare triple {14027#(= 0 main_~root~0.offset)} ~n~0.base, ~n~0.offset := 0, 0; {14027#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:38,896 INFO L280 TraceCheckUtils]: 16: Hoare triple {14027#(= 0 main_~root~0.offset)} havoc ~pred~0.base, ~pred~0.offset; {14027#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:38,897 INFO L280 TraceCheckUtils]: 17: Hoare triple {14027#(= 0 main_~root~0.offset)} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {14027#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:38,897 INFO L280 TraceCheckUtils]: 18: Hoare triple {14027#(= 0 main_~root~0.offset)} ~pred~0.base, ~pred~0.offset := 0, 0; {14027#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:25:38,897 INFO L280 TraceCheckUtils]: 19: Hoare triple {14027#(= 0 main_~root~0.offset)} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {14019#true} is VALID [2020-07-08 22:25:38,897 INFO L280 TraceCheckUtils]: 20: Hoare triple {14019#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {14019#true} is VALID [2020-07-08 22:25:38,897 INFO L280 TraceCheckUtils]: 21: Hoare triple {14019#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {14019#true} is VALID [2020-07-08 22:25:38,898 INFO L280 TraceCheckUtils]: 22: Hoare triple {14019#true} assume !#t~short24; {14019#true} is VALID [2020-07-08 22:25:38,898 INFO L280 TraceCheckUtils]: 23: Hoare triple {14019#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {14019#true} is VALID [2020-07-08 22:25:38,898 INFO L280 TraceCheckUtils]: 24: Hoare triple {14019#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {14019#true} is VALID [2020-07-08 22:25:38,898 INFO L280 TraceCheckUtils]: 25: Hoare triple {14019#true} assume !#t~short24; {14019#true} is VALID [2020-07-08 22:25:38,898 INFO L280 TraceCheckUtils]: 26: Hoare triple {14019#true} havoc #t~mem23.base, #t~mem23.offset; {14019#true} is VALID [2020-07-08 22:25:38,898 INFO L280 TraceCheckUtils]: 27: Hoare triple {14019#true} havoc #t~short24; {14019#true} is VALID [2020-07-08 22:25:38,898 INFO L280 TraceCheckUtils]: 28: Hoare triple {14019#true} havoc #t~mem22.base, #t~mem22.offset; {14019#true} is VALID [2020-07-08 22:25:38,899 INFO L280 TraceCheckUtils]: 29: Hoare triple {14019#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {14019#true} is VALID [2020-07-08 22:25:38,899 INFO L280 TraceCheckUtils]: 30: Hoare triple {14019#true} ~root~0.base, ~root~0.offset := 0, 0; {14019#true} is VALID [2020-07-08 22:25:38,899 INFO L280 TraceCheckUtils]: 31: Hoare triple {14019#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {14019#true} is VALID [2020-07-08 22:25:38,899 INFO L280 TraceCheckUtils]: 32: Hoare triple {14019#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {14019#true} is VALID [2020-07-08 22:25:38,900 INFO L280 TraceCheckUtils]: 33: Hoare triple {14019#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {14028#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-08 22:25:38,901 INFO L280 TraceCheckUtils]: 34: Hoare triple {14028#(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; {14029#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:25:38,905 INFO L280 TraceCheckUtils]: 35: Hoare triple {14029#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {14029#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:25:38,908 INFO L280 TraceCheckUtils]: 36: Hoare triple {14029#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {14029#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:25:38,908 INFO L280 TraceCheckUtils]: 37: Hoare triple {14029#(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; {14030#(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-08 22:25:38,909 INFO L280 TraceCheckUtils]: 38: Hoare triple {14030#(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; {14030#(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-08 22:25:38,910 INFO L280 TraceCheckUtils]: 39: Hoare triple {14030#(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); {14030#(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-08 22:25:38,911 INFO L280 TraceCheckUtils]: 40: Hoare triple {14030#(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; {14030#(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-08 22:25:38,911 INFO L280 TraceCheckUtils]: 41: Hoare triple {14030#(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 {14030#(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-08 22:25:38,912 INFO L280 TraceCheckUtils]: 42: Hoare triple {14030#(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 {14031#(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-08 22:25:38,913 INFO L280 TraceCheckUtils]: 43: Hoare triple {14031#(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; {14032#(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-08 22:25:38,914 INFO L280 TraceCheckUtils]: 44: Hoare triple {14032#(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); {14032#(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-08 22:25:38,915 INFO L280 TraceCheckUtils]: 45: Hoare triple {14032#(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 {14033#(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-08 22:25:38,916 INFO L280 TraceCheckUtils]: 46: Hoare triple {14033#(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 {14034#(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-08 22:25:38,917 INFO L280 TraceCheckUtils]: 47: Hoare triple {14034#(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; {14035#(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-08 22:25:38,918 INFO L280 TraceCheckUtils]: 48: Hoare triple {14035#(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; {14035#(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-08 22:25:38,919 INFO L280 TraceCheckUtils]: 49: Hoare triple {14035#(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; {14035#(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-08 22:25:38,919 INFO L280 TraceCheckUtils]: 50: Hoare triple {14035#(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); {14035#(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-08 22:25:38,920 INFO L280 TraceCheckUtils]: 51: Hoare triple {14035#(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; {14035#(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-08 22:25:38,921 INFO L280 TraceCheckUtils]: 52: Hoare triple {14035#(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; {14035#(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-08 22:25:38,922 INFO L280 TraceCheckUtils]: 53: Hoare triple {14035#(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); {14035#(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-08 22:25:38,922 INFO L280 TraceCheckUtils]: 54: Hoare triple {14035#(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; {14035#(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-08 22:25:38,923 INFO L280 TraceCheckUtils]: 55: Hoare triple {14035#(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 {14036#(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-08 22:25:38,924 INFO L280 TraceCheckUtils]: 56: Hoare triple {14036#(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; {14037#(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-08 22:25:38,925 INFO L280 TraceCheckUtils]: 57: Hoare triple {14037#(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 {14037#(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-08 22:25:38,926 INFO L280 TraceCheckUtils]: 58: Hoare triple {14037#(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); {14037#(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-08 22:25:38,927 INFO L280 TraceCheckUtils]: 59: Hoare triple {14037#(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; {14037#(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-08 22:25:38,927 INFO L280 TraceCheckUtils]: 60: Hoare triple {14037#(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 {14037#(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-08 22:25:38,928 INFO L280 TraceCheckUtils]: 61: Hoare triple {14037#(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); {14037#(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-08 22:25:38,929 INFO L280 TraceCheckUtils]: 62: Hoare triple {14037#(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; {14037#(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-08 22:25:38,930 INFO L280 TraceCheckUtils]: 63: Hoare triple {14037#(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 {14038#(= 3 (select (select |#memory_int| |main_#t~mem39.base|) |main_#t~mem39.offset|))} is VALID [2020-07-08 22:25:38,930 INFO L280 TraceCheckUtils]: 64: Hoare triple {14038#(= 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; {14039#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:38,931 INFO L280 TraceCheckUtils]: 65: Hoare triple {14039#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem39.base, #t~mem39.offset; {14039#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:38,931 INFO L280 TraceCheckUtils]: 66: Hoare triple {14039#(= 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 {14039#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:38,932 INFO L280 TraceCheckUtils]: 67: Hoare triple {14039#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(1 == #t~mem38); {14039#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:38,932 INFO L280 TraceCheckUtils]: 68: Hoare triple {14039#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem38; {14039#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:38,933 INFO L280 TraceCheckUtils]: 69: Hoare triple {14039#(= 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 {14040#(= |main_#t~mem40| 3)} is VALID [2020-07-08 22:25:38,933 INFO L280 TraceCheckUtils]: 70: Hoare triple {14040#(= |main_#t~mem40| 3)} assume 3 != #t~mem40; {14020#false} is VALID [2020-07-08 22:25:38,934 INFO L280 TraceCheckUtils]: 71: Hoare triple {14020#false} havoc #t~mem40; {14020#false} is VALID [2020-07-08 22:25:38,934 INFO L280 TraceCheckUtils]: 72: Hoare triple {14020#false} assume !false; {14020#false} is VALID [2020-07-08 22:25:38,946 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 22:25:38,947 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [316567491] [2020-07-08 22:25:38,947 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:25:38,947 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18] total 18 [2020-07-08 22:25:38,947 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1339248990] [2020-07-08 22:25:38,947 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 73 [2020-07-08 22:25:38,948 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:25:38,948 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-08 22:25:39,033 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-08 22:25:39,034 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-08 22:25:39,034 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:25:39,034 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-08 22:25:39,035 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=272, Unknown=0, NotChecked=0, Total=306 [2020-07-08 22:25:39,035 INFO L87 Difference]: Start difference. First operand 249 states and 276 transitions. Second operand 18 states. [2020-07-08 22:25:45,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:45,431 INFO L93 Difference]: Finished difference Result 324 states and 354 transitions. [2020-07-08 22:25:45,431 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2020-07-08 22:25:45,431 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 73 [2020-07-08 22:25:45,432 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:25:45,432 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-08 22:25:45,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 294 transitions. [2020-07-08 22:25:45,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-08 22:25:45,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 294 transitions. [2020-07-08 22:25:45,437 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 294 transitions. [2020-07-08 22:25:45,824 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-08 22:25:45,832 INFO L225 Difference]: With dead ends: 324 [2020-07-08 22:25:45,833 INFO L226 Difference]: Without dead ends: 318 [2020-07-08 22:25:45,834 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 5 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 96 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=255, Invalid=1005, Unknown=0, NotChecked=0, Total=1260 [2020-07-08 22:25:45,835 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 318 states. [2020-07-08 22:25:46,682 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 318 to 258. [2020-07-08 22:25:46,682 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:25:46,682 INFO L82 GeneralOperation]: Start isEquivalent. First operand 318 states. Second operand 258 states. [2020-07-08 22:25:46,682 INFO L74 IsIncluded]: Start isIncluded. First operand 318 states. Second operand 258 states. [2020-07-08 22:25:46,682 INFO L87 Difference]: Start difference. First operand 318 states. Second operand 258 states. [2020-07-08 22:25:46,692 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:46,692 INFO L93 Difference]: Finished difference Result 318 states and 348 transitions. [2020-07-08 22:25:46,693 INFO L276 IsEmpty]: Start isEmpty. Operand 318 states and 348 transitions. [2020-07-08 22:25:46,693 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:46,694 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:46,694 INFO L74 IsIncluded]: Start isIncluded. First operand 258 states. Second operand 318 states. [2020-07-08 22:25:46,694 INFO L87 Difference]: Start difference. First operand 258 states. Second operand 318 states. [2020-07-08 22:25:46,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:46,703 INFO L93 Difference]: Finished difference Result 318 states and 348 transitions. [2020-07-08 22:25:46,703 INFO L276 IsEmpty]: Start isEmpty. Operand 318 states and 348 transitions. [2020-07-08 22:25:46,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:46,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:46,704 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:25:46,704 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:25:46,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 258 states. [2020-07-08 22:25:46,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 258 states to 258 states and 286 transitions. [2020-07-08 22:25:46,711 INFO L78 Accepts]: Start accepts. Automaton has 258 states and 286 transitions. Word has length 73 [2020-07-08 22:25:46,711 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:25:46,711 INFO L479 AbstractCegarLoop]: Abstraction has 258 states and 286 transitions. [2020-07-08 22:25:46,711 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-08 22:25:46,712 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 258 states and 286 transitions. [2020-07-08 22:25:47,240 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-08 22:25:47,240 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 286 transitions. [2020-07-08 22:25:47,241 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2020-07-08 22:25:47,241 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:25:47,242 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-08 22:25:47,242 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-08 22:25:47,242 INFO L427 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:25:47,242 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:25:47,242 INFO L82 PathProgramCache]: Analyzing trace with hash -617664064, now seen corresponding path program 1 times [2020-07-08 22:25:47,243 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:25:47,243 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2078878443] [2020-07-08 22:25:47,243 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:25:47,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:47,557 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:47,564 INFO L280 TraceCheckUtils]: 0: Hoare triple {15900#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {15881#true} is VALID [2020-07-08 22:25:47,565 INFO L280 TraceCheckUtils]: 1: Hoare triple {15881#true} #valid := #valid[0 := 0]; {15881#true} is VALID [2020-07-08 22:25:47,565 INFO L280 TraceCheckUtils]: 2: Hoare triple {15881#true} assume 0 < #StackHeapBarrier; {15881#true} is VALID [2020-07-08 22:25:47,565 INFO L280 TraceCheckUtils]: 3: Hoare triple {15881#true} assume true; {15881#true} is VALID [2020-07-08 22:25:47,565 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {15881#true} {15881#true} #349#return; {15881#true} is VALID [2020-07-08 22:25:47,566 INFO L263 TraceCheckUtils]: 0: Hoare triple {15881#true} call ULTIMATE.init(); {15900#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 22:25:47,566 INFO L280 TraceCheckUtils]: 1: Hoare triple {15900#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {15881#true} is VALID [2020-07-08 22:25:47,566 INFO L280 TraceCheckUtils]: 2: Hoare triple {15881#true} #valid := #valid[0 := 0]; {15881#true} is VALID [2020-07-08 22:25:47,566 INFO L280 TraceCheckUtils]: 3: Hoare triple {15881#true} assume 0 < #StackHeapBarrier; {15881#true} is VALID [2020-07-08 22:25:47,567 INFO L280 TraceCheckUtils]: 4: Hoare triple {15881#true} assume true; {15881#true} is VALID [2020-07-08 22:25:47,567 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {15881#true} {15881#true} #349#return; {15881#true} is VALID [2020-07-08 22:25:47,567 INFO L263 TraceCheckUtils]: 6: Hoare triple {15881#true} call #t~ret41 := main(); {15881#true} is VALID [2020-07-08 22:25:47,567 INFO L280 TraceCheckUtils]: 7: Hoare triple {15881#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {15881#true} is VALID [2020-07-08 22:25:47,567 INFO L280 TraceCheckUtils]: 8: Hoare triple {15881#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {15881#true} is VALID [2020-07-08 22:25:47,568 INFO L280 TraceCheckUtils]: 9: Hoare triple {15881#true} havoc ~n~0.base, ~n~0.offset; {15881#true} is VALID [2020-07-08 22:25:47,568 INFO L280 TraceCheckUtils]: 10: Hoare triple {15881#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {15881#true} is VALID [2020-07-08 22:25:47,568 INFO L280 TraceCheckUtils]: 11: Hoare triple {15881#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {15881#true} is VALID [2020-07-08 22:25:47,568 INFO L280 TraceCheckUtils]: 12: Hoare triple {15881#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {15881#true} is VALID [2020-07-08 22:25:47,568 INFO L280 TraceCheckUtils]: 13: Hoare triple {15881#true} assume !(0 != #t~nondet3); {15881#true} is VALID [2020-07-08 22:25:47,568 INFO L280 TraceCheckUtils]: 14: Hoare triple {15881#true} havoc #t~nondet3; {15881#true} is VALID [2020-07-08 22:25:47,569 INFO L280 TraceCheckUtils]: 15: Hoare triple {15881#true} ~n~0.base, ~n~0.offset := 0, 0; {15881#true} is VALID [2020-07-08 22:25:47,569 INFO L280 TraceCheckUtils]: 16: Hoare triple {15881#true} havoc ~pred~0.base, ~pred~0.offset; {15881#true} is VALID [2020-07-08 22:25:47,569 INFO L280 TraceCheckUtils]: 17: Hoare triple {15881#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {15881#true} is VALID [2020-07-08 22:25:47,569 INFO L280 TraceCheckUtils]: 18: Hoare triple {15881#true} ~pred~0.base, ~pred~0.offset := 0, 0; {15881#true} is VALID [2020-07-08 22:25:47,569 INFO L280 TraceCheckUtils]: 19: Hoare triple {15881#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {15881#true} is VALID [2020-07-08 22:25:47,569 INFO L280 TraceCheckUtils]: 20: Hoare triple {15881#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {15881#true} is VALID [2020-07-08 22:25:47,570 INFO L280 TraceCheckUtils]: 21: Hoare triple {15881#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {15881#true} is VALID [2020-07-08 22:25:47,570 INFO L280 TraceCheckUtils]: 22: Hoare triple {15881#true} assume !#t~short24; {15881#true} is VALID [2020-07-08 22:25:47,570 INFO L280 TraceCheckUtils]: 23: Hoare triple {15881#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {15881#true} is VALID [2020-07-08 22:25:47,570 INFO L280 TraceCheckUtils]: 24: Hoare triple {15881#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {15881#true} is VALID [2020-07-08 22:25:47,570 INFO L280 TraceCheckUtils]: 25: Hoare triple {15881#true} assume !#t~short24; {15881#true} is VALID [2020-07-08 22:25:47,571 INFO L280 TraceCheckUtils]: 26: Hoare triple {15881#true} havoc #t~mem23.base, #t~mem23.offset; {15881#true} is VALID [2020-07-08 22:25:47,571 INFO L280 TraceCheckUtils]: 27: Hoare triple {15881#true} havoc #t~short24; {15881#true} is VALID [2020-07-08 22:25:47,571 INFO L280 TraceCheckUtils]: 28: Hoare triple {15881#true} havoc #t~mem22.base, #t~mem22.offset; {15881#true} is VALID [2020-07-08 22:25:47,571 INFO L280 TraceCheckUtils]: 29: Hoare triple {15881#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {15881#true} is VALID [2020-07-08 22:25:47,571 INFO L280 TraceCheckUtils]: 30: Hoare triple {15881#true} ~root~0.base, ~root~0.offset := 0, 0; {15881#true} is VALID [2020-07-08 22:25:47,571 INFO L280 TraceCheckUtils]: 31: Hoare triple {15881#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {15881#true} is VALID [2020-07-08 22:25:47,572 INFO L280 TraceCheckUtils]: 32: Hoare triple {15881#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {15881#true} is VALID [2020-07-08 22:25:47,573 INFO L280 TraceCheckUtils]: 33: Hoare triple {15881#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {15888#(= 1 (select |#valid| |main_#t~malloc29.base|))} is VALID [2020-07-08 22:25:47,573 INFO L280 TraceCheckUtils]: 34: Hoare triple {15888#(= 1 (select |#valid| |main_#t~malloc29.base|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {15889#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-08 22:25:47,574 INFO L280 TraceCheckUtils]: 35: Hoare triple {15889#(= 1 (select |#valid| main_~a~0.base))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {15889#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-08 22:25:47,574 INFO L280 TraceCheckUtils]: 36: Hoare triple {15889#(= 1 (select |#valid| main_~a~0.base))} havoc ~t~0.base, ~t~0.offset; {15889#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-08 22:25:47,575 INFO L280 TraceCheckUtils]: 37: Hoare triple {15889#(= 1 (select |#valid| main_~a~0.base))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {15890#(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-08 22:25:47,575 INFO L280 TraceCheckUtils]: 38: Hoare triple {15890#(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; {15890#(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-08 22:25:47,576 INFO L280 TraceCheckUtils]: 39: Hoare triple {15890#(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); {15890#(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-08 22:25:47,577 INFO L280 TraceCheckUtils]: 40: Hoare triple {15890#(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; {15890#(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-08 22:25:47,578 INFO L280 TraceCheckUtils]: 41: Hoare triple {15890#(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 {15891#(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-08 22:25:47,579 INFO L280 TraceCheckUtils]: 42: Hoare triple {15891#(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 {15892#(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-08 22:25:47,579 INFO L280 TraceCheckUtils]: 43: Hoare triple {15892#(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; {15893#(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-08 22:25:47,580 INFO L280 TraceCheckUtils]: 44: Hoare triple {15893#(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); {15893#(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-08 22:25:47,581 INFO L280 TraceCheckUtils]: 45: Hoare triple {15893#(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 {15894#(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-08 22:25:47,582 INFO L280 TraceCheckUtils]: 46: Hoare triple {15894#(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 {15895#(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-08 22:25:47,583 INFO L280 TraceCheckUtils]: 47: Hoare triple {15895#(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; {15896#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:47,584 INFO L280 TraceCheckUtils]: 48: Hoare triple {15896#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} havoc #t~mem32.base, #t~mem32.offset; {15896#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:47,584 INFO L280 TraceCheckUtils]: 49: Hoare triple {15896#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {15896#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:47,585 INFO L280 TraceCheckUtils]: 50: Hoare triple {15896#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} assume !(0 != #t~nondet30); {15896#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:47,585 INFO L280 TraceCheckUtils]: 51: Hoare triple {15896#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} havoc #t~nondet30; {15896#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:47,586 INFO L280 TraceCheckUtils]: 52: Hoare triple {15896#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {15896#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:47,586 INFO L280 TraceCheckUtils]: 53: Hoare triple {15896#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} assume !(0 != #t~nondet33); {15896#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:47,587 INFO L280 TraceCheckUtils]: 54: Hoare triple {15896#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} havoc #t~nondet33; {15896#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:47,588 INFO L280 TraceCheckUtils]: 55: Hoare triple {15896#(= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {15897#(= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-08 22:25:47,588 INFO L280 TraceCheckUtils]: 56: Hoare triple {15897#(= 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; {15898#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:47,589 INFO L280 TraceCheckUtils]: 57: Hoare triple {15898#(= 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 {15899#(= |main_#t~mem36| 1)} is VALID [2020-07-08 22:25:47,589 INFO L280 TraceCheckUtils]: 58: Hoare triple {15899#(= |main_#t~mem36| 1)} assume !!(2 == #t~mem36); {15882#false} is VALID [2020-07-08 22:25:47,590 INFO L280 TraceCheckUtils]: 59: Hoare triple {15882#false} havoc #t~mem36; {15882#false} is VALID [2020-07-08 22:25:47,590 INFO L280 TraceCheckUtils]: 60: Hoare triple {15882#false} SUMMARY for call #t~mem37.base, #t~mem37.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L605 {15882#false} is VALID [2020-07-08 22:25:47,590 INFO L280 TraceCheckUtils]: 61: Hoare triple {15882#false} ~p~0.base, ~p~0.offset := #t~mem37.base, #t~mem37.offset; {15882#false} is VALID [2020-07-08 22:25:47,590 INFO L280 TraceCheckUtils]: 62: Hoare triple {15882#false} havoc #t~mem37.base, #t~mem37.offset; {15882#false} is VALID [2020-07-08 22:25:47,590 INFO L280 TraceCheckUtils]: 63: Hoare triple {15882#false} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {15882#false} is VALID [2020-07-08 22:25:47,590 INFO L280 TraceCheckUtils]: 64: Hoare triple {15882#false} assume !(2 == #t~mem36); {15882#false} is VALID [2020-07-08 22:25:47,591 INFO L280 TraceCheckUtils]: 65: Hoare triple {15882#false} havoc #t~mem36; {15882#false} is VALID [2020-07-08 22:25:47,591 INFO L280 TraceCheckUtils]: 66: Hoare triple {15882#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {15882#false} is VALID [2020-07-08 22:25:47,591 INFO L280 TraceCheckUtils]: 67: Hoare triple {15882#false} assume !(1 == #t~mem38); {15882#false} is VALID [2020-07-08 22:25:47,591 INFO L280 TraceCheckUtils]: 68: Hoare triple {15882#false} havoc #t~mem38; {15882#false} is VALID [2020-07-08 22:25:47,591 INFO L280 TraceCheckUtils]: 69: Hoare triple {15882#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {15882#false} is VALID [2020-07-08 22:25:47,592 INFO L280 TraceCheckUtils]: 70: Hoare triple {15882#false} assume 3 != #t~mem40; {15882#false} is VALID [2020-07-08 22:25:47,592 INFO L280 TraceCheckUtils]: 71: Hoare triple {15882#false} havoc #t~mem40; {15882#false} is VALID [2020-07-08 22:25:47,592 INFO L280 TraceCheckUtils]: 72: Hoare triple {15882#false} assume !false; {15882#false} is VALID [2020-07-08 22:25:47,600 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-08 22:25:47,600 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2078878443] [2020-07-08 22:25:47,601 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:25:47,601 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15] total 15 [2020-07-08 22:25:47,601 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [248193035] [2020-07-08 22:25:47,601 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 73 [2020-07-08 22:25:47,602 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:25:47,602 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2020-07-08 22:25:47,686 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-08 22:25:47,686 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2020-07-08 22:25:47,686 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:25:47,687 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2020-07-08 22:25:47,687 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2020-07-08 22:25:47,687 INFO L87 Difference]: Start difference. First operand 258 states and 286 transitions. Second operand 15 states. [2020-07-08 22:25:51,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:51,861 INFO L93 Difference]: Finished difference Result 320 states and 350 transitions. [2020-07-08 22:25:51,861 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-08 22:25:51,861 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 73 [2020-07-08 22:25:51,862 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:25:51,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-08 22:25:51,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 287 transitions. [2020-07-08 22:25:51,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-08 22:25:51,867 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 287 transitions. [2020-07-08 22:25:51,868 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 287 transitions. [2020-07-08 22:25:52,201 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 287 edges. 287 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:25:52,208 INFO L225 Difference]: With dead ends: 320 [2020-07-08 22:25:52,208 INFO L226 Difference]: Without dead ends: 301 [2020-07-08 22:25:52,209 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 87 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=185, Invalid=571, Unknown=0, NotChecked=0, Total=756 [2020-07-08 22:25:52,210 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 301 states. [2020-07-08 22:25:53,109 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 301 to 258. [2020-07-08 22:25:53,110 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:25:53,110 INFO L82 GeneralOperation]: Start isEquivalent. First operand 301 states. Second operand 258 states. [2020-07-08 22:25:53,110 INFO L74 IsIncluded]: Start isIncluded. First operand 301 states. Second operand 258 states. [2020-07-08 22:25:53,110 INFO L87 Difference]: Start difference. First operand 301 states. Second operand 258 states. [2020-07-08 22:25:53,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:53,118 INFO L93 Difference]: Finished difference Result 301 states and 329 transitions. [2020-07-08 22:25:53,118 INFO L276 IsEmpty]: Start isEmpty. Operand 301 states and 329 transitions. [2020-07-08 22:25:53,119 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:53,119 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:53,119 INFO L74 IsIncluded]: Start isIncluded. First operand 258 states. Second operand 301 states. [2020-07-08 22:25:53,119 INFO L87 Difference]: Start difference. First operand 258 states. Second operand 301 states. [2020-07-08 22:25:53,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:25:53,127 INFO L93 Difference]: Finished difference Result 301 states and 329 transitions. [2020-07-08 22:25:53,127 INFO L276 IsEmpty]: Start isEmpty. Operand 301 states and 329 transitions. [2020-07-08 22:25:53,128 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:25:53,128 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:25:53,128 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:25:53,128 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:25:53,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 258 states. [2020-07-08 22:25:53,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 258 states to 258 states and 285 transitions. [2020-07-08 22:25:53,134 INFO L78 Accepts]: Start accepts. Automaton has 258 states and 285 transitions. Word has length 73 [2020-07-08 22:25:53,135 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:25:53,135 INFO L479 AbstractCegarLoop]: Abstraction has 258 states and 285 transitions. [2020-07-08 22:25:53,135 INFO L480 AbstractCegarLoop]: Interpolant automaton has 15 states. [2020-07-08 22:25:53,135 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 258 states and 285 transitions. [2020-07-08 22:25:53,656 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-08 22:25:53,657 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 285 transitions. [2020-07-08 22:25:53,658 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2020-07-08 22:25:53,659 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:25:53,659 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-08 22:25:53,659 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2020-07-08 22:25:53,659 INFO L427 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:25:53,660 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:25:53,660 INFO L82 PathProgramCache]: Analyzing trace with hash 342604767, now seen corresponding path program 2 times [2020-07-08 22:25:53,660 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:25:53,660 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1840923789] [2020-07-08 22:25:53,660 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:25:53,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:54,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:25:54,258 INFO L280 TraceCheckUtils]: 0: Hoare triple {17713#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {17687#true} is VALID [2020-07-08 22:25:54,259 INFO L280 TraceCheckUtils]: 1: Hoare triple {17687#true} #valid := #valid[0 := 0]; {17687#true} is VALID [2020-07-08 22:25:54,259 INFO L280 TraceCheckUtils]: 2: Hoare triple {17687#true} assume 0 < #StackHeapBarrier; {17687#true} is VALID [2020-07-08 22:25:54,259 INFO L280 TraceCheckUtils]: 3: Hoare triple {17687#true} assume true; {17687#true} is VALID [2020-07-08 22:25:54,259 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {17687#true} {17687#true} #349#return; {17687#true} is VALID [2020-07-08 22:25:54,260 INFO L263 TraceCheckUtils]: 0: Hoare triple {17687#true} call ULTIMATE.init(); {17713#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 22:25:54,260 INFO L280 TraceCheckUtils]: 1: Hoare triple {17713#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {17687#true} is VALID [2020-07-08 22:25:54,260 INFO L280 TraceCheckUtils]: 2: Hoare triple {17687#true} #valid := #valid[0 := 0]; {17687#true} is VALID [2020-07-08 22:25:54,260 INFO L280 TraceCheckUtils]: 3: Hoare triple {17687#true} assume 0 < #StackHeapBarrier; {17687#true} is VALID [2020-07-08 22:25:54,260 INFO L280 TraceCheckUtils]: 4: Hoare triple {17687#true} assume true; {17687#true} is VALID [2020-07-08 22:25:54,260 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {17687#true} {17687#true} #349#return; {17687#true} is VALID [2020-07-08 22:25:54,260 INFO L263 TraceCheckUtils]: 6: Hoare triple {17687#true} call #t~ret41 := main(); {17687#true} is VALID [2020-07-08 22:25:54,261 INFO L280 TraceCheckUtils]: 7: Hoare triple {17687#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {17687#true} is VALID [2020-07-08 22:25:54,261 INFO L280 TraceCheckUtils]: 8: Hoare triple {17687#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {17687#true} is VALID [2020-07-08 22:25:54,261 INFO L280 TraceCheckUtils]: 9: Hoare triple {17687#true} havoc ~n~0.base, ~n~0.offset; {17687#true} is VALID [2020-07-08 22:25:54,261 INFO L280 TraceCheckUtils]: 10: Hoare triple {17687#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {17687#true} is VALID [2020-07-08 22:25:54,261 INFO L280 TraceCheckUtils]: 11: Hoare triple {17687#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {17687#true} is VALID [2020-07-08 22:25:54,261 INFO L280 TraceCheckUtils]: 12: Hoare triple {17687#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {17687#true} is VALID [2020-07-08 22:25:54,261 INFO L280 TraceCheckUtils]: 13: Hoare triple {17687#true} assume !(0 != #t~nondet3); {17687#true} is VALID [2020-07-08 22:25:54,262 INFO L280 TraceCheckUtils]: 14: Hoare triple {17687#true} havoc #t~nondet3; {17687#true} is VALID [2020-07-08 22:25:54,262 INFO L280 TraceCheckUtils]: 15: Hoare triple {17687#true} ~n~0.base, ~n~0.offset := 0, 0; {17687#true} is VALID [2020-07-08 22:25:54,262 INFO L280 TraceCheckUtils]: 16: Hoare triple {17687#true} havoc ~pred~0.base, ~pred~0.offset; {17687#true} is VALID [2020-07-08 22:25:54,262 INFO L280 TraceCheckUtils]: 17: Hoare triple {17687#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {17687#true} is VALID [2020-07-08 22:25:54,262 INFO L280 TraceCheckUtils]: 18: Hoare triple {17687#true} ~pred~0.base, ~pred~0.offset := 0, 0; {17687#true} is VALID [2020-07-08 22:25:54,262 INFO L280 TraceCheckUtils]: 19: Hoare triple {17687#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {17687#true} is VALID [2020-07-08 22:25:54,263 INFO L280 TraceCheckUtils]: 20: Hoare triple {17687#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {17687#true} is VALID [2020-07-08 22:25:54,263 INFO L280 TraceCheckUtils]: 21: Hoare triple {17687#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {17687#true} is VALID [2020-07-08 22:25:54,263 INFO L280 TraceCheckUtils]: 22: Hoare triple {17687#true} assume !#t~short24; {17687#true} is VALID [2020-07-08 22:25:54,263 INFO L280 TraceCheckUtils]: 23: Hoare triple {17687#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {17687#true} is VALID [2020-07-08 22:25:54,263 INFO L280 TraceCheckUtils]: 24: Hoare triple {17687#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {17687#true} is VALID [2020-07-08 22:25:54,263 INFO L280 TraceCheckUtils]: 25: Hoare triple {17687#true} assume !#t~short24; {17687#true} is VALID [2020-07-08 22:25:54,264 INFO L280 TraceCheckUtils]: 26: Hoare triple {17687#true} havoc #t~mem23.base, #t~mem23.offset; {17687#true} is VALID [2020-07-08 22:25:54,264 INFO L280 TraceCheckUtils]: 27: Hoare triple {17687#true} havoc #t~short24; {17687#true} is VALID [2020-07-08 22:25:54,264 INFO L280 TraceCheckUtils]: 28: Hoare triple {17687#true} havoc #t~mem22.base, #t~mem22.offset; {17687#true} is VALID [2020-07-08 22:25:54,264 INFO L280 TraceCheckUtils]: 29: Hoare triple {17687#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {17687#true} is VALID [2020-07-08 22:25:54,264 INFO L280 TraceCheckUtils]: 30: Hoare triple {17687#true} ~root~0.base, ~root~0.offset := 0, 0; {17687#true} is VALID [2020-07-08 22:25:54,264 INFO L280 TraceCheckUtils]: 31: Hoare triple {17687#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {17687#true} is VALID [2020-07-08 22:25:54,265 INFO L280 TraceCheckUtils]: 32: Hoare triple {17687#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {17687#true} is VALID [2020-07-08 22:25:54,268 INFO L280 TraceCheckUtils]: 33: Hoare triple {17687#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {17694#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-08 22:25:54,269 INFO L280 TraceCheckUtils]: 34: Hoare triple {17694#(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; {17695#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:25:54,269 INFO L280 TraceCheckUtils]: 35: Hoare triple {17695#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {17695#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:25:54,270 INFO L280 TraceCheckUtils]: 36: Hoare triple {17695#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {17695#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:25:54,270 INFO L280 TraceCheckUtils]: 37: Hoare triple {17695#(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; {17696#(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-08 22:25:54,271 INFO L280 TraceCheckUtils]: 38: Hoare triple {17696#(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; {17696#(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-08 22:25:54,271 INFO L280 TraceCheckUtils]: 39: Hoare triple {17696#(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); {17696#(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-08 22:25:54,272 INFO L280 TraceCheckUtils]: 40: Hoare triple {17696#(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; {17696#(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-08 22:25:54,272 INFO L280 TraceCheckUtils]: 41: Hoare triple {17696#(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; {17696#(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-08 22:25:54,273 INFO L280 TraceCheckUtils]: 42: Hoare triple {17696#(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); {17696#(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-08 22:25:54,274 INFO L280 TraceCheckUtils]: 43: Hoare triple {17696#(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; {17696#(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-08 22:25:54,275 INFO L280 TraceCheckUtils]: 44: Hoare triple {17696#(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 {17697#(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-08 22:25:54,275 INFO L280 TraceCheckUtils]: 45: Hoare triple {17697#(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 {17698#(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-08 22:25:54,276 INFO L280 TraceCheckUtils]: 46: Hoare triple {17698#(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; {17699#(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-08 22:25:54,276 INFO L280 TraceCheckUtils]: 47: Hoare triple {17699#(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); {17699#(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-08 22:25:54,277 INFO L280 TraceCheckUtils]: 48: Hoare triple {17699#(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 {17700#(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-08 22:25:54,278 INFO L280 TraceCheckUtils]: 49: Hoare triple {17700#(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 {17701#(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-08 22:25:54,279 INFO L280 TraceCheckUtils]: 50: Hoare triple {17701#(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; {17702#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:25:54,279 INFO L280 TraceCheckUtils]: 51: Hoare triple {17702#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} havoc #t~mem35.base, #t~mem35.offset; {17702#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:25:54,280 INFO L280 TraceCheckUtils]: 52: Hoare triple {17702#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {17702#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:25:54,280 INFO L280 TraceCheckUtils]: 53: Hoare triple {17702#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} assume !!(0 != #t~nondet33); {17702#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:25:54,281 INFO L280 TraceCheckUtils]: 54: Hoare triple {17702#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} havoc #t~nondet33; {17702#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:25:54,282 INFO L280 TraceCheckUtils]: 55: Hoare triple {17702#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {17702#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:25:54,283 INFO L280 TraceCheckUtils]: 56: Hoare triple {17702#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {17703#(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-08 22:25:54,283 INFO L280 TraceCheckUtils]: 57: Hoare triple {17703#(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; {17704#(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-08 22:25:54,290 INFO L280 TraceCheckUtils]: 58: Hoare triple {17704#(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); {17704#(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-08 22:25:54,291 INFO L280 TraceCheckUtils]: 59: Hoare triple {17704#(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 {17705#(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-08 22:25:54,292 INFO L280 TraceCheckUtils]: 60: Hoare triple {17705#(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 {17706#(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-08 22:25:54,293 INFO L280 TraceCheckUtils]: 61: Hoare triple {17706#(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; {17707#(or (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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-08 22:25:54,294 INFO L280 TraceCheckUtils]: 62: Hoare triple {17707#(or (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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; {17707#(or (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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-08 22:25:54,294 INFO L280 TraceCheckUtils]: 63: Hoare triple {17707#(or (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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; {17707#(or (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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-08 22:25:54,295 INFO L280 TraceCheckUtils]: 64: Hoare triple {17707#(or (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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); {17707#(or (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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-08 22:25:54,295 INFO L280 TraceCheckUtils]: 65: Hoare triple {17707#(or (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} havoc #t~nondet33; {17707#(or (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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-08 22:25:54,296 INFO L280 TraceCheckUtils]: 66: Hoare triple {17707#(or (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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 {17708#(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-08 22:25:54,297 INFO L280 TraceCheckUtils]: 67: Hoare triple {17708#(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; {17709#(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-08 22:25:54,298 INFO L280 TraceCheckUtils]: 68: Hoare triple {17709#(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 {17710#(or (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= |main_#t~mem36| 2))} is VALID [2020-07-08 22:25:54,299 INFO L280 TraceCheckUtils]: 69: Hoare triple {17710#(or (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= |main_#t~mem36| 2))} assume !(2 == #t~mem36); {17711#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:54,299 INFO L280 TraceCheckUtils]: 70: Hoare triple {17711#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem36; {17711#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:54,300 INFO L280 TraceCheckUtils]: 71: Hoare triple {17711#(= 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 {17711#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:54,300 INFO L280 TraceCheckUtils]: 72: Hoare triple {17711#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(1 == #t~mem38); {17711#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:54,301 INFO L280 TraceCheckUtils]: 73: Hoare triple {17711#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem38; {17711#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:25:54,301 INFO L280 TraceCheckUtils]: 74: Hoare triple {17711#(= 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 {17712#(= |main_#t~mem40| 3)} is VALID [2020-07-08 22:25:54,302 INFO L280 TraceCheckUtils]: 75: Hoare triple {17712#(= |main_#t~mem40| 3)} assume 3 != #t~mem40; {17688#false} is VALID [2020-07-08 22:25:54,302 INFO L280 TraceCheckUtils]: 76: Hoare triple {17688#false} havoc #t~mem40; {17688#false} is VALID [2020-07-08 22:25:54,302 INFO L280 TraceCheckUtils]: 77: Hoare triple {17688#false} assume !false; {17688#false} is VALID [2020-07-08 22:25:54,318 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-08 22:25:54,318 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1840923789] [2020-07-08 22:25:54,319 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:25:54,319 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22] total 22 [2020-07-08 22:25:54,319 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1095672564] [2020-07-08 22:25:54,319 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 78 [2020-07-08 22:25:54,320 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:25:54,320 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2020-07-08 22:25:54,407 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-08 22:25:54,408 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2020-07-08 22:25:54,408 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:25:54,408 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2020-07-08 22:25:54,409 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=391, Unknown=0, NotChecked=0, Total=462 [2020-07-08 22:25:54,409 INFO L87 Difference]: Start difference. First operand 258 states and 285 transitions. Second operand 22 states. [2020-07-08 22:26:02,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:26:02,037 INFO L93 Difference]: Finished difference Result 339 states and 370 transitions. [2020-07-08 22:26:02,037 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2020-07-08 22:26:02,038 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 78 [2020-07-08 22:26:02,038 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:26:02,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-08 22:26:02,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 307 transitions. [2020-07-08 22:26:02,042 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-08 22:26:02,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 307 transitions. [2020-07-08 22:26:02,046 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 35 states and 307 transitions. [2020-07-08 22:26:02,462 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-08 22:26:02,470 INFO L225 Difference]: With dead ends: 339 [2020-07-08 22:26:02,471 INFO L226 Difference]: Without dead ends: 333 [2020-07-08 22:26:02,472 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 55 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 51 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 515 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=530, Invalid=2226, Unknown=0, NotChecked=0, Total=2756 [2020-07-08 22:26:02,473 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 333 states. [2020-07-08 22:26:03,446 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 333 to 272. [2020-07-08 22:26:03,446 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:26:03,446 INFO L82 GeneralOperation]: Start isEquivalent. First operand 333 states. Second operand 272 states. [2020-07-08 22:26:03,446 INFO L74 IsIncluded]: Start isIncluded. First operand 333 states. Second operand 272 states. [2020-07-08 22:26:03,446 INFO L87 Difference]: Start difference. First operand 333 states. Second operand 272 states. [2020-07-08 22:26:03,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:26:03,456 INFO L93 Difference]: Finished difference Result 333 states and 364 transitions. [2020-07-08 22:26:03,456 INFO L276 IsEmpty]: Start isEmpty. Operand 333 states and 364 transitions. [2020-07-08 22:26:03,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:26:03,457 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:26:03,457 INFO L74 IsIncluded]: Start isIncluded. First operand 272 states. Second operand 333 states. [2020-07-08 22:26:03,457 INFO L87 Difference]: Start difference. First operand 272 states. Second operand 333 states. [2020-07-08 22:26:03,466 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:26:03,467 INFO L93 Difference]: Finished difference Result 333 states and 364 transitions. [2020-07-08 22:26:03,467 INFO L276 IsEmpty]: Start isEmpty. Operand 333 states and 364 transitions. [2020-07-08 22:26:03,467 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:26:03,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:26:03,468 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:26:03,468 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:26:03,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 272 states. [2020-07-08 22:26:03,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 272 states to 272 states and 300 transitions. [2020-07-08 22:26:03,474 INFO L78 Accepts]: Start accepts. Automaton has 272 states and 300 transitions. Word has length 78 [2020-07-08 22:26:03,475 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:26:03,475 INFO L479 AbstractCegarLoop]: Abstraction has 272 states and 300 transitions. [2020-07-08 22:26:03,475 INFO L480 AbstractCegarLoop]: Interpolant automaton has 22 states. [2020-07-08 22:26:03,475 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 272 states and 300 transitions. [2020-07-08 22:26:04,068 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 300 edges. 300 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:26:04,068 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 300 transitions. [2020-07-08 22:26:04,069 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2020-07-08 22:26:04,069 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:26:04,070 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-08 22:26:04,070 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2020-07-08 22:26:04,070 INFO L427 AbstractCegarLoop]: === Iteration 13 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:26:04,071 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:26:04,071 INFO L82 PathProgramCache]: Analyzing trace with hash 1736898641, now seen corresponding path program 1 times [2020-07-08 22:26:04,071 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:26:04,071 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1533169296] [2020-07-08 22:26:04,071 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:26:04,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:26:04,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:26:04,677 INFO L280 TraceCheckUtils]: 0: Hoare triple {19692#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {19666#true} is VALID [2020-07-08 22:26:04,677 INFO L280 TraceCheckUtils]: 1: Hoare triple {19666#true} #valid := #valid[0 := 0]; {19666#true} is VALID [2020-07-08 22:26:04,677 INFO L280 TraceCheckUtils]: 2: Hoare triple {19666#true} assume 0 < #StackHeapBarrier; {19666#true} is VALID [2020-07-08 22:26:04,677 INFO L280 TraceCheckUtils]: 3: Hoare triple {19666#true} assume true; {19666#true} is VALID [2020-07-08 22:26:04,678 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {19666#true} {19666#true} #349#return; {19666#true} is VALID [2020-07-08 22:26:04,678 INFO L263 TraceCheckUtils]: 0: Hoare triple {19666#true} call ULTIMATE.init(); {19692#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 22:26:04,678 INFO L280 TraceCheckUtils]: 1: Hoare triple {19692#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {19666#true} is VALID [2020-07-08 22:26:04,678 INFO L280 TraceCheckUtils]: 2: Hoare triple {19666#true} #valid := #valid[0 := 0]; {19666#true} is VALID [2020-07-08 22:26:04,679 INFO L280 TraceCheckUtils]: 3: Hoare triple {19666#true} assume 0 < #StackHeapBarrier; {19666#true} is VALID [2020-07-08 22:26:04,679 INFO L280 TraceCheckUtils]: 4: Hoare triple {19666#true} assume true; {19666#true} is VALID [2020-07-08 22:26:04,679 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {19666#true} {19666#true} #349#return; {19666#true} is VALID [2020-07-08 22:26:04,679 INFO L263 TraceCheckUtils]: 6: Hoare triple {19666#true} call #t~ret41 := main(); {19666#true} is VALID [2020-07-08 22:26:04,679 INFO L280 TraceCheckUtils]: 7: Hoare triple {19666#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {19666#true} is VALID [2020-07-08 22:26:04,679 INFO L280 TraceCheckUtils]: 8: Hoare triple {19666#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {19666#true} is VALID [2020-07-08 22:26:04,679 INFO L280 TraceCheckUtils]: 9: Hoare triple {19666#true} havoc ~n~0.base, ~n~0.offset; {19666#true} is VALID [2020-07-08 22:26:04,679 INFO L280 TraceCheckUtils]: 10: Hoare triple {19666#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {19666#true} is VALID [2020-07-08 22:26:04,680 INFO L280 TraceCheckUtils]: 11: Hoare triple {19666#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {19666#true} is VALID [2020-07-08 22:26:04,680 INFO L280 TraceCheckUtils]: 12: Hoare triple {19666#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {19666#true} is VALID [2020-07-08 22:26:04,680 INFO L280 TraceCheckUtils]: 13: Hoare triple {19666#true} assume !(0 != #t~nondet3); {19666#true} is VALID [2020-07-08 22:26:04,680 INFO L280 TraceCheckUtils]: 14: Hoare triple {19666#true} havoc #t~nondet3; {19666#true} is VALID [2020-07-08 22:26:04,680 INFO L280 TraceCheckUtils]: 15: Hoare triple {19666#true} ~n~0.base, ~n~0.offset := 0, 0; {19666#true} is VALID [2020-07-08 22:26:04,680 INFO L280 TraceCheckUtils]: 16: Hoare triple {19666#true} havoc ~pred~0.base, ~pred~0.offset; {19666#true} is VALID [2020-07-08 22:26:04,680 INFO L280 TraceCheckUtils]: 17: Hoare triple {19666#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {19666#true} is VALID [2020-07-08 22:26:04,680 INFO L280 TraceCheckUtils]: 18: Hoare triple {19666#true} ~pred~0.base, ~pred~0.offset := 0, 0; {19666#true} is VALID [2020-07-08 22:26:04,681 INFO L280 TraceCheckUtils]: 19: Hoare triple {19666#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {19666#true} is VALID [2020-07-08 22:26:04,681 INFO L280 TraceCheckUtils]: 20: Hoare triple {19666#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {19666#true} is VALID [2020-07-08 22:26:04,681 INFO L280 TraceCheckUtils]: 21: Hoare triple {19666#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {19666#true} is VALID [2020-07-08 22:26:04,681 INFO L280 TraceCheckUtils]: 22: Hoare triple {19666#true} assume !#t~short24; {19666#true} is VALID [2020-07-08 22:26:04,681 INFO L280 TraceCheckUtils]: 23: Hoare triple {19666#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {19666#true} is VALID [2020-07-08 22:26:04,682 INFO L280 TraceCheckUtils]: 24: Hoare triple {19666#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {19666#true} is VALID [2020-07-08 22:26:04,682 INFO L280 TraceCheckUtils]: 25: Hoare triple {19666#true} assume !#t~short24; {19666#true} is VALID [2020-07-08 22:26:04,682 INFO L280 TraceCheckUtils]: 26: Hoare triple {19666#true} havoc #t~mem23.base, #t~mem23.offset; {19666#true} is VALID [2020-07-08 22:26:04,682 INFO L280 TraceCheckUtils]: 27: Hoare triple {19666#true} havoc #t~short24; {19666#true} is VALID [2020-07-08 22:26:04,682 INFO L280 TraceCheckUtils]: 28: Hoare triple {19666#true} havoc #t~mem22.base, #t~mem22.offset; {19666#true} is VALID [2020-07-08 22:26:04,683 INFO L280 TraceCheckUtils]: 29: Hoare triple {19666#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {19666#true} is VALID [2020-07-08 22:26:04,683 INFO L280 TraceCheckUtils]: 30: Hoare triple {19666#true} ~root~0.base, ~root~0.offset := 0, 0; {19666#true} is VALID [2020-07-08 22:26:04,683 INFO L280 TraceCheckUtils]: 31: Hoare triple {19666#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {19666#true} is VALID [2020-07-08 22:26:04,683 INFO L280 TraceCheckUtils]: 32: Hoare triple {19666#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {19666#true} is VALID [2020-07-08 22:26:04,689 INFO L280 TraceCheckUtils]: 33: Hoare triple {19666#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {19673#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-08 22:26:04,690 INFO L280 TraceCheckUtils]: 34: Hoare triple {19673#(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; {19674#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:26:04,690 INFO L280 TraceCheckUtils]: 35: Hoare triple {19674#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {19674#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:26:04,691 INFO L280 TraceCheckUtils]: 36: Hoare triple {19674#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {19674#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:26:04,692 INFO L280 TraceCheckUtils]: 37: Hoare triple {19674#(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; {19675#(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-08 22:26:04,692 INFO L280 TraceCheckUtils]: 38: Hoare triple {19675#(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; {19675#(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-08 22:26:04,693 INFO L280 TraceCheckUtils]: 39: Hoare triple {19675#(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); {19675#(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-08 22:26:04,694 INFO L280 TraceCheckUtils]: 40: Hoare triple {19675#(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; {19675#(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-08 22:26:04,695 INFO L280 TraceCheckUtils]: 41: Hoare triple {19675#(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 {19676#(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-08 22:26:04,696 INFO L280 TraceCheckUtils]: 42: Hoare triple {19676#(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 {19677#(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-08 22:26:04,697 INFO L280 TraceCheckUtils]: 43: Hoare triple {19677#(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; {19678#(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-08 22:26:04,697 INFO L280 TraceCheckUtils]: 44: Hoare triple {19678#(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); {19678#(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-08 22:26:04,699 INFO L280 TraceCheckUtils]: 45: Hoare triple {19678#(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 {19679#(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-08 22:26:04,700 INFO L280 TraceCheckUtils]: 46: Hoare triple {19679#(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 {19680#(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-08 22:26:04,701 INFO L280 TraceCheckUtils]: 47: Hoare triple {19680#(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; {19681#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:26:04,701 INFO L280 TraceCheckUtils]: 48: Hoare triple {19681#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} havoc #t~mem32.base, #t~mem32.offset; {19681#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:26:04,702 INFO L280 TraceCheckUtils]: 49: Hoare triple {19681#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {19681#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:26:04,703 INFO L280 TraceCheckUtils]: 50: Hoare triple {19681#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} assume !(0 != #t~nondet30); {19681#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:26:04,703 INFO L280 TraceCheckUtils]: 51: Hoare triple {19681#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} havoc #t~nondet30; {19681#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:26:04,704 INFO L280 TraceCheckUtils]: 52: Hoare triple {19681#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {19681#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:26:04,705 INFO L280 TraceCheckUtils]: 53: Hoare triple {19681#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} assume !!(0 != #t~nondet33); {19681#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:26:04,706 INFO L280 TraceCheckUtils]: 54: Hoare triple {19681#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} havoc #t~nondet33; {19681#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:26:04,707 INFO L280 TraceCheckUtils]: 55: Hoare triple {19681#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {19681#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:26:04,708 INFO L280 TraceCheckUtils]: 56: Hoare triple {19681#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {19682#(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-08 22:26:04,709 INFO L280 TraceCheckUtils]: 57: Hoare triple {19682#(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; {19683#(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-08 22:26:04,709 INFO L280 TraceCheckUtils]: 58: Hoare triple {19683#(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); {19683#(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-08 22:26:04,711 INFO L280 TraceCheckUtils]: 59: Hoare triple {19683#(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 {19684#(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-08 22:26:04,711 INFO L280 TraceCheckUtils]: 60: Hoare triple {19684#(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 {19685#(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-08 22:26:04,712 INFO L280 TraceCheckUtils]: 61: Hoare triple {19685#(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; {19686#(or (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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-08 22:26:04,713 INFO L280 TraceCheckUtils]: 62: Hoare triple {19686#(or (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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; {19686#(or (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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-08 22:26:04,713 INFO L280 TraceCheckUtils]: 63: Hoare triple {19686#(or (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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; {19686#(or (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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-08 22:26:04,714 INFO L280 TraceCheckUtils]: 64: Hoare triple {19686#(or (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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); {19686#(or (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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-08 22:26:04,714 INFO L280 TraceCheckUtils]: 65: Hoare triple {19686#(or (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} havoc #t~nondet33; {19686#(or (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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-08 22:26:04,715 INFO L280 TraceCheckUtils]: 66: Hoare triple {19686#(or (= 1 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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 {19687#(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-08 22:26:04,716 INFO L280 TraceCheckUtils]: 67: Hoare triple {19687#(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; {19688#(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-08 22:26:04,717 INFO L280 TraceCheckUtils]: 68: Hoare triple {19688#(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 {19688#(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-08 22:26:04,718 INFO L280 TraceCheckUtils]: 69: Hoare triple {19688#(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); {19688#(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-08 22:26:04,719 INFO L280 TraceCheckUtils]: 70: Hoare triple {19688#(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; {19688#(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-08 22:26:04,719 INFO L280 TraceCheckUtils]: 71: Hoare triple {19688#(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 {19689#(or (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= |main_#t~mem38| 1))} is VALID [2020-07-08 22:26:04,720 INFO L280 TraceCheckUtils]: 72: Hoare triple {19689#(or (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= |main_#t~mem38| 1))} assume !(1 == #t~mem38); {19690#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:26:04,720 INFO L280 TraceCheckUtils]: 73: Hoare triple {19690#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem38; {19690#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:26:04,721 INFO L280 TraceCheckUtils]: 74: Hoare triple {19690#(= 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 {19691#(= |main_#t~mem40| 3)} is VALID [2020-07-08 22:26:04,721 INFO L280 TraceCheckUtils]: 75: Hoare triple {19691#(= |main_#t~mem40| 3)} assume 3 != #t~mem40; {19667#false} is VALID [2020-07-08 22:26:04,721 INFO L280 TraceCheckUtils]: 76: Hoare triple {19667#false} havoc #t~mem40; {19667#false} is VALID [2020-07-08 22:26:04,721 INFO L280 TraceCheckUtils]: 77: Hoare triple {19667#false} assume !false; {19667#false} is VALID [2020-07-08 22:26:04,734 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-08 22:26:04,735 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1533169296] [2020-07-08 22:26:04,735 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:26:04,735 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22] total 22 [2020-07-08 22:26:04,735 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [863722610] [2020-07-08 22:26:04,735 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 78 [2020-07-08 22:26:04,736 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:26:04,736 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2020-07-08 22:26:04,830 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-08 22:26:04,830 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2020-07-08 22:26:04,831 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:26:04,831 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2020-07-08 22:26:04,831 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=391, Unknown=0, NotChecked=0, Total=462 [2020-07-08 22:26:04,832 INFO L87 Difference]: Start difference. First operand 272 states and 300 transitions. Second operand 22 states. [2020-07-08 22:26:12,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:26:12,199 INFO L93 Difference]: Finished difference Result 373 states and 407 transitions. [2020-07-08 22:26:12,199 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2020-07-08 22:26:12,199 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 78 [2020-07-08 22:26:12,199 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:26:12,200 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-08 22:26:12,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 326 transitions. [2020-07-08 22:26:12,202 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-08 22:26:12,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 326 transitions. [2020-07-08 22:26:12,206 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 36 states and 326 transitions. [2020-07-08 22:26:12,653 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 326 edges. 326 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:26:12,662 INFO L225 Difference]: With dead ends: 373 [2020-07-08 22:26:12,662 INFO L226 Difference]: Without dead ends: 367 [2020-07-08 22:26:12,663 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 52 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 558 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=545, Invalid=2317, Unknown=0, NotChecked=0, Total=2862 [2020-07-08 22:26:12,664 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 367 states. [2020-07-08 22:26:13,760 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 367 to 284. [2020-07-08 22:26:13,760 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:26:13,760 INFO L82 GeneralOperation]: Start isEquivalent. First operand 367 states. Second operand 284 states. [2020-07-08 22:26:13,760 INFO L74 IsIncluded]: Start isIncluded. First operand 367 states. Second operand 284 states. [2020-07-08 22:26:13,760 INFO L87 Difference]: Start difference. First operand 367 states. Second operand 284 states. [2020-07-08 22:26:13,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:26:13,769 INFO L93 Difference]: Finished difference Result 367 states and 401 transitions. [2020-07-08 22:26:13,769 INFO L276 IsEmpty]: Start isEmpty. Operand 367 states and 401 transitions. [2020-07-08 22:26:13,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:26:13,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:26:13,769 INFO L74 IsIncluded]: Start isIncluded. First operand 284 states. Second operand 367 states. [2020-07-08 22:26:13,769 INFO L87 Difference]: Start difference. First operand 284 states. Second operand 367 states. [2020-07-08 22:26:13,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:26:13,777 INFO L93 Difference]: Finished difference Result 367 states and 401 transitions. [2020-07-08 22:26:13,777 INFO L276 IsEmpty]: Start isEmpty. Operand 367 states and 401 transitions. [2020-07-08 22:26:13,778 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:26:13,778 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:26:13,778 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:26:13,778 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:26:13,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 284 states. [2020-07-08 22:26:13,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 284 states to 284 states and 313 transitions. [2020-07-08 22:26:13,785 INFO L78 Accepts]: Start accepts. Automaton has 284 states and 313 transitions. Word has length 78 [2020-07-08 22:26:13,785 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:26:13,785 INFO L479 AbstractCegarLoop]: Abstraction has 284 states and 313 transitions. [2020-07-08 22:26:13,785 INFO L480 AbstractCegarLoop]: Interpolant automaton has 22 states. [2020-07-08 22:26:13,785 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 284 states and 313 transitions. [2020-07-08 22:26:14,450 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 313 edges. 313 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:26:14,450 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 313 transitions. [2020-07-08 22:26:14,452 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2020-07-08 22:26:14,452 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:26:14,452 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-08 22:26:14,453 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2020-07-08 22:26:14,453 INFO L427 AbstractCegarLoop]: === Iteration 14 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:26:14,453 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:26:14,453 INFO L82 PathProgramCache]: Analyzing trace with hash 1698374602, now seen corresponding path program 1 times [2020-07-08 22:26:14,454 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:26:14,454 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1677870202] [2020-07-08 22:26:14,454 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:26:14,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:26:14,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:26:14,953 INFO L280 TraceCheckUtils]: 0: Hoare triple {21829#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {21807#true} is VALID [2020-07-08 22:26:14,953 INFO L280 TraceCheckUtils]: 1: Hoare triple {21807#true} #valid := #valid[0 := 0]; {21807#true} is VALID [2020-07-08 22:26:14,954 INFO L280 TraceCheckUtils]: 2: Hoare triple {21807#true} assume 0 < #StackHeapBarrier; {21807#true} is VALID [2020-07-08 22:26:14,954 INFO L280 TraceCheckUtils]: 3: Hoare triple {21807#true} assume true; {21807#true} is VALID [2020-07-08 22:26:14,954 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {21807#true} {21807#true} #349#return; {21807#true} is VALID [2020-07-08 22:26:14,955 INFO L263 TraceCheckUtils]: 0: Hoare triple {21807#true} call ULTIMATE.init(); {21829#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 22:26:14,955 INFO L280 TraceCheckUtils]: 1: Hoare triple {21829#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {21807#true} is VALID [2020-07-08 22:26:14,955 INFO L280 TraceCheckUtils]: 2: Hoare triple {21807#true} #valid := #valid[0 := 0]; {21807#true} is VALID [2020-07-08 22:26:14,955 INFO L280 TraceCheckUtils]: 3: Hoare triple {21807#true} assume 0 < #StackHeapBarrier; {21807#true} is VALID [2020-07-08 22:26:14,955 INFO L280 TraceCheckUtils]: 4: Hoare triple {21807#true} assume true; {21807#true} is VALID [2020-07-08 22:26:14,956 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {21807#true} {21807#true} #349#return; {21807#true} is VALID [2020-07-08 22:26:14,956 INFO L263 TraceCheckUtils]: 6: Hoare triple {21807#true} call #t~ret41 := main(); {21807#true} is VALID [2020-07-08 22:26:14,956 INFO L280 TraceCheckUtils]: 7: Hoare triple {21807#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {21814#(= 0 |main_#t~malloc2.offset|)} is VALID [2020-07-08 22:26:14,957 INFO L280 TraceCheckUtils]: 8: Hoare triple {21814#(= 0 |main_#t~malloc2.offset|)} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {21815#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:14,957 INFO L280 TraceCheckUtils]: 9: Hoare triple {21815#(= 0 main_~root~0.offset)} havoc ~n~0.base, ~n~0.offset; {21815#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:14,958 INFO L280 TraceCheckUtils]: 10: Hoare triple {21815#(= 0 main_~root~0.offset)} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {21815#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:14,958 INFO L280 TraceCheckUtils]: 11: Hoare triple {21815#(= 0 main_~root~0.offset)} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {21815#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:14,959 INFO L280 TraceCheckUtils]: 12: Hoare triple {21815#(= 0 main_~root~0.offset)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {21815#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:14,959 INFO L280 TraceCheckUtils]: 13: Hoare triple {21815#(= 0 main_~root~0.offset)} assume !(0 != #t~nondet3); {21815#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:14,960 INFO L280 TraceCheckUtils]: 14: Hoare triple {21815#(= 0 main_~root~0.offset)} havoc #t~nondet3; {21815#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:14,960 INFO L280 TraceCheckUtils]: 15: Hoare triple {21815#(= 0 main_~root~0.offset)} ~n~0.base, ~n~0.offset := 0, 0; {21815#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:14,961 INFO L280 TraceCheckUtils]: 16: Hoare triple {21815#(= 0 main_~root~0.offset)} havoc ~pred~0.base, ~pred~0.offset; {21815#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:14,961 INFO L280 TraceCheckUtils]: 17: Hoare triple {21815#(= 0 main_~root~0.offset)} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {21815#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:14,962 INFO L280 TraceCheckUtils]: 18: Hoare triple {21815#(= 0 main_~root~0.offset)} ~pred~0.base, ~pred~0.offset := 0, 0; {21815#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:14,962 INFO L280 TraceCheckUtils]: 19: Hoare triple {21815#(= 0 main_~root~0.offset)} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {21807#true} is VALID [2020-07-08 22:26:14,962 INFO L280 TraceCheckUtils]: 20: Hoare triple {21807#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {21807#true} is VALID [2020-07-08 22:26:14,962 INFO L280 TraceCheckUtils]: 21: Hoare triple {21807#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {21807#true} is VALID [2020-07-08 22:26:14,962 INFO L280 TraceCheckUtils]: 22: Hoare triple {21807#true} assume !#t~short24; {21807#true} is VALID [2020-07-08 22:26:14,962 INFO L280 TraceCheckUtils]: 23: Hoare triple {21807#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {21807#true} is VALID [2020-07-08 22:26:14,963 INFO L280 TraceCheckUtils]: 24: Hoare triple {21807#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {21807#true} is VALID [2020-07-08 22:26:14,963 INFO L280 TraceCheckUtils]: 25: Hoare triple {21807#true} assume !#t~short24; {21807#true} is VALID [2020-07-08 22:26:14,963 INFO L280 TraceCheckUtils]: 26: Hoare triple {21807#true} havoc #t~mem23.base, #t~mem23.offset; {21807#true} is VALID [2020-07-08 22:26:14,963 INFO L280 TraceCheckUtils]: 27: Hoare triple {21807#true} havoc #t~short24; {21807#true} is VALID [2020-07-08 22:26:14,963 INFO L280 TraceCheckUtils]: 28: Hoare triple {21807#true} havoc #t~mem22.base, #t~mem22.offset; {21807#true} is VALID [2020-07-08 22:26:14,963 INFO L280 TraceCheckUtils]: 29: Hoare triple {21807#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {21807#true} is VALID [2020-07-08 22:26:14,964 INFO L280 TraceCheckUtils]: 30: Hoare triple {21807#true} ~root~0.base, ~root~0.offset := 0, 0; {21807#true} is VALID [2020-07-08 22:26:14,964 INFO L280 TraceCheckUtils]: 31: Hoare triple {21807#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {21807#true} is VALID [2020-07-08 22:26:14,964 INFO L280 TraceCheckUtils]: 32: Hoare triple {21807#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {21807#true} is VALID [2020-07-08 22:26:14,965 INFO L280 TraceCheckUtils]: 33: Hoare triple {21807#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {21816#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-08 22:26:14,966 INFO L280 TraceCheckUtils]: 34: Hoare triple {21816#(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; {21817#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:26:14,966 INFO L280 TraceCheckUtils]: 35: Hoare triple {21817#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {21817#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:26:14,967 INFO L280 TraceCheckUtils]: 36: Hoare triple {21817#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {21817#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:26:14,967 INFO L280 TraceCheckUtils]: 37: Hoare triple {21817#(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; {21818#(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-08 22:26:14,968 INFO L280 TraceCheckUtils]: 38: Hoare triple {21818#(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; {21818#(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-08 22:26:14,969 INFO L280 TraceCheckUtils]: 39: Hoare triple {21818#(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); {21818#(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-08 22:26:14,969 INFO L280 TraceCheckUtils]: 40: Hoare triple {21818#(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; {21818#(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-08 22:26:14,970 INFO L280 TraceCheckUtils]: 41: Hoare triple {21818#(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; {21818#(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-08 22:26:14,971 INFO L280 TraceCheckUtils]: 42: Hoare triple {21818#(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); {21818#(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-08 22:26:14,971 INFO L280 TraceCheckUtils]: 43: Hoare triple {21818#(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; {21818#(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-08 22:26:14,972 INFO L280 TraceCheckUtils]: 44: Hoare triple {21818#(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 {21818#(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-08 22:26:14,973 INFO L280 TraceCheckUtils]: 45: Hoare triple {21818#(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 {21819#(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-08 22:26:14,974 INFO L280 TraceCheckUtils]: 46: Hoare triple {21819#(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; {21820#(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-08 22:26:14,974 INFO L280 TraceCheckUtils]: 47: Hoare triple {21820#(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); {21820#(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-08 22:26:14,976 INFO L280 TraceCheckUtils]: 48: Hoare triple {21820#(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 {21821#(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-08 22:26:14,977 INFO L280 TraceCheckUtils]: 49: Hoare triple {21821#(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 {21822#(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-08 22:26:14,979 INFO L280 TraceCheckUtils]: 50: Hoare triple {21822#(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; {21823#(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-08 22:26:14,979 INFO L280 TraceCheckUtils]: 51: Hoare triple {21823#(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; {21823#(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-08 22:26:14,980 INFO L280 TraceCheckUtils]: 52: Hoare triple {21823#(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; {21823#(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-08 22:26:14,981 INFO L280 TraceCheckUtils]: 53: Hoare triple {21823#(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); {21823#(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-08 22:26:14,983 INFO L280 TraceCheckUtils]: 54: Hoare triple {21823#(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; {21823#(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-08 22:26:14,984 INFO L280 TraceCheckUtils]: 55: Hoare triple {21823#(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 {21824#(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-08 22:26:14,985 INFO L280 TraceCheckUtils]: 56: Hoare triple {21824#(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; {21825#(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-08 22:26:14,985 INFO L280 TraceCheckUtils]: 57: Hoare triple {21825#(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 {21825#(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-08 22:26:14,986 INFO L280 TraceCheckUtils]: 58: Hoare triple {21825#(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); {21825#(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-08 22:26:14,987 INFO L280 TraceCheckUtils]: 59: Hoare triple {21825#(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; {21825#(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-08 22:26:14,987 INFO L280 TraceCheckUtils]: 60: Hoare triple {21825#(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 {21826#(= 3 (select (select |#memory_int| |main_#t~mem37.base|) |main_#t~mem37.offset|))} is VALID [2020-07-08 22:26:14,988 INFO L280 TraceCheckUtils]: 61: Hoare triple {21826#(= 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; {21827#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:26:14,989 INFO L280 TraceCheckUtils]: 62: Hoare triple {21827#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem37.base, #t~mem37.offset; {21827#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:26:14,989 INFO L280 TraceCheckUtils]: 63: Hoare triple {21827#(= 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 {21827#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:26:14,990 INFO L280 TraceCheckUtils]: 64: Hoare triple {21827#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(2 == #t~mem36); {21827#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:26:14,990 INFO L280 TraceCheckUtils]: 65: Hoare triple {21827#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem36; {21827#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:26:14,991 INFO L280 TraceCheckUtils]: 66: Hoare triple {21827#(= 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 {21828#(= |main_#t~mem38| 3)} is VALID [2020-07-08 22:26:14,991 INFO L280 TraceCheckUtils]: 67: Hoare triple {21828#(= |main_#t~mem38| 3)} assume !!(1 == #t~mem38); {21808#false} is VALID [2020-07-08 22:26:14,991 INFO L280 TraceCheckUtils]: 68: Hoare triple {21808#false} havoc #t~mem38; {21808#false} is VALID [2020-07-08 22:26:14,991 INFO L280 TraceCheckUtils]: 69: Hoare triple {21808#false} SUMMARY for call #t~mem39.base, #t~mem39.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L607 {21808#false} is VALID [2020-07-08 22:26:14,992 INFO L280 TraceCheckUtils]: 70: Hoare triple {21808#false} ~p~0.base, ~p~0.offset := #t~mem39.base, #t~mem39.offset; {21808#false} is VALID [2020-07-08 22:26:14,992 INFO L280 TraceCheckUtils]: 71: Hoare triple {21808#false} havoc #t~mem39.base, #t~mem39.offset; {21808#false} is VALID [2020-07-08 22:26:14,992 INFO L280 TraceCheckUtils]: 72: Hoare triple {21808#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {21808#false} is VALID [2020-07-08 22:26:14,992 INFO L280 TraceCheckUtils]: 73: Hoare triple {21808#false} assume !(1 == #t~mem38); {21808#false} is VALID [2020-07-08 22:26:14,992 INFO L280 TraceCheckUtils]: 74: Hoare triple {21808#false} havoc #t~mem38; {21808#false} is VALID [2020-07-08 22:26:14,992 INFO L280 TraceCheckUtils]: 75: Hoare triple {21808#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {21808#false} is VALID [2020-07-08 22:26:14,993 INFO L280 TraceCheckUtils]: 76: Hoare triple {21808#false} assume 3 != #t~mem40; {21808#false} is VALID [2020-07-08 22:26:14,993 INFO L280 TraceCheckUtils]: 77: Hoare triple {21808#false} havoc #t~mem40; {21808#false} is VALID [2020-07-08 22:26:14,993 INFO L280 TraceCheckUtils]: 78: Hoare triple {21808#false} assume !false; {21808#false} is VALID [2020-07-08 22:26:15,005 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 22:26:15,006 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1677870202] [2020-07-08 22:26:15,006 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:26:15,006 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18] total 18 [2020-07-08 22:26:15,006 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [634611898] [2020-07-08 22:26:15,007 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 79 [2020-07-08 22:26:15,007 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:26:15,007 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-08 22:26:15,096 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-08 22:26:15,097 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-08 22:26:15,097 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:26:15,097 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-08 22:26:15,098 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=272, Unknown=0, NotChecked=0, Total=306 [2020-07-08 22:26:15,098 INFO L87 Difference]: Start difference. First operand 284 states and 313 transitions. Second operand 18 states. [2020-07-08 22:26:21,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:26:21,451 INFO L93 Difference]: Finished difference Result 350 states and 382 transitions. [2020-07-08 22:26:21,451 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2020-07-08 22:26:21,452 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 79 [2020-07-08 22:26:21,452 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:26:21,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-08 22:26:21,454 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 285 transitions. [2020-07-08 22:26:21,454 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-08 22:26:21,464 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 285 transitions. [2020-07-08 22:26:21,464 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 285 transitions. [2020-07-08 22:26:21,937 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-08 22:26:21,944 INFO L225 Difference]: With dead ends: 350 [2020-07-08 22:26:21,944 INFO L226 Difference]: Without dead ends: 335 [2020-07-08 22:26:21,946 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 5 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=255, Invalid=1005, Unknown=0, NotChecked=0, Total=1260 [2020-07-08 22:26:21,947 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 335 states. [2020-07-08 22:26:23,034 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 335 to 286. [2020-07-08 22:26:23,035 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:26:23,035 INFO L82 GeneralOperation]: Start isEquivalent. First operand 335 states. Second operand 286 states. [2020-07-08 22:26:23,035 INFO L74 IsIncluded]: Start isIncluded. First operand 335 states. Second operand 286 states. [2020-07-08 22:26:23,035 INFO L87 Difference]: Start difference. First operand 335 states. Second operand 286 states. [2020-07-08 22:26:23,043 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:26:23,043 INFO L93 Difference]: Finished difference Result 335 states and 366 transitions. [2020-07-08 22:26:23,044 INFO L276 IsEmpty]: Start isEmpty. Operand 335 states and 366 transitions. [2020-07-08 22:26:23,044 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:26:23,044 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:26:23,044 INFO L74 IsIncluded]: Start isIncluded. First operand 286 states. Second operand 335 states. [2020-07-08 22:26:23,044 INFO L87 Difference]: Start difference. First operand 286 states. Second operand 335 states. [2020-07-08 22:26:23,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:26:23,053 INFO L93 Difference]: Finished difference Result 335 states and 366 transitions. [2020-07-08 22:26:23,053 INFO L276 IsEmpty]: Start isEmpty. Operand 335 states and 366 transitions. [2020-07-08 22:26:23,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:26:23,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:26:23,054 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:26:23,054 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:26:23,054 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 286 states. [2020-07-08 22:26:23,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 286 states to 286 states and 315 transitions. [2020-07-08 22:26:23,061 INFO L78 Accepts]: Start accepts. Automaton has 286 states and 315 transitions. Word has length 79 [2020-07-08 22:26:23,062 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:26:23,062 INFO L479 AbstractCegarLoop]: Abstraction has 286 states and 315 transitions. [2020-07-08 22:26:23,062 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-08 22:26:23,062 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 286 states and 315 transitions. [2020-07-08 22:26:23,766 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-08 22:26:23,766 INFO L276 IsEmpty]: Start isEmpty. Operand 286 states and 315 transitions. [2020-07-08 22:26:23,767 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2020-07-08 22:26:23,768 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:26:23,768 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-08 22:26:23,768 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2020-07-08 22:26:23,768 INFO L427 AbstractCegarLoop]: === Iteration 15 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:26:23,768 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:26:23,768 INFO L82 PathProgramCache]: Analyzing trace with hash -1559910918, now seen corresponding path program 2 times [2020-07-08 22:26:23,769 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:26:23,769 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1555182604] [2020-07-08 22:26:23,769 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:26:23,783 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:26:24,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:26:24,382 INFO L280 TraceCheckUtils]: 0: Hoare triple {23833#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {23811#true} is VALID [2020-07-08 22:26:24,382 INFO L280 TraceCheckUtils]: 1: Hoare triple {23811#true} #valid := #valid[0 := 0]; {23811#true} is VALID [2020-07-08 22:26:24,383 INFO L280 TraceCheckUtils]: 2: Hoare triple {23811#true} assume 0 < #StackHeapBarrier; {23811#true} is VALID [2020-07-08 22:26:24,383 INFO L280 TraceCheckUtils]: 3: Hoare triple {23811#true} assume true; {23811#true} is VALID [2020-07-08 22:26:24,383 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {23811#true} {23811#true} #349#return; {23811#true} is VALID [2020-07-08 22:26:24,385 INFO L263 TraceCheckUtils]: 0: Hoare triple {23811#true} call ULTIMATE.init(); {23833#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 22:26:24,385 INFO L280 TraceCheckUtils]: 1: Hoare triple {23833#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {23811#true} is VALID [2020-07-08 22:26:24,385 INFO L280 TraceCheckUtils]: 2: Hoare triple {23811#true} #valid := #valid[0 := 0]; {23811#true} is VALID [2020-07-08 22:26:24,386 INFO L280 TraceCheckUtils]: 3: Hoare triple {23811#true} assume 0 < #StackHeapBarrier; {23811#true} is VALID [2020-07-08 22:26:24,386 INFO L280 TraceCheckUtils]: 4: Hoare triple {23811#true} assume true; {23811#true} is VALID [2020-07-08 22:26:24,386 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {23811#true} {23811#true} #349#return; {23811#true} is VALID [2020-07-08 22:26:24,387 INFO L263 TraceCheckUtils]: 6: Hoare triple {23811#true} call #t~ret41 := main(); {23811#true} is VALID [2020-07-08 22:26:24,388 INFO L280 TraceCheckUtils]: 7: Hoare triple {23811#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {23818#(= 0 |main_#t~malloc2.offset|)} is VALID [2020-07-08 22:26:24,389 INFO L280 TraceCheckUtils]: 8: Hoare triple {23818#(= 0 |main_#t~malloc2.offset|)} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {23819#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:24,389 INFO L280 TraceCheckUtils]: 9: Hoare triple {23819#(= 0 main_~root~0.offset)} havoc ~n~0.base, ~n~0.offset; {23819#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:24,390 INFO L280 TraceCheckUtils]: 10: Hoare triple {23819#(= 0 main_~root~0.offset)} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {23819#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:24,391 INFO L280 TraceCheckUtils]: 11: Hoare triple {23819#(= 0 main_~root~0.offset)} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {23819#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:24,392 INFO L280 TraceCheckUtils]: 12: Hoare triple {23819#(= 0 main_~root~0.offset)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {23819#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:24,393 INFO L280 TraceCheckUtils]: 13: Hoare triple {23819#(= 0 main_~root~0.offset)} assume !(0 != #t~nondet3); {23819#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:24,394 INFO L280 TraceCheckUtils]: 14: Hoare triple {23819#(= 0 main_~root~0.offset)} havoc #t~nondet3; {23819#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:24,394 INFO L280 TraceCheckUtils]: 15: Hoare triple {23819#(= 0 main_~root~0.offset)} ~n~0.base, ~n~0.offset := 0, 0; {23819#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:24,395 INFO L280 TraceCheckUtils]: 16: Hoare triple {23819#(= 0 main_~root~0.offset)} havoc ~pred~0.base, ~pred~0.offset; {23819#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:24,396 INFO L280 TraceCheckUtils]: 17: Hoare triple {23819#(= 0 main_~root~0.offset)} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {23819#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:24,397 INFO L280 TraceCheckUtils]: 18: Hoare triple {23819#(= 0 main_~root~0.offset)} ~pred~0.base, ~pred~0.offset := 0, 0; {23819#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:24,397 INFO L280 TraceCheckUtils]: 19: Hoare triple {23819#(= 0 main_~root~0.offset)} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {23811#true} is VALID [2020-07-08 22:26:24,398 INFO L280 TraceCheckUtils]: 20: Hoare triple {23811#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {23811#true} is VALID [2020-07-08 22:26:24,398 INFO L280 TraceCheckUtils]: 21: Hoare triple {23811#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {23811#true} is VALID [2020-07-08 22:26:24,398 INFO L280 TraceCheckUtils]: 22: Hoare triple {23811#true} assume !#t~short24; {23811#true} is VALID [2020-07-08 22:26:24,399 INFO L280 TraceCheckUtils]: 23: Hoare triple {23811#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {23811#true} is VALID [2020-07-08 22:26:24,399 INFO L280 TraceCheckUtils]: 24: Hoare triple {23811#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {23811#true} is VALID [2020-07-08 22:26:24,399 INFO L280 TraceCheckUtils]: 25: Hoare triple {23811#true} assume !#t~short24; {23811#true} is VALID [2020-07-08 22:26:24,399 INFO L280 TraceCheckUtils]: 26: Hoare triple {23811#true} havoc #t~mem23.base, #t~mem23.offset; {23811#true} is VALID [2020-07-08 22:26:24,400 INFO L280 TraceCheckUtils]: 27: Hoare triple {23811#true} havoc #t~short24; {23811#true} is VALID [2020-07-08 22:26:24,400 INFO L280 TraceCheckUtils]: 28: Hoare triple {23811#true} havoc #t~mem22.base, #t~mem22.offset; {23811#true} is VALID [2020-07-08 22:26:24,400 INFO L280 TraceCheckUtils]: 29: Hoare triple {23811#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {23811#true} is VALID [2020-07-08 22:26:24,401 INFO L280 TraceCheckUtils]: 30: Hoare triple {23811#true} ~root~0.base, ~root~0.offset := 0, 0; {23811#true} is VALID [2020-07-08 22:26:24,401 INFO L280 TraceCheckUtils]: 31: Hoare triple {23811#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {23811#true} is VALID [2020-07-08 22:26:24,401 INFO L280 TraceCheckUtils]: 32: Hoare triple {23811#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {23811#true} is VALID [2020-07-08 22:26:24,403 INFO L280 TraceCheckUtils]: 33: Hoare triple {23811#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {23820#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-08 22:26:24,404 INFO L280 TraceCheckUtils]: 34: Hoare triple {23820#(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; {23821#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:26:24,405 INFO L280 TraceCheckUtils]: 35: Hoare triple {23821#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {23821#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:26:24,406 INFO L280 TraceCheckUtils]: 36: Hoare triple {23821#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {23821#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:26:24,407 INFO L280 TraceCheckUtils]: 37: Hoare triple {23821#(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; {23822#(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-08 22:26:24,408 INFO L280 TraceCheckUtils]: 38: Hoare triple {23822#(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; {23822#(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-08 22:26:24,410 INFO L280 TraceCheckUtils]: 39: Hoare triple {23822#(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); {23822#(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-08 22:26:24,411 INFO L280 TraceCheckUtils]: 40: Hoare triple {23822#(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; {23822#(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-08 22:26:24,412 INFO L280 TraceCheckUtils]: 41: Hoare triple {23822#(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; {23822#(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-08 22:26:24,413 INFO L280 TraceCheckUtils]: 42: Hoare triple {23822#(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); {23822#(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-08 22:26:24,414 INFO L280 TraceCheckUtils]: 43: Hoare triple {23822#(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; {23822#(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-08 22:26:24,416 INFO L280 TraceCheckUtils]: 44: Hoare triple {23822#(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 {23822#(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-08 22:26:24,417 INFO L280 TraceCheckUtils]: 45: Hoare triple {23822#(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 {23823#(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-08 22:26:24,419 INFO L280 TraceCheckUtils]: 46: Hoare triple {23823#(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; {23824#(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-08 22:26:24,420 INFO L280 TraceCheckUtils]: 47: Hoare triple {23824#(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); {23824#(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-08 22:26:24,422 INFO L280 TraceCheckUtils]: 48: Hoare triple {23824#(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 {23825#(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-08 22:26:24,423 INFO L280 TraceCheckUtils]: 49: Hoare triple {23825#(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 {23826#(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-08 22:26:24,425 INFO L280 TraceCheckUtils]: 50: Hoare triple {23826#(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; {23827#(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-08 22:26:24,426 INFO L280 TraceCheckUtils]: 51: Hoare triple {23827#(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; {23827#(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-08 22:26:24,427 INFO L280 TraceCheckUtils]: 52: Hoare triple {23827#(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; {23827#(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-08 22:26:24,428 INFO L280 TraceCheckUtils]: 53: Hoare triple {23827#(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); {23827#(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-08 22:26:24,429 INFO L280 TraceCheckUtils]: 54: Hoare triple {23827#(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; {23827#(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-08 22:26:24,430 INFO L280 TraceCheckUtils]: 55: Hoare triple {23827#(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 {23828#(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-08 22:26:24,431 INFO L280 TraceCheckUtils]: 56: Hoare triple {23828#(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; {23829#(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-08 22:26:24,432 INFO L280 TraceCheckUtils]: 57: Hoare triple {23829#(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 {23829#(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-08 22:26:24,433 INFO L280 TraceCheckUtils]: 58: Hoare triple {23829#(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); {23829#(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-08 22:26:24,434 INFO L280 TraceCheckUtils]: 59: Hoare triple {23829#(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; {23829#(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-08 22:26:24,434 INFO L280 TraceCheckUtils]: 60: Hoare triple {23829#(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 {23830#(= 3 (select (select |#memory_int| |main_#t~mem37.base|) |main_#t~mem37.offset|))} is VALID [2020-07-08 22:26:24,435 INFO L280 TraceCheckUtils]: 61: Hoare triple {23830#(= 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; {23831#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:26:24,436 INFO L280 TraceCheckUtils]: 62: Hoare triple {23831#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem37.base, #t~mem37.offset; {23831#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:26:24,437 INFO L280 TraceCheckUtils]: 63: Hoare triple {23831#(= 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 {23832#(= |main_#t~mem36| 3)} is VALID [2020-07-08 22:26:24,437 INFO L280 TraceCheckUtils]: 64: Hoare triple {23832#(= |main_#t~mem36| 3)} assume !!(2 == #t~mem36); {23812#false} is VALID [2020-07-08 22:26:24,437 INFO L280 TraceCheckUtils]: 65: Hoare triple {23812#false} havoc #t~mem36; {23812#false} is VALID [2020-07-08 22:26:24,437 INFO L280 TraceCheckUtils]: 66: Hoare triple {23812#false} SUMMARY for call #t~mem37.base, #t~mem37.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L605 {23812#false} is VALID [2020-07-08 22:26:24,438 INFO L280 TraceCheckUtils]: 67: Hoare triple {23812#false} ~p~0.base, ~p~0.offset := #t~mem37.base, #t~mem37.offset; {23812#false} is VALID [2020-07-08 22:26:24,438 INFO L280 TraceCheckUtils]: 68: Hoare triple {23812#false} havoc #t~mem37.base, #t~mem37.offset; {23812#false} is VALID [2020-07-08 22:26:24,438 INFO L280 TraceCheckUtils]: 69: Hoare triple {23812#false} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {23812#false} is VALID [2020-07-08 22:26:24,438 INFO L280 TraceCheckUtils]: 70: Hoare triple {23812#false} assume !(2 == #t~mem36); {23812#false} is VALID [2020-07-08 22:26:24,438 INFO L280 TraceCheckUtils]: 71: Hoare triple {23812#false} havoc #t~mem36; {23812#false} is VALID [2020-07-08 22:26:24,439 INFO L280 TraceCheckUtils]: 72: Hoare triple {23812#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {23812#false} is VALID [2020-07-08 22:26:24,439 INFO L280 TraceCheckUtils]: 73: Hoare triple {23812#false} assume !(1 == #t~mem38); {23812#false} is VALID [2020-07-08 22:26:24,439 INFO L280 TraceCheckUtils]: 74: Hoare triple {23812#false} havoc #t~mem38; {23812#false} is VALID [2020-07-08 22:26:24,439 INFO L280 TraceCheckUtils]: 75: Hoare triple {23812#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {23812#false} is VALID [2020-07-08 22:26:24,439 INFO L280 TraceCheckUtils]: 76: Hoare triple {23812#false} assume 3 != #t~mem40; {23812#false} is VALID [2020-07-08 22:26:24,439 INFO L280 TraceCheckUtils]: 77: Hoare triple {23812#false} havoc #t~mem40; {23812#false} is VALID [2020-07-08 22:26:24,440 INFO L280 TraceCheckUtils]: 78: Hoare triple {23812#false} assume !false; {23812#false} is VALID [2020-07-08 22:26:24,456 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 8 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 22:26:24,457 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1555182604] [2020-07-08 22:26:24,457 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:26:24,457 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18] total 18 [2020-07-08 22:26:24,458 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [563762474] [2020-07-08 22:26:24,458 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 79 [2020-07-08 22:26:24,459 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:26:24,459 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-08 22:26:24,589 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-08 22:26:24,589 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-08 22:26:24,589 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:26:24,590 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-08 22:26:24,590 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=272, Unknown=0, NotChecked=0, Total=306 [2020-07-08 22:26:24,591 INFO L87 Difference]: Start difference. First operand 286 states and 315 transitions. Second operand 18 states. [2020-07-08 22:26:30,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:26:30,534 INFO L93 Difference]: Finished difference Result 332 states and 363 transitions. [2020-07-08 22:26:30,534 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-08 22:26:30,534 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 79 [2020-07-08 22:26:30,534 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:26:30,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-08 22:26:30,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 266 transitions. [2020-07-08 22:26:30,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-08 22:26:30,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 266 transitions. [2020-07-08 22:26:30,538 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 266 transitions. [2020-07-08 22:26:30,896 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-08 22:26:30,902 INFO L225 Difference]: With dead ends: 332 [2020-07-08 22:26:30,903 INFO L226 Difference]: Without dead ends: 302 [2020-07-08 22:26:30,903 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 5 SyntacticMatches, 1 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 86 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=239, Invalid=951, Unknown=0, NotChecked=0, Total=1190 [2020-07-08 22:26:30,904 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 302 states. [2020-07-08 22:26:31,956 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 302 to 275. [2020-07-08 22:26:31,957 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:26:31,957 INFO L82 GeneralOperation]: Start isEquivalent. First operand 302 states. Second operand 275 states. [2020-07-08 22:26:31,957 INFO L74 IsIncluded]: Start isIncluded. First operand 302 states. Second operand 275 states. [2020-07-08 22:26:31,957 INFO L87 Difference]: Start difference. First operand 302 states. Second operand 275 states. [2020-07-08 22:26:31,963 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:26:31,964 INFO L93 Difference]: Finished difference Result 302 states and 331 transitions. [2020-07-08 22:26:31,964 INFO L276 IsEmpty]: Start isEmpty. Operand 302 states and 331 transitions. [2020-07-08 22:26:31,964 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:26:31,964 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:26:31,964 INFO L74 IsIncluded]: Start isIncluded. First operand 275 states. Second operand 302 states. [2020-07-08 22:26:31,964 INFO L87 Difference]: Start difference. First operand 275 states. Second operand 302 states. [2020-07-08 22:26:31,971 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:26:31,971 INFO L93 Difference]: Finished difference Result 302 states and 331 transitions. [2020-07-08 22:26:31,971 INFO L276 IsEmpty]: Start isEmpty. Operand 302 states and 331 transitions. [2020-07-08 22:26:31,972 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:26:31,972 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:26:31,972 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:26:31,972 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:26:31,972 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 275 states. [2020-07-08 22:26:31,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 275 states to 275 states and 303 transitions. [2020-07-08 22:26:31,977 INFO L78 Accepts]: Start accepts. Automaton has 275 states and 303 transitions. Word has length 79 [2020-07-08 22:26:31,977 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:26:31,977 INFO L479 AbstractCegarLoop]: Abstraction has 275 states and 303 transitions. [2020-07-08 22:26:31,977 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-08 22:26:31,977 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 275 states and 303 transitions. [2020-07-08 22:26:32,630 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 303 edges. 303 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:26:32,631 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 303 transitions. [2020-07-08 22:26:32,632 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2020-07-08 22:26:32,632 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:26:32,632 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-08 22:26:32,633 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14 [2020-07-08 22:26:32,633 INFO L427 AbstractCegarLoop]: === Iteration 16 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:26:32,633 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:26:32,633 INFO L82 PathProgramCache]: Analyzing trace with hash 1643861864, now seen corresponding path program 2 times [2020-07-08 22:26:32,633 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:26:32,634 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [154299957] [2020-07-08 22:26:32,634 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:26:32,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:26:33,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:26:33,179 INFO L280 TraceCheckUtils]: 0: Hoare triple {25711#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {25689#true} is VALID [2020-07-08 22:26:33,180 INFO L280 TraceCheckUtils]: 1: Hoare triple {25689#true} #valid := #valid[0 := 0]; {25689#true} is VALID [2020-07-08 22:26:33,180 INFO L280 TraceCheckUtils]: 2: Hoare triple {25689#true} assume 0 < #StackHeapBarrier; {25689#true} is VALID [2020-07-08 22:26:33,180 INFO L280 TraceCheckUtils]: 3: Hoare triple {25689#true} assume true; {25689#true} is VALID [2020-07-08 22:26:33,180 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {25689#true} {25689#true} #349#return; {25689#true} is VALID [2020-07-08 22:26:33,181 INFO L263 TraceCheckUtils]: 0: Hoare triple {25689#true} call ULTIMATE.init(); {25711#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 22:26:33,181 INFO L280 TraceCheckUtils]: 1: Hoare triple {25711#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {25689#true} is VALID [2020-07-08 22:26:33,181 INFO L280 TraceCheckUtils]: 2: Hoare triple {25689#true} #valid := #valid[0 := 0]; {25689#true} is VALID [2020-07-08 22:26:33,181 INFO L280 TraceCheckUtils]: 3: Hoare triple {25689#true} assume 0 < #StackHeapBarrier; {25689#true} is VALID [2020-07-08 22:26:33,182 INFO L280 TraceCheckUtils]: 4: Hoare triple {25689#true} assume true; {25689#true} is VALID [2020-07-08 22:26:33,182 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {25689#true} {25689#true} #349#return; {25689#true} is VALID [2020-07-08 22:26:33,182 INFO L263 TraceCheckUtils]: 6: Hoare triple {25689#true} call #t~ret41 := main(); {25689#true} is VALID [2020-07-08 22:26:33,183 INFO L280 TraceCheckUtils]: 7: Hoare triple {25689#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {25696#(= 0 |main_#t~malloc2.offset|)} is VALID [2020-07-08 22:26:33,183 INFO L280 TraceCheckUtils]: 8: Hoare triple {25696#(= 0 |main_#t~malloc2.offset|)} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {25697#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:33,184 INFO L280 TraceCheckUtils]: 9: Hoare triple {25697#(= 0 main_~root~0.offset)} havoc ~n~0.base, ~n~0.offset; {25697#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:33,184 INFO L280 TraceCheckUtils]: 10: Hoare triple {25697#(= 0 main_~root~0.offset)} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {25697#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:33,185 INFO L280 TraceCheckUtils]: 11: Hoare triple {25697#(= 0 main_~root~0.offset)} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {25697#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:33,185 INFO L280 TraceCheckUtils]: 12: Hoare triple {25697#(= 0 main_~root~0.offset)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {25697#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:33,186 INFO L280 TraceCheckUtils]: 13: Hoare triple {25697#(= 0 main_~root~0.offset)} assume !(0 != #t~nondet3); {25697#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:33,186 INFO L280 TraceCheckUtils]: 14: Hoare triple {25697#(= 0 main_~root~0.offset)} havoc #t~nondet3; {25697#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:33,187 INFO L280 TraceCheckUtils]: 15: Hoare triple {25697#(= 0 main_~root~0.offset)} ~n~0.base, ~n~0.offset := 0, 0; {25697#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:33,187 INFO L280 TraceCheckUtils]: 16: Hoare triple {25697#(= 0 main_~root~0.offset)} havoc ~pred~0.base, ~pred~0.offset; {25697#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:33,188 INFO L280 TraceCheckUtils]: 17: Hoare triple {25697#(= 0 main_~root~0.offset)} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {25697#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:33,188 INFO L280 TraceCheckUtils]: 18: Hoare triple {25697#(= 0 main_~root~0.offset)} ~pred~0.base, ~pred~0.offset := 0, 0; {25697#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:33,188 INFO L280 TraceCheckUtils]: 19: Hoare triple {25697#(= 0 main_~root~0.offset)} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {25689#true} is VALID [2020-07-08 22:26:33,188 INFO L280 TraceCheckUtils]: 20: Hoare triple {25689#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {25689#true} is VALID [2020-07-08 22:26:33,189 INFO L280 TraceCheckUtils]: 21: Hoare triple {25689#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {25689#true} is VALID [2020-07-08 22:26:33,189 INFO L280 TraceCheckUtils]: 22: Hoare triple {25689#true} assume !#t~short24; {25689#true} is VALID [2020-07-08 22:26:33,189 INFO L280 TraceCheckUtils]: 23: Hoare triple {25689#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {25689#true} is VALID [2020-07-08 22:26:33,189 INFO L280 TraceCheckUtils]: 24: Hoare triple {25689#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {25689#true} is VALID [2020-07-08 22:26:33,189 INFO L280 TraceCheckUtils]: 25: Hoare triple {25689#true} assume !#t~short24; {25689#true} is VALID [2020-07-08 22:26:33,189 INFO L280 TraceCheckUtils]: 26: Hoare triple {25689#true} havoc #t~mem23.base, #t~mem23.offset; {25689#true} is VALID [2020-07-08 22:26:33,190 INFO L280 TraceCheckUtils]: 27: Hoare triple {25689#true} havoc #t~short24; {25689#true} is VALID [2020-07-08 22:26:33,190 INFO L280 TraceCheckUtils]: 28: Hoare triple {25689#true} havoc #t~mem22.base, #t~mem22.offset; {25689#true} is VALID [2020-07-08 22:26:33,190 INFO L280 TraceCheckUtils]: 29: Hoare triple {25689#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {25689#true} is VALID [2020-07-08 22:26:33,190 INFO L280 TraceCheckUtils]: 30: Hoare triple {25689#true} ~root~0.base, ~root~0.offset := 0, 0; {25689#true} is VALID [2020-07-08 22:26:33,190 INFO L280 TraceCheckUtils]: 31: Hoare triple {25689#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {25689#true} is VALID [2020-07-08 22:26:33,190 INFO L280 TraceCheckUtils]: 32: Hoare triple {25689#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {25689#true} is VALID [2020-07-08 22:26:33,191 INFO L280 TraceCheckUtils]: 33: Hoare triple {25689#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {25698#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-08 22:26:33,192 INFO L280 TraceCheckUtils]: 34: Hoare triple {25698#(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; {25699#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:26:33,193 INFO L280 TraceCheckUtils]: 35: Hoare triple {25699#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {25699#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:26:33,193 INFO L280 TraceCheckUtils]: 36: Hoare triple {25699#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {25699#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:26:33,194 INFO L280 TraceCheckUtils]: 37: Hoare triple {25699#(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; {25700#(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-08 22:26:33,195 INFO L280 TraceCheckUtils]: 38: Hoare triple {25700#(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; {25700#(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-08 22:26:33,195 INFO L280 TraceCheckUtils]: 39: Hoare triple {25700#(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); {25700#(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-08 22:26:33,196 INFO L280 TraceCheckUtils]: 40: Hoare triple {25700#(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; {25700#(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-08 22:26:33,196 INFO L280 TraceCheckUtils]: 41: Hoare triple {25700#(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 {25700#(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-08 22:26:33,197 INFO L280 TraceCheckUtils]: 42: Hoare triple {25700#(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 {25701#(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-08 22:26:33,197 INFO L280 TraceCheckUtils]: 43: Hoare triple {25701#(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; {25702#(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-08 22:26:33,198 INFO L280 TraceCheckUtils]: 44: Hoare triple {25702#(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); {25702#(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-08 22:26:33,199 INFO L280 TraceCheckUtils]: 45: Hoare triple {25702#(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 {25703#(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-08 22:26:33,200 INFO L280 TraceCheckUtils]: 46: Hoare triple {25703#(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 {25704#(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-08 22:26:33,200 INFO L280 TraceCheckUtils]: 47: Hoare triple {25704#(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; {25705#(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-08 22:26:33,201 INFO L280 TraceCheckUtils]: 48: Hoare triple {25705#(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; {25705#(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-08 22:26:33,201 INFO L280 TraceCheckUtils]: 49: Hoare triple {25705#(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; {25705#(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-08 22:26:33,202 INFO L280 TraceCheckUtils]: 50: Hoare triple {25705#(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); {25705#(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-08 22:26:33,203 INFO L280 TraceCheckUtils]: 51: Hoare triple {25705#(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; {25705#(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-08 22:26:33,204 INFO L280 TraceCheckUtils]: 52: Hoare triple {25705#(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; {25705#(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-08 22:26:33,205 INFO L280 TraceCheckUtils]: 53: Hoare triple {25705#(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); {25705#(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-08 22:26:33,206 INFO L280 TraceCheckUtils]: 54: Hoare triple {25705#(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; {25705#(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-08 22:26:33,207 INFO L280 TraceCheckUtils]: 55: Hoare triple {25705#(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 {25706#(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-08 22:26:33,208 INFO L280 TraceCheckUtils]: 56: Hoare triple {25706#(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; {25707#(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-08 22:26:33,209 INFO L280 TraceCheckUtils]: 57: Hoare triple {25707#(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 {25707#(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-08 22:26:33,210 INFO L280 TraceCheckUtils]: 58: Hoare triple {25707#(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); {25707#(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-08 22:26:33,210 INFO L280 TraceCheckUtils]: 59: Hoare triple {25707#(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; {25707#(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-08 22:26:33,211 INFO L280 TraceCheckUtils]: 60: Hoare triple {25707#(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 {25707#(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-08 22:26:33,211 INFO L280 TraceCheckUtils]: 61: Hoare triple {25707#(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); {25707#(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-08 22:26:33,212 INFO L280 TraceCheckUtils]: 62: Hoare triple {25707#(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; {25707#(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-08 22:26:33,212 INFO L280 TraceCheckUtils]: 63: Hoare triple {25707#(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 {25708#(= 3 (select (select |#memory_int| |main_#t~mem39.base|) |main_#t~mem39.offset|))} is VALID [2020-07-08 22:26:33,213 INFO L280 TraceCheckUtils]: 64: Hoare triple {25708#(= 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; {25709#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:26:33,213 INFO L280 TraceCheckUtils]: 65: Hoare triple {25709#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem39.base, #t~mem39.offset; {25709#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:26:33,214 INFO L280 TraceCheckUtils]: 66: Hoare triple {25709#(= 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 {25710#(= |main_#t~mem38| 3)} is VALID [2020-07-08 22:26:33,214 INFO L280 TraceCheckUtils]: 67: Hoare triple {25710#(= |main_#t~mem38| 3)} assume !!(1 == #t~mem38); {25690#false} is VALID [2020-07-08 22:26:33,214 INFO L280 TraceCheckUtils]: 68: Hoare triple {25690#false} havoc #t~mem38; {25690#false} is VALID [2020-07-08 22:26:33,214 INFO L280 TraceCheckUtils]: 69: Hoare triple {25690#false} SUMMARY for call #t~mem39.base, #t~mem39.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L607 {25690#false} is VALID [2020-07-08 22:26:33,215 INFO L280 TraceCheckUtils]: 70: Hoare triple {25690#false} ~p~0.base, ~p~0.offset := #t~mem39.base, #t~mem39.offset; {25690#false} is VALID [2020-07-08 22:26:33,215 INFO L280 TraceCheckUtils]: 71: Hoare triple {25690#false} havoc #t~mem39.base, #t~mem39.offset; {25690#false} is VALID [2020-07-08 22:26:33,215 INFO L280 TraceCheckUtils]: 72: Hoare triple {25690#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {25690#false} is VALID [2020-07-08 22:26:33,215 INFO L280 TraceCheckUtils]: 73: Hoare triple {25690#false} assume !(1 == #t~mem38); {25690#false} is VALID [2020-07-08 22:26:33,215 INFO L280 TraceCheckUtils]: 74: Hoare triple {25690#false} havoc #t~mem38; {25690#false} is VALID [2020-07-08 22:26:33,215 INFO L280 TraceCheckUtils]: 75: Hoare triple {25690#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {25690#false} is VALID [2020-07-08 22:26:33,215 INFO L280 TraceCheckUtils]: 76: Hoare triple {25690#false} assume 3 != #t~mem40; {25690#false} is VALID [2020-07-08 22:26:33,215 INFO L280 TraceCheckUtils]: 77: Hoare triple {25690#false} havoc #t~mem40; {25690#false} is VALID [2020-07-08 22:26:33,216 INFO L280 TraceCheckUtils]: 78: Hoare triple {25690#false} assume !false; {25690#false} is VALID [2020-07-08 22:26:33,226 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 8 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 22:26:33,227 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [154299957] [2020-07-08 22:26:33,227 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:26:33,227 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18] total 18 [2020-07-08 22:26:33,227 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [120771378] [2020-07-08 22:26:33,230 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 79 [2020-07-08 22:26:33,230 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:26:33,230 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-08 22:26:33,325 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-08 22:26:33,326 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-08 22:26:33,326 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:26:33,326 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-08 22:26:33,327 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=272, Unknown=0, NotChecked=0, Total=306 [2020-07-08 22:26:33,327 INFO L87 Difference]: Start difference. First operand 275 states and 303 transitions. Second operand 18 states. [2020-07-08 22:26:39,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:26:39,328 INFO L93 Difference]: Finished difference Result 314 states and 343 transitions. [2020-07-08 22:26:39,328 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-08 22:26:39,328 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 79 [2020-07-08 22:26:39,329 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:26:39,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-08 22:26:39,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 273 transitions. [2020-07-08 22:26:39,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-08 22:26:39,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 273 transitions. [2020-07-08 22:26:39,332 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 273 transitions. [2020-07-08 22:26:39,706 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-08 22:26:39,715 INFO L225 Difference]: With dead ends: 314 [2020-07-08 22:26:39,715 INFO L226 Difference]: Without dead ends: 288 [2020-07-08 22:26:39,716 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 5 SyntacticMatches, 1 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 89 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=239, Invalid=951, Unknown=0, NotChecked=0, Total=1190 [2020-07-08 22:26:39,717 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 288 states. [2020-07-08 22:26:40,574 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 288 to 261. [2020-07-08 22:26:40,574 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:26:40,574 INFO L82 GeneralOperation]: Start isEquivalent. First operand 288 states. Second operand 261 states. [2020-07-08 22:26:40,575 INFO L74 IsIncluded]: Start isIncluded. First operand 288 states. Second operand 261 states. [2020-07-08 22:26:40,575 INFO L87 Difference]: Start difference. First operand 288 states. Second operand 261 states. [2020-07-08 22:26:40,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:26:40,581 INFO L93 Difference]: Finished difference Result 288 states and 316 transitions. [2020-07-08 22:26:40,581 INFO L276 IsEmpty]: Start isEmpty. Operand 288 states and 316 transitions. [2020-07-08 22:26:40,581 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:26:40,581 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:26:40,582 INFO L74 IsIncluded]: Start isIncluded. First operand 261 states. Second operand 288 states. [2020-07-08 22:26:40,582 INFO L87 Difference]: Start difference. First operand 261 states. Second operand 288 states. [2020-07-08 22:26:40,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:26:40,587 INFO L93 Difference]: Finished difference Result 288 states and 316 transitions. [2020-07-08 22:26:40,587 INFO L276 IsEmpty]: Start isEmpty. Operand 288 states and 316 transitions. [2020-07-08 22:26:40,587 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:26:40,587 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:26:40,588 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:26:40,588 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:26:40,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 261 states. [2020-07-08 22:26:40,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 261 states to 261 states and 288 transitions. [2020-07-08 22:26:40,592 INFO L78 Accepts]: Start accepts. Automaton has 261 states and 288 transitions. Word has length 79 [2020-07-08 22:26:40,592 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:26:40,592 INFO L479 AbstractCegarLoop]: Abstraction has 261 states and 288 transitions. [2020-07-08 22:26:40,592 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-08 22:26:40,593 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 261 states and 288 transitions. [2020-07-08 22:26:41,232 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 288 edges. 288 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:26:41,233 INFO L276 IsEmpty]: Start isEmpty. Operand 261 states and 288 transitions. [2020-07-08 22:26:41,233 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2020-07-08 22:26:41,233 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:26:41,234 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-08 22:26:41,234 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15 [2020-07-08 22:26:41,234 INFO L427 AbstractCegarLoop]: === Iteration 17 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:26:41,234 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:26:41,235 INFO L82 PathProgramCache]: Analyzing trace with hash 1435872375, now seen corresponding path program 1 times [2020-07-08 22:26:41,235 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:26:41,235 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1771138124] [2020-07-08 22:26:41,235 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:26:41,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:26:41,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:26:41,909 INFO L280 TraceCheckUtils]: 0: Hoare triple {27501#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {27475#true} is VALID [2020-07-08 22:26:41,909 INFO L280 TraceCheckUtils]: 1: Hoare triple {27475#true} #valid := #valid[0 := 0]; {27475#true} is VALID [2020-07-08 22:26:41,909 INFO L280 TraceCheckUtils]: 2: Hoare triple {27475#true} assume 0 < #StackHeapBarrier; {27475#true} is VALID [2020-07-08 22:26:41,909 INFO L280 TraceCheckUtils]: 3: Hoare triple {27475#true} assume true; {27475#true} is VALID [2020-07-08 22:26:41,910 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {27475#true} {27475#true} #349#return; {27475#true} is VALID [2020-07-08 22:26:41,911 INFO L263 TraceCheckUtils]: 0: Hoare triple {27475#true} call ULTIMATE.init(); {27501#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 22:26:41,911 INFO L280 TraceCheckUtils]: 1: Hoare triple {27501#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {27475#true} is VALID [2020-07-08 22:26:41,911 INFO L280 TraceCheckUtils]: 2: Hoare triple {27475#true} #valid := #valid[0 := 0]; {27475#true} is VALID [2020-07-08 22:26:41,911 INFO L280 TraceCheckUtils]: 3: Hoare triple {27475#true} assume 0 < #StackHeapBarrier; {27475#true} is VALID [2020-07-08 22:26:41,911 INFO L280 TraceCheckUtils]: 4: Hoare triple {27475#true} assume true; {27475#true} is VALID [2020-07-08 22:26:41,911 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {27475#true} {27475#true} #349#return; {27475#true} is VALID [2020-07-08 22:26:41,912 INFO L263 TraceCheckUtils]: 6: Hoare triple {27475#true} call #t~ret41 := main(); {27475#true} is VALID [2020-07-08 22:26:41,912 INFO L280 TraceCheckUtils]: 7: Hoare triple {27475#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {27475#true} is VALID [2020-07-08 22:26:41,912 INFO L280 TraceCheckUtils]: 8: Hoare triple {27475#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {27475#true} is VALID [2020-07-08 22:26:41,912 INFO L280 TraceCheckUtils]: 9: Hoare triple {27475#true} havoc ~n~0.base, ~n~0.offset; {27475#true} is VALID [2020-07-08 22:26:41,912 INFO L280 TraceCheckUtils]: 10: Hoare triple {27475#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {27475#true} is VALID [2020-07-08 22:26:41,912 INFO L280 TraceCheckUtils]: 11: Hoare triple {27475#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {27475#true} is VALID [2020-07-08 22:26:41,913 INFO L280 TraceCheckUtils]: 12: Hoare triple {27475#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {27475#true} is VALID [2020-07-08 22:26:41,913 INFO L280 TraceCheckUtils]: 13: Hoare triple {27475#true} assume !(0 != #t~nondet3); {27475#true} is VALID [2020-07-08 22:26:41,913 INFO L280 TraceCheckUtils]: 14: Hoare triple {27475#true} havoc #t~nondet3; {27475#true} is VALID [2020-07-08 22:26:41,913 INFO L280 TraceCheckUtils]: 15: Hoare triple {27475#true} ~n~0.base, ~n~0.offset := 0, 0; {27475#true} is VALID [2020-07-08 22:26:41,913 INFO L280 TraceCheckUtils]: 16: Hoare triple {27475#true} havoc ~pred~0.base, ~pred~0.offset; {27475#true} is VALID [2020-07-08 22:26:41,913 INFO L280 TraceCheckUtils]: 17: Hoare triple {27475#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {27475#true} is VALID [2020-07-08 22:26:41,914 INFO L280 TraceCheckUtils]: 18: Hoare triple {27475#true} ~pred~0.base, ~pred~0.offset := 0, 0; {27475#true} is VALID [2020-07-08 22:26:41,914 INFO L280 TraceCheckUtils]: 19: Hoare triple {27475#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {27475#true} is VALID [2020-07-08 22:26:41,914 INFO L280 TraceCheckUtils]: 20: Hoare triple {27475#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {27475#true} is VALID [2020-07-08 22:26:41,914 INFO L280 TraceCheckUtils]: 21: Hoare triple {27475#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {27475#true} is VALID [2020-07-08 22:26:41,914 INFO L280 TraceCheckUtils]: 22: Hoare triple {27475#true} assume !#t~short24; {27475#true} is VALID [2020-07-08 22:26:41,914 INFO L280 TraceCheckUtils]: 23: Hoare triple {27475#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {27475#true} is VALID [2020-07-08 22:26:41,915 INFO L280 TraceCheckUtils]: 24: Hoare triple {27475#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {27475#true} is VALID [2020-07-08 22:26:41,915 INFO L280 TraceCheckUtils]: 25: Hoare triple {27475#true} assume !#t~short24; {27475#true} is VALID [2020-07-08 22:26:41,915 INFO L280 TraceCheckUtils]: 26: Hoare triple {27475#true} havoc #t~mem23.base, #t~mem23.offset; {27475#true} is VALID [2020-07-08 22:26:41,915 INFO L280 TraceCheckUtils]: 27: Hoare triple {27475#true} havoc #t~short24; {27475#true} is VALID [2020-07-08 22:26:41,915 INFO L280 TraceCheckUtils]: 28: Hoare triple {27475#true} havoc #t~mem22.base, #t~mem22.offset; {27475#true} is VALID [2020-07-08 22:26:41,915 INFO L280 TraceCheckUtils]: 29: Hoare triple {27475#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {27475#true} is VALID [2020-07-08 22:26:41,916 INFO L280 TraceCheckUtils]: 30: Hoare triple {27475#true} ~root~0.base, ~root~0.offset := 0, 0; {27475#true} is VALID [2020-07-08 22:26:41,916 INFO L280 TraceCheckUtils]: 31: Hoare triple {27475#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {27475#true} is VALID [2020-07-08 22:26:41,916 INFO L280 TraceCheckUtils]: 32: Hoare triple {27475#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {27475#true} is VALID [2020-07-08 22:26:41,917 INFO L280 TraceCheckUtils]: 33: Hoare triple {27475#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {27482#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-08 22:26:41,918 INFO L280 TraceCheckUtils]: 34: Hoare triple {27482#(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; {27483#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:26:41,919 INFO L280 TraceCheckUtils]: 35: Hoare triple {27483#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {27483#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:26:41,919 INFO L280 TraceCheckUtils]: 36: Hoare triple {27483#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {27483#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:26:41,920 INFO L280 TraceCheckUtils]: 37: Hoare triple {27483#(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; {27484#(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-08 22:26:41,921 INFO L280 TraceCheckUtils]: 38: Hoare triple {27484#(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; {27484#(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-08 22:26:41,922 INFO L280 TraceCheckUtils]: 39: Hoare triple {27484#(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); {27484#(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-08 22:26:41,922 INFO L280 TraceCheckUtils]: 40: Hoare triple {27484#(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; {27484#(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-08 22:26:41,923 INFO L280 TraceCheckUtils]: 41: Hoare triple {27484#(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; {27484#(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-08 22:26:41,924 INFO L280 TraceCheckUtils]: 42: Hoare triple {27484#(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); {27484#(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-08 22:26:41,925 INFO L280 TraceCheckUtils]: 43: Hoare triple {27484#(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; {27484#(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-08 22:26:41,926 INFO L280 TraceCheckUtils]: 44: Hoare triple {27484#(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 {27485#(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-08 22:26:41,927 INFO L280 TraceCheckUtils]: 45: Hoare triple {27485#(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 {27486#(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-08 22:26:41,928 INFO L280 TraceCheckUtils]: 46: Hoare triple {27486#(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; {27487#(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-08 22:26:41,929 INFO L280 TraceCheckUtils]: 47: Hoare triple {27487#(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); {27487#(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-08 22:26:41,931 INFO L280 TraceCheckUtils]: 48: Hoare triple {27487#(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 {27488#(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-08 22:26:41,932 INFO L280 TraceCheckUtils]: 49: Hoare triple {27488#(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 {27489#(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-08 22:26:41,934 INFO L280 TraceCheckUtils]: 50: Hoare triple {27489#(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; {27490#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:26:41,935 INFO L280 TraceCheckUtils]: 51: Hoare triple {27490#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} havoc #t~mem35.base, #t~mem35.offset; {27490#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:26:41,936 INFO L280 TraceCheckUtils]: 52: Hoare triple {27490#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {27490#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:26:41,937 INFO L280 TraceCheckUtils]: 53: Hoare triple {27490#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} assume !!(0 != #t~nondet33); {27490#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:26:41,937 INFO L280 TraceCheckUtils]: 54: Hoare triple {27490#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} havoc #t~nondet33; {27490#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:26:41,939 INFO L280 TraceCheckUtils]: 55: Hoare triple {27490#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {27490#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-08 22:26:41,941 INFO L280 TraceCheckUtils]: 56: Hoare triple {27490#(and (not (= main_~a~0.base main_~p~0.base)) (= 0 main_~a~0.offset) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 2)) main_~a~0.base) main_~a~0.offset)))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {27491#(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-08 22:26:41,942 INFO L280 TraceCheckUtils]: 57: Hoare triple {27491#(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; {27492#(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-08 22:26:41,943 INFO L280 TraceCheckUtils]: 58: Hoare triple {27492#(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); {27492#(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-08 22:26:41,944 INFO L280 TraceCheckUtils]: 59: Hoare triple {27492#(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 {27493#(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-08 22:26:41,945 INFO L280 TraceCheckUtils]: 60: Hoare triple {27493#(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 {27494#(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-08 22:26:41,946 INFO L280 TraceCheckUtils]: 61: Hoare triple {27494#(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; {27495#(or (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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-08 22:26:41,947 INFO L280 TraceCheckUtils]: 62: Hoare triple {27495#(or (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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; {27495#(or (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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-08 22:26:41,947 INFO L280 TraceCheckUtils]: 63: Hoare triple {27495#(or (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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; {27495#(or (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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-08 22:26:41,948 INFO L280 TraceCheckUtils]: 64: Hoare triple {27495#(or (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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); {27495#(or (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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-08 22:26:41,948 INFO L280 TraceCheckUtils]: 65: Hoare triple {27495#(or (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} havoc #t~nondet33; {27495#(or (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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-08 22:26:41,950 INFO L280 TraceCheckUtils]: 66: Hoare triple {27495#(or (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) main_~a~0.base) 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 {27496#(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-08 22:26:41,950 INFO L280 TraceCheckUtils]: 67: Hoare triple {27496#(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; {27497#(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-08 22:26:41,951 INFO L280 TraceCheckUtils]: 68: Hoare triple {27497#(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 {27498#(or (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= |main_#t~mem36| 2))} is VALID [2020-07-08 22:26:41,952 INFO L280 TraceCheckUtils]: 69: Hoare triple {27498#(or (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= |main_#t~mem36| 2))} assume !(2 == #t~mem36); {27499#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:26:41,952 INFO L280 TraceCheckUtils]: 70: Hoare triple {27499#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem36; {27499#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:26:41,953 INFO L280 TraceCheckUtils]: 71: Hoare triple {27499#(= 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 {27500#(= |main_#t~mem38| 3)} is VALID [2020-07-08 22:26:41,954 INFO L280 TraceCheckUtils]: 72: Hoare triple {27500#(= |main_#t~mem38| 3)} assume !!(1 == #t~mem38); {27476#false} is VALID [2020-07-08 22:26:41,954 INFO L280 TraceCheckUtils]: 73: Hoare triple {27476#false} havoc #t~mem38; {27476#false} is VALID [2020-07-08 22:26:41,954 INFO L280 TraceCheckUtils]: 74: Hoare triple {27476#false} SUMMARY for call #t~mem39.base, #t~mem39.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L607 {27476#false} is VALID [2020-07-08 22:26:41,954 INFO L280 TraceCheckUtils]: 75: Hoare triple {27476#false} ~p~0.base, ~p~0.offset := #t~mem39.base, #t~mem39.offset; {27476#false} is VALID [2020-07-08 22:26:41,955 INFO L280 TraceCheckUtils]: 76: Hoare triple {27476#false} havoc #t~mem39.base, #t~mem39.offset; {27476#false} is VALID [2020-07-08 22:26:41,955 INFO L280 TraceCheckUtils]: 77: Hoare triple {27476#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {27476#false} is VALID [2020-07-08 22:26:41,955 INFO L280 TraceCheckUtils]: 78: Hoare triple {27476#false} assume !(1 == #t~mem38); {27476#false} is VALID [2020-07-08 22:26:41,955 INFO L280 TraceCheckUtils]: 79: Hoare triple {27476#false} havoc #t~mem38; {27476#false} is VALID [2020-07-08 22:26:41,955 INFO L280 TraceCheckUtils]: 80: Hoare triple {27476#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {27476#false} is VALID [2020-07-08 22:26:41,956 INFO L280 TraceCheckUtils]: 81: Hoare triple {27476#false} assume 3 != #t~mem40; {27476#false} is VALID [2020-07-08 22:26:41,956 INFO L280 TraceCheckUtils]: 82: Hoare triple {27476#false} havoc #t~mem40; {27476#false} is VALID [2020-07-08 22:26:41,956 INFO L280 TraceCheckUtils]: 83: Hoare triple {27476#false} assume !false; {27476#false} is VALID [2020-07-08 22:26:41,976 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-08 22:26:41,976 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1771138124] [2020-07-08 22:26:41,976 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:26:41,976 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22] total 22 [2020-07-08 22:26:41,977 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1891102931] [2020-07-08 22:26:41,977 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 84 [2020-07-08 22:26:41,978 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:26:41,978 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2020-07-08 22:26:42,082 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-08 22:26:42,083 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2020-07-08 22:26:42,083 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:26:42,083 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2020-07-08 22:26:42,083 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=391, Unknown=0, NotChecked=0, Total=462 [2020-07-08 22:26:42,084 INFO L87 Difference]: Start difference. First operand 261 states and 288 transitions. Second operand 22 states. [2020-07-08 22:26:49,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:26:49,254 INFO L93 Difference]: Finished difference Result 339 states and 370 transitions. [2020-07-08 22:26:49,254 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2020-07-08 22:26:49,254 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 84 [2020-07-08 22:26:49,255 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:26:49,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-08 22:26:49,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 288 transitions. [2020-07-08 22:26:49,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-08 22:26:49,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 288 transitions. [2020-07-08 22:26:49,259 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 32 states and 288 transitions. [2020-07-08 22:26:49,668 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 288 edges. 288 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:26:49,674 INFO L225 Difference]: With dead ends: 339 [2020-07-08 22:26:49,674 INFO L226 Difference]: Without dead ends: 324 [2020-07-08 22:26:49,675 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 48 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 429 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=469, Invalid=1981, Unknown=0, NotChecked=0, Total=2450 [2020-07-08 22:26:49,676 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 324 states. [2020-07-08 22:26:50,680 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 324 to 279. [2020-07-08 22:26:50,680 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:26:50,680 INFO L82 GeneralOperation]: Start isEquivalent. First operand 324 states. Second operand 279 states. [2020-07-08 22:26:50,680 INFO L74 IsIncluded]: Start isIncluded. First operand 324 states. Second operand 279 states. [2020-07-08 22:26:50,681 INFO L87 Difference]: Start difference. First operand 324 states. Second operand 279 states. [2020-07-08 22:26:50,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:26:50,688 INFO L93 Difference]: Finished difference Result 324 states and 354 transitions. [2020-07-08 22:26:50,688 INFO L276 IsEmpty]: Start isEmpty. Operand 324 states and 354 transitions. [2020-07-08 22:26:50,688 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:26:50,688 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:26:50,688 INFO L74 IsIncluded]: Start isIncluded. First operand 279 states. Second operand 324 states. [2020-07-08 22:26:50,688 INFO L87 Difference]: Start difference. First operand 279 states. Second operand 324 states. [2020-07-08 22:26:50,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:26:50,697 INFO L93 Difference]: Finished difference Result 324 states and 354 transitions. [2020-07-08 22:26:50,697 INFO L276 IsEmpty]: Start isEmpty. Operand 324 states and 354 transitions. [2020-07-08 22:26:50,697 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:26:50,698 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:26:50,698 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:26:50,698 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:26:50,698 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 279 states. [2020-07-08 22:26:50,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 279 states to 279 states and 307 transitions. [2020-07-08 22:26:50,705 INFO L78 Accepts]: Start accepts. Automaton has 279 states and 307 transitions. Word has length 84 [2020-07-08 22:26:50,705 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:26:50,705 INFO L479 AbstractCegarLoop]: Abstraction has 279 states and 307 transitions. [2020-07-08 22:26:50,705 INFO L480 AbstractCegarLoop]: Interpolant automaton has 22 states. [2020-07-08 22:26:50,705 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 279 states and 307 transitions. [2020-07-08 22:26:51,412 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-08 22:26:51,412 INFO L276 IsEmpty]: Start isEmpty. Operand 279 states and 307 transitions. [2020-07-08 22:26:51,413 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2020-07-08 22:26:51,413 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:26:51,414 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-08 22:26:51,414 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16 [2020-07-08 22:26:51,414 INFO L427 AbstractCegarLoop]: === Iteration 18 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:26:51,414 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:26:51,415 INFO L82 PathProgramCache]: Analyzing trace with hash -1822413145, now seen corresponding path program 3 times [2020-07-08 22:26:51,415 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:26:51,415 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1816150777] [2020-07-08 22:26:51,415 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:26:51,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:26:52,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:26:52,558 INFO L280 TraceCheckUtils]: 0: Hoare triple {29474#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {29444#true} is VALID [2020-07-08 22:26:52,558 INFO L280 TraceCheckUtils]: 1: Hoare triple {29444#true} #valid := #valid[0 := 0]; {29444#true} is VALID [2020-07-08 22:26:52,559 INFO L280 TraceCheckUtils]: 2: Hoare triple {29444#true} assume 0 < #StackHeapBarrier; {29444#true} is VALID [2020-07-08 22:26:52,559 INFO L280 TraceCheckUtils]: 3: Hoare triple {29444#true} assume true; {29444#true} is VALID [2020-07-08 22:26:52,559 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {29444#true} {29444#true} #349#return; {29444#true} is VALID [2020-07-08 22:26:52,560 INFO L263 TraceCheckUtils]: 0: Hoare triple {29444#true} call ULTIMATE.init(); {29474#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 22:26:52,560 INFO L280 TraceCheckUtils]: 1: Hoare triple {29474#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {29444#true} is VALID [2020-07-08 22:26:52,560 INFO L280 TraceCheckUtils]: 2: Hoare triple {29444#true} #valid := #valid[0 := 0]; {29444#true} is VALID [2020-07-08 22:26:52,561 INFO L280 TraceCheckUtils]: 3: Hoare triple {29444#true} assume 0 < #StackHeapBarrier; {29444#true} is VALID [2020-07-08 22:26:52,561 INFO L280 TraceCheckUtils]: 4: Hoare triple {29444#true} assume true; {29444#true} is VALID [2020-07-08 22:26:52,561 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {29444#true} {29444#true} #349#return; {29444#true} is VALID [2020-07-08 22:26:52,561 INFO L263 TraceCheckUtils]: 6: Hoare triple {29444#true} call #t~ret41 := main(); {29444#true} is VALID [2020-07-08 22:26:52,562 INFO L280 TraceCheckUtils]: 7: Hoare triple {29444#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {29451#(= 0 |main_#t~malloc2.offset|)} is VALID [2020-07-08 22:26:52,563 INFO L280 TraceCheckUtils]: 8: Hoare triple {29451#(= 0 |main_#t~malloc2.offset|)} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {29452#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:52,563 INFO L280 TraceCheckUtils]: 9: Hoare triple {29452#(= 0 main_~root~0.offset)} havoc ~n~0.base, ~n~0.offset; {29452#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:52,564 INFO L280 TraceCheckUtils]: 10: Hoare triple {29452#(= 0 main_~root~0.offset)} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {29452#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:52,564 INFO L280 TraceCheckUtils]: 11: Hoare triple {29452#(= 0 main_~root~0.offset)} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {29452#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:52,565 INFO L280 TraceCheckUtils]: 12: Hoare triple {29452#(= 0 main_~root~0.offset)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {29452#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:52,565 INFO L280 TraceCheckUtils]: 13: Hoare triple {29452#(= 0 main_~root~0.offset)} assume !(0 != #t~nondet3); {29452#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:52,566 INFO L280 TraceCheckUtils]: 14: Hoare triple {29452#(= 0 main_~root~0.offset)} havoc #t~nondet3; {29452#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:52,567 INFO L280 TraceCheckUtils]: 15: Hoare triple {29452#(= 0 main_~root~0.offset)} ~n~0.base, ~n~0.offset := 0, 0; {29452#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:52,567 INFO L280 TraceCheckUtils]: 16: Hoare triple {29452#(= 0 main_~root~0.offset)} havoc ~pred~0.base, ~pred~0.offset; {29452#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:52,568 INFO L280 TraceCheckUtils]: 17: Hoare triple {29452#(= 0 main_~root~0.offset)} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {29452#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:52,568 INFO L280 TraceCheckUtils]: 18: Hoare triple {29452#(= 0 main_~root~0.offset)} ~pred~0.base, ~pred~0.offset := 0, 0; {29452#(= 0 main_~root~0.offset)} is VALID [2020-07-08 22:26:52,569 INFO L280 TraceCheckUtils]: 19: Hoare triple {29452#(= 0 main_~root~0.offset)} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {29444#true} is VALID [2020-07-08 22:26:52,569 INFO L280 TraceCheckUtils]: 20: Hoare triple {29444#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {29444#true} is VALID [2020-07-08 22:26:52,569 INFO L280 TraceCheckUtils]: 21: Hoare triple {29444#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {29444#true} is VALID [2020-07-08 22:26:52,569 INFO L280 TraceCheckUtils]: 22: Hoare triple {29444#true} assume !#t~short24; {29444#true} is VALID [2020-07-08 22:26:52,569 INFO L280 TraceCheckUtils]: 23: Hoare triple {29444#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {29444#true} is VALID [2020-07-08 22:26:52,570 INFO L280 TraceCheckUtils]: 24: Hoare triple {29444#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {29444#true} is VALID [2020-07-08 22:26:52,570 INFO L280 TraceCheckUtils]: 25: Hoare triple {29444#true} assume !#t~short24; {29444#true} is VALID [2020-07-08 22:26:52,570 INFO L280 TraceCheckUtils]: 26: Hoare triple {29444#true} havoc #t~mem23.base, #t~mem23.offset; {29444#true} is VALID [2020-07-08 22:26:52,570 INFO L280 TraceCheckUtils]: 27: Hoare triple {29444#true} havoc #t~short24; {29444#true} is VALID [2020-07-08 22:26:52,570 INFO L280 TraceCheckUtils]: 28: Hoare triple {29444#true} havoc #t~mem22.base, #t~mem22.offset; {29444#true} is VALID [2020-07-08 22:26:52,571 INFO L280 TraceCheckUtils]: 29: Hoare triple {29444#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {29444#true} is VALID [2020-07-08 22:26:52,571 INFO L280 TraceCheckUtils]: 30: Hoare triple {29444#true} ~root~0.base, ~root~0.offset := 0, 0; {29444#true} is VALID [2020-07-08 22:26:52,571 INFO L280 TraceCheckUtils]: 31: Hoare triple {29444#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {29444#true} is VALID [2020-07-08 22:26:52,571 INFO L280 TraceCheckUtils]: 32: Hoare triple {29444#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {29444#true} is VALID [2020-07-08 22:26:52,572 INFO L280 TraceCheckUtils]: 33: Hoare triple {29444#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {29453#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-08 22:26:52,573 INFO L280 TraceCheckUtils]: 34: Hoare triple {29453#(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; {29454#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:26:52,574 INFO L280 TraceCheckUtils]: 35: Hoare triple {29454#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {29454#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:26:52,575 INFO L280 TraceCheckUtils]: 36: Hoare triple {29454#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {29454#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-08 22:26:52,576 INFO L280 TraceCheckUtils]: 37: Hoare triple {29454#(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; {29455#(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-08 22:26:52,576 INFO L280 TraceCheckUtils]: 38: Hoare triple {29455#(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; {29455#(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-08 22:26:52,577 INFO L280 TraceCheckUtils]: 39: Hoare triple {29455#(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); {29455#(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-08 22:26:52,578 INFO L280 TraceCheckUtils]: 40: Hoare triple {29455#(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; {29455#(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-08 22:26:52,579 INFO L280 TraceCheckUtils]: 41: Hoare triple {29455#(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; {29455#(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-08 22:26:52,580 INFO L280 TraceCheckUtils]: 42: Hoare triple {29455#(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); {29455#(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-08 22:26:52,580 INFO L280 TraceCheckUtils]: 43: Hoare triple {29455#(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; {29455#(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-08 22:26:52,581 INFO L280 TraceCheckUtils]: 44: Hoare triple {29455#(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 {29455#(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-08 22:26:52,583 INFO L280 TraceCheckUtils]: 45: Hoare triple {29455#(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 {29456#(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-08 22:26:52,583 INFO L280 TraceCheckUtils]: 46: Hoare triple {29456#(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; {29457#(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-08 22:26:52,584 INFO L280 TraceCheckUtils]: 47: Hoare triple {29457#(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); {29457#(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-08 22:26:52,586 INFO L280 TraceCheckUtils]: 48: Hoare triple {29457#(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 {29458#(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-08 22:26:52,587 INFO L280 TraceCheckUtils]: 49: Hoare triple {29458#(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 {29459#(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-08 22:26:52,588 INFO L280 TraceCheckUtils]: 50: Hoare triple {29459#(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; {29460#(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-08 22:26:52,589 INFO L280 TraceCheckUtils]: 51: Hoare triple {29460#(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; {29460#(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-08 22:26:52,589 INFO L280 TraceCheckUtils]: 52: Hoare triple {29460#(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; {29460#(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-08 22:26:52,590 INFO L280 TraceCheckUtils]: 53: Hoare triple {29460#(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); {29460#(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-08 22:26:52,591 INFO L280 TraceCheckUtils]: 54: Hoare triple {29460#(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; {29460#(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-08 22:26:52,593 INFO L280 TraceCheckUtils]: 55: Hoare triple {29460#(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 {29461#(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-08 22:26:52,595 INFO L280 TraceCheckUtils]: 56: Hoare triple {29461#(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 {29462#(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-08 22:26:52,597 INFO L280 TraceCheckUtils]: 57: Hoare triple {29462#(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; {29463#(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-08 22:26:52,598 INFO L280 TraceCheckUtils]: 58: Hoare triple {29463#(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); {29463#(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-08 22:26:52,600 INFO L280 TraceCheckUtils]: 59: Hoare triple {29463#(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 {29464#(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-08 22:26:52,602 INFO L280 TraceCheckUtils]: 60: Hoare triple {29464#(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 {29465#(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-08 22:26:52,603 INFO L280 TraceCheckUtils]: 61: Hoare triple {29465#(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; {29466#(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-08 22:26:52,604 INFO L280 TraceCheckUtils]: 62: Hoare triple {29466#(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; {29466#(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-08 22:26:52,605 INFO L280 TraceCheckUtils]: 63: Hoare triple {29466#(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; {29466#(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-08 22:26:52,606 INFO L280 TraceCheckUtils]: 64: Hoare triple {29466#(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); {29466#(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-08 22:26:52,606 INFO L280 TraceCheckUtils]: 65: Hoare triple {29466#(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; {29466#(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-08 22:26:52,608 INFO L280 TraceCheckUtils]: 66: Hoare triple {29466#(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 {29467#(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-08 22:26:52,610 INFO L280 TraceCheckUtils]: 67: Hoare triple {29467#(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; {29468#(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-08 22:26:52,611 INFO L280 TraceCheckUtils]: 68: Hoare triple {29468#(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 {29469#(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-08 22:26:52,612 INFO L280 TraceCheckUtils]: 69: Hoare triple {29469#(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); {29470#(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-08 22:26:52,613 INFO L280 TraceCheckUtils]: 70: Hoare triple {29470#(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; {29470#(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-08 22:26:52,613 INFO L280 TraceCheckUtils]: 71: Hoare triple {29470#(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 {29471#(= 2 (select (select |#memory_int| |main_#t~mem37.base|) |main_#t~mem37.offset|))} is VALID [2020-07-08 22:26:52,614 INFO L280 TraceCheckUtils]: 72: Hoare triple {29471#(= 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; {29472#(= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:26:52,615 INFO L280 TraceCheckUtils]: 73: Hoare triple {29472#(= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem37.base, #t~mem37.offset; {29472#(= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-08 22:26:52,615 INFO L280 TraceCheckUtils]: 74: Hoare triple {29472#(= 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 {29473#(= |main_#t~mem36| 2)} is VALID [2020-07-08 22:26:52,616 INFO L280 TraceCheckUtils]: 75: Hoare triple {29473#(= |main_#t~mem36| 2)} assume !(2 == #t~mem36); {29445#false} is VALID [2020-07-08 22:26:52,616 INFO L280 TraceCheckUtils]: 76: Hoare triple {29445#false} havoc #t~mem36; {29445#false} is VALID [2020-07-08 22:26:52,616 INFO L280 TraceCheckUtils]: 77: Hoare triple {29445#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {29445#false} is VALID [2020-07-08 22:26:52,616 INFO L280 TraceCheckUtils]: 78: Hoare triple {29445#false} assume !(1 == #t~mem38); {29445#false} is VALID [2020-07-08 22:26:52,616 INFO L280 TraceCheckUtils]: 79: Hoare triple {29445#false} havoc #t~mem38; {29445#false} is VALID [2020-07-08 22:26:52,617 INFO L280 TraceCheckUtils]: 80: Hoare triple {29445#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {29445#false} is VALID [2020-07-08 22:26:52,617 INFO L280 TraceCheckUtils]: 81: Hoare triple {29445#false} assume 3 != #t~mem40; {29445#false} is VALID [2020-07-08 22:26:52,617 INFO L280 TraceCheckUtils]: 82: Hoare triple {29445#false} havoc #t~mem40; {29445#false} is VALID [2020-07-08 22:26:52,617 INFO L280 TraceCheckUtils]: 83: Hoare triple {29445#false} assume !false; {29445#false} is VALID [2020-07-08 22:26:52,644 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 22:26:52,644 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1816150777] [2020-07-08 22:26:52,644 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:26:52,644 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26] total 26 [2020-07-08 22:26:52,645 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [266608272] [2020-07-08 22:26:52,648 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 84 [2020-07-08 22:26:52,648 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:26:52,649 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states. [2020-07-08 22:26:52,805 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-08 22:26:52,805 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2020-07-08 22:26:52,806 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:26:52,806 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2020-07-08 22:26:52,807 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=584, Unknown=0, NotChecked=0, Total=650 [2020-07-08 22:26:52,807 INFO L87 Difference]: Start difference. First operand 279 states and 307 transitions. Second operand 26 states. [2020-07-08 22:27:02,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:27:02,716 INFO L93 Difference]: Finished difference Result 343 states and 374 transitions. [2020-07-08 22:27:02,716 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2020-07-08 22:27:02,716 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 84 [2020-07-08 22:27:02,716 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:27:02,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2020-07-08 22:27:02,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 292 transitions. [2020-07-08 22:27:02,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2020-07-08 22:27:02,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 292 transitions. [2020-07-08 22:27:02,720 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 38 states and 292 transitions. [2020-07-08 22:27:03,146 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-08 22:27:03,153 INFO L225 Difference]: With dead ends: 343 [2020-07-08 22:27:03,154 INFO L226 Difference]: Without dead ends: 330 [2020-07-08 22:27:03,155 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 5 SyntacticMatches, 1 SemanticMatches, 58 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 538 ImplicationChecksByTransitivity, 3.6s TimeCoverageRelationStatistics Valid=593, Invalid=2947, Unknown=0, NotChecked=0, Total=3540 [2020-07-08 22:27:03,156 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 330 states. [2020-07-08 22:27:04,264 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 330 to 285. [2020-07-08 22:27:04,264 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:27:04,265 INFO L82 GeneralOperation]: Start isEquivalent. First operand 330 states. Second operand 285 states. [2020-07-08 22:27:04,265 INFO L74 IsIncluded]: Start isIncluded. First operand 330 states. Second operand 285 states. [2020-07-08 22:27:04,265 INFO L87 Difference]: Start difference. First operand 330 states. Second operand 285 states. [2020-07-08 22:27:04,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:27:04,272 INFO L93 Difference]: Finished difference Result 330 states and 360 transitions. [2020-07-08 22:27:04,272 INFO L276 IsEmpty]: Start isEmpty. Operand 330 states and 360 transitions. [2020-07-08 22:27:04,272 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:27:04,272 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:27:04,272 INFO L74 IsIncluded]: Start isIncluded. First operand 285 states. Second operand 330 states. [2020-07-08 22:27:04,273 INFO L87 Difference]: Start difference. First operand 285 states. Second operand 330 states. [2020-07-08 22:27:04,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:27:04,281 INFO L93 Difference]: Finished difference Result 330 states and 360 transitions. [2020-07-08 22:27:04,281 INFO L276 IsEmpty]: Start isEmpty. Operand 330 states and 360 transitions. [2020-07-08 22:27:04,281 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:27:04,281 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:27:04,282 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:27:04,282 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:27:04,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 285 states. [2020-07-08 22:27:04,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 285 states to 285 states and 313 transitions. [2020-07-08 22:27:04,287 INFO L78 Accepts]: Start accepts. Automaton has 285 states and 313 transitions. Word has length 84 [2020-07-08 22:27:04,287 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:27:04,287 INFO L479 AbstractCegarLoop]: Abstraction has 285 states and 313 transitions. [2020-07-08 22:27:04,287 INFO L480 AbstractCegarLoop]: Interpolant automaton has 26 states. [2020-07-08 22:27:04,287 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 285 states and 313 transitions. [2020-07-08 22:27:05,029 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 313 edges. 313 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:27:05,029 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 313 transitions. [2020-07-08 22:27:05,030 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2020-07-08 22:27:05,030 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:27:05,030 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-08 22:27:05,031 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17 [2020-07-08 22:27:05,031 INFO L427 AbstractCegarLoop]: === Iteration 19 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:27:05,031 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:27:05,031 INFO L82 PathProgramCache]: Analyzing trace with hash 752503657, now seen corresponding path program 1 times [2020-07-08 22:27:05,031 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:27:05,032 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1532581303] [2020-07-08 22:27:05,032 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:27:05,050 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-08 22:27:05,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-08 22:27:05,112 INFO L174 FreeRefinementEngine]: Strategy FIXED_PREFERENCES found a feasible trace [2020-07-08 22:27:05,112 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-08 22:27:05,112 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18 [2020-07-08 22:27:05,183 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-08 22:27:05,183 WARN L170 areAnnotationChecker]: myexitENTRY has no Hoare annotation [2020-07-08 22:27:05,183 WARN L170 areAnnotationChecker]: __bswap_32ENTRY has no Hoare annotation [2020-07-08 22:27:05,184 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-08 22:27:05,184 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-08 22:27:05,184 WARN L170 areAnnotationChecker]: __bswap_64ENTRY has no Hoare annotation [2020-07-08 22:27:05,184 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-08 22:27:05,184 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-08 22:27:05,184 WARN L170 areAnnotationChecker]: L530 has no Hoare annotation [2020-07-08 22:27:05,184 WARN L170 areAnnotationChecker]: L178 has no Hoare annotation [2020-07-08 22:27:05,184 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-08 22:27:05,184 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-08 22:27:05,184 WARN L170 areAnnotationChecker]: L183 has no Hoare annotation [2020-07-08 22:27:05,184 WARN L170 areAnnotationChecker]: L541 has no Hoare annotation [2020-07-08 22:27:05,184 WARN L170 areAnnotationChecker]: L-1-1 has no Hoare annotation [2020-07-08 22:27:05,185 WARN L170 areAnnotationChecker]: L178-1 has no Hoare annotation [2020-07-08 22:27:05,185 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-08 22:27:05,185 WARN L170 areAnnotationChecker]: L183-1 has no Hoare annotation [2020-07-08 22:27:05,185 WARN L170 areAnnotationChecker]: L541-1 has no Hoare annotation [2020-07-08 22:27:05,185 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-08 22:27:05,185 WARN L170 areAnnotationChecker]: __bswap_32FINAL has no Hoare annotation [2020-07-08 22:27:05,185 WARN L170 areAnnotationChecker]: __bswap_64FINAL has no Hoare annotation [2020-07-08 22:27:05,187 WARN L170 areAnnotationChecker]: L542 has no Hoare annotation [2020-07-08 22:27:05,187 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-08 22:27:05,187 WARN L170 areAnnotationChecker]: L542-1 has no Hoare annotation [2020-07-08 22:27:05,187 WARN L170 areAnnotationChecker]: L557-13 has no Hoare annotation [2020-07-08 22:27:05,187 WARN L170 areAnnotationChecker]: L557-13 has no Hoare annotation [2020-07-08 22:27:05,187 WARN L170 areAnnotationChecker]: L544-4 has no Hoare annotation [2020-07-08 22:27:05,187 WARN L170 areAnnotationChecker]: L544 has no Hoare annotation [2020-07-08 22:27:05,187 WARN L170 areAnnotationChecker]: L544 has no Hoare annotation [2020-07-08 22:27:05,187 WARN L170 areAnnotationChecker]: L564 has no Hoare annotation [2020-07-08 22:27:05,188 WARN L170 areAnnotationChecker]: L544-1 has no Hoare annotation [2020-07-08 22:27:05,188 WARN L170 areAnnotationChecker]: L544-3 has no Hoare annotation [2020-07-08 22:27:05,188 WARN L170 areAnnotationChecker]: L582 has no Hoare annotation [2020-07-08 22:27:05,188 WARN L170 areAnnotationChecker]: L582 has no Hoare annotation [2020-07-08 22:27:05,188 WARN L170 areAnnotationChecker]: L582 has no Hoare annotation [2020-07-08 22:27:05,188 WARN L170 areAnnotationChecker]: L545 has no Hoare annotation [2020-07-08 22:27:05,188 WARN L170 areAnnotationChecker]: L565-2 has no Hoare annotation [2020-07-08 22:27:05,188 WARN L170 areAnnotationChecker]: L566 has no Hoare annotation [2020-07-08 22:27:05,188 WARN L170 areAnnotationChecker]: L547-5 has no Hoare annotation [2020-07-08 22:27:05,188 WARN L170 areAnnotationChecker]: L547-5 has no Hoare annotation [2020-07-08 22:27:05,188 WARN L170 areAnnotationChecker]: L584 has no Hoare annotation [2020-07-08 22:27:05,188 WARN L170 areAnnotationChecker]: L567 has no Hoare annotation [2020-07-08 22:27:05,189 WARN L170 areAnnotationChecker]: L546-14 has no Hoare annotation [2020-07-08 22:27:05,189 WARN L170 areAnnotationChecker]: L546-1 has no Hoare annotation [2020-07-08 22:27:05,189 WARN L170 areAnnotationChecker]: L585 has no Hoare annotation [2020-07-08 22:27:05,189 WARN L170 areAnnotationChecker]: L585 has no Hoare annotation [2020-07-08 22:27:05,189 WARN L170 areAnnotationChecker]: L570-5 has no Hoare annotation [2020-07-08 22:27:05,189 WARN L170 areAnnotationChecker]: L570-5 has no Hoare annotation [2020-07-08 22:27:05,189 WARN L170 areAnnotationChecker]: L552 has no Hoare annotation [2020-07-08 22:27:05,189 WARN L170 areAnnotationChecker]: L546-2 has no Hoare annotation [2020-07-08 22:27:05,189 WARN L170 areAnnotationChecker]: L546-2 has no Hoare annotation [2020-07-08 22:27:05,189 WARN L170 areAnnotationChecker]: L585-1 has no Hoare annotation [2020-07-08 22:27:05,189 WARN L170 areAnnotationChecker]: L585-1 has no Hoare annotation [2020-07-08 22:27:05,189 WARN L170 areAnnotationChecker]: L585-3 has no Hoare annotation [2020-07-08 22:27:05,190 WARN L170 areAnnotationChecker]: L568-14 has no Hoare annotation [2020-07-08 22:27:05,190 WARN L170 areAnnotationChecker]: L568-14 has no Hoare annotation [2020-07-08 22:27:05,190 WARN L170 areAnnotationChecker]: L568-1 has no Hoare annotation [2020-07-08 22:27:05,190 WARN L170 areAnnotationChecker]: L552-1 has no Hoare annotation [2020-07-08 22:27:05,190 WARN L170 areAnnotationChecker]: L552-1 has no Hoare annotation [2020-07-08 22:27:05,190 WARN L170 areAnnotationChecker]: L546-3 has no Hoare annotation [2020-07-08 22:27:05,190 WARN L170 areAnnotationChecker]: L546-6 has no Hoare annotation [2020-07-08 22:27:05,190 WARN L170 areAnnotationChecker]: L546-6 has no Hoare annotation [2020-07-08 22:27:05,190 WARN L170 areAnnotationChecker]: L587 has no Hoare annotation [2020-07-08 22:27:05,190 WARN L170 areAnnotationChecker]: L576 has no Hoare annotation [2020-07-08 22:27:05,190 WARN L170 areAnnotationChecker]: L581 has no Hoare annotation [2020-07-08 22:27:05,191 WARN L170 areAnnotationChecker]: L568-2 has no Hoare annotation [2020-07-08 22:27:05,191 WARN L170 areAnnotationChecker]: L568-2 has no Hoare annotation [2020-07-08 22:27:05,191 WARN L170 areAnnotationChecker]: L552-2 has no Hoare annotation [2020-07-08 22:27:05,191 WARN L170 areAnnotationChecker]: L552-5 has no Hoare annotation [2020-07-08 22:27:05,191 WARN L170 areAnnotationChecker]: L552-5 has no Hoare annotation [2020-07-08 22:27:05,191 WARN L170 areAnnotationChecker]: L546-4 has no Hoare annotation [2020-07-08 22:27:05,191 WARN L170 areAnnotationChecker]: L546-7 has no Hoare annotation [2020-07-08 22:27:05,191 WARN L170 areAnnotationChecker]: L546-11 has no Hoare annotation [2020-07-08 22:27:05,191 WARN L170 areAnnotationChecker]: L588-5 has no Hoare annotation [2020-07-08 22:27:05,191 WARN L170 areAnnotationChecker]: L588-5 has no Hoare annotation [2020-07-08 22:27:05,191 WARN L170 areAnnotationChecker]: L576-1 has no Hoare annotation [2020-07-08 22:27:05,191 WARN L170 areAnnotationChecker]: L576-1 has no Hoare annotation [2020-07-08 22:27:05,192 WARN L170 areAnnotationChecker]: L575 has no Hoare annotation [2020-07-08 22:27:05,192 WARN L170 areAnnotationChecker]: L568-6 has no Hoare annotation [2020-07-08 22:27:05,192 WARN L170 areAnnotationChecker]: L568-6 has no Hoare annotation [2020-07-08 22:27:05,192 WARN L170 areAnnotationChecker]: L568-4 has no Hoare annotation [2020-07-08 22:27:05,192 WARN L170 areAnnotationChecker]: L552-3 has no Hoare annotation [2020-07-08 22:27:05,192 WARN L170 areAnnotationChecker]: L552-6 has no Hoare annotation [2020-07-08 22:27:05,192 WARN L170 areAnnotationChecker]: L552-10 has no Hoare annotation [2020-07-08 22:27:05,192 WARN L170 areAnnotationChecker]: L546-8 has no Hoare annotation [2020-07-08 22:27:05,192 WARN L170 areAnnotationChecker]: L546-12 has no Hoare annotation [2020-07-08 22:27:05,192 WARN L170 areAnnotationChecker]: L595-4 has no Hoare annotation [2020-07-08 22:27:05,192 WARN L170 areAnnotationChecker]: L595-4 has no Hoare annotation [2020-07-08 22:27:05,193 WARN L170 areAnnotationChecker]: L588-1 has no Hoare annotation [2020-07-08 22:27:05,193 WARN L170 areAnnotationChecker]: L588-1 has no Hoare annotation [2020-07-08 22:27:05,193 WARN L170 areAnnotationChecker]: L576-2 has no Hoare annotation [2020-07-08 22:27:05,193 WARN L170 areAnnotationChecker]: L576-3 has no Hoare annotation [2020-07-08 22:27:05,193 WARN L170 areAnnotationChecker]: L568-7 has no Hoare annotation [2020-07-08 22:27:05,193 WARN L170 areAnnotationChecker]: L568-11 has no Hoare annotation [2020-07-08 22:27:05,193 WARN L170 areAnnotationChecker]: L568-5 has no Hoare annotation [2020-07-08 22:27:05,193 WARN L170 areAnnotationChecker]: L552-7 has no Hoare annotation [2020-07-08 22:27:05,193 WARN L170 areAnnotationChecker]: L552-11 has no Hoare annotation [2020-07-08 22:27:05,193 WARN L170 areAnnotationChecker]: L546-9 has no Hoare annotation [2020-07-08 22:27:05,193 WARN L170 areAnnotationChecker]: L546-13 has no Hoare annotation [2020-07-08 22:27:05,193 WARN L170 areAnnotationChecker]: L595-5 has no Hoare annotation [2020-07-08 22:27:05,194 WARN L170 areAnnotationChecker]: L595 has no Hoare annotation [2020-07-08 22:27:05,194 WARN L170 areAnnotationChecker]: L595 has no Hoare annotation [2020-07-08 22:27:05,194 WARN L170 areAnnotationChecker]: L588-2 has no Hoare annotation [2020-07-08 22:27:05,194 WARN L170 areAnnotationChecker]: L588-4 has no Hoare annotation [2020-07-08 22:27:05,194 WARN L170 areAnnotationChecker]: L577 has no Hoare annotation [2020-07-08 22:27:05,194 WARN L170 areAnnotationChecker]: L579 has no Hoare annotation [2020-07-08 22:27:05,194 WARN L170 areAnnotationChecker]: L568-8 has no Hoare annotation [2020-07-08 22:27:05,194 WARN L170 areAnnotationChecker]: L568-12 has no Hoare annotation [2020-07-08 22:27:05,194 WARN L170 areAnnotationChecker]: L552-8 has no Hoare annotation [2020-07-08 22:27:05,194 WARN L170 areAnnotationChecker]: L552-12 has no Hoare annotation [2020-07-08 22:27:05,194 WARN L170 areAnnotationChecker]: L547 has no Hoare annotation [2020-07-08 22:27:05,194 WARN L170 areAnnotationChecker]: L602 has no Hoare annotation [2020-07-08 22:27:05,195 WARN L170 areAnnotationChecker]: L595-1 has no Hoare annotation [2020-07-08 22:27:05,195 WARN L170 areAnnotationChecker]: L595-3 has no Hoare annotation [2020-07-08 22:27:05,195 WARN L170 areAnnotationChecker]: L589 has no Hoare annotation [2020-07-08 22:27:05,195 WARN L170 areAnnotationChecker]: L568-9 has no Hoare annotation [2020-07-08 22:27:05,195 WARN L170 areAnnotationChecker]: L568-13 has no Hoare annotation [2020-07-08 22:27:05,195 WARN L170 areAnnotationChecker]: L553 has no Hoare annotation [2020-07-08 22:27:05,195 WARN L170 areAnnotationChecker]: L552-13 has no Hoare annotation [2020-07-08 22:27:05,195 WARN L170 areAnnotationChecker]: L547-1 has no Hoare annotation [2020-07-08 22:27:05,195 WARN L170 areAnnotationChecker]: L547-1 has no Hoare annotation [2020-07-08 22:27:05,195 WARN L170 areAnnotationChecker]: L604-5 has no Hoare annotation [2020-07-08 22:27:05,195 WARN L170 areAnnotationChecker]: L604-5 has no Hoare annotation [2020-07-08 22:27:05,195 WARN L170 areAnnotationChecker]: L596 has no Hoare annotation [2020-07-08 22:27:05,196 WARN L170 areAnnotationChecker]: L589-1 has no Hoare annotation [2020-07-08 22:27:05,196 WARN L170 areAnnotationChecker]: L569 has no Hoare annotation [2020-07-08 22:27:05,196 WARN L170 areAnnotationChecker]: L553-1 has no Hoare annotation [2020-07-08 22:27:05,196 WARN L170 areAnnotationChecker]: L557 has no Hoare annotation [2020-07-08 22:27:05,196 WARN L170 areAnnotationChecker]: L547-2 has no Hoare annotation [2020-07-08 22:27:05,196 WARN L170 areAnnotationChecker]: L547-4 has no Hoare annotation [2020-07-08 22:27:05,196 WARN L170 areAnnotationChecker]: L606-4 has no Hoare annotation [2020-07-08 22:27:05,196 WARN L170 areAnnotationChecker]: L606-4 has no Hoare annotation [2020-07-08 22:27:05,196 WARN L170 areAnnotationChecker]: L604-1 has no Hoare annotation [2020-07-08 22:27:05,196 WARN L170 areAnnotationChecker]: L604-1 has no Hoare annotation [2020-07-08 22:27:05,196 WARN L170 areAnnotationChecker]: L596-1 has no Hoare annotation [2020-07-08 22:27:05,197 WARN L170 areAnnotationChecker]: L590 has no Hoare annotation [2020-07-08 22:27:05,197 WARN L170 areAnnotationChecker]: L570 has no Hoare annotation [2020-07-08 22:27:05,197 WARN L170 areAnnotationChecker]: L553-2 has no Hoare annotation [2020-07-08 22:27:05,197 WARN L170 areAnnotationChecker]: L557-1 has no Hoare annotation [2020-07-08 22:27:05,197 WARN L170 areAnnotationChecker]: L557-1 has no Hoare annotation [2020-07-08 22:27:05,197 WARN L170 areAnnotationChecker]: L548 has no Hoare annotation [2020-07-08 22:27:05,197 WARN L170 areAnnotationChecker]: L550 has no Hoare annotation [2020-07-08 22:27:05,197 WARN L170 areAnnotationChecker]: L606-5 has no Hoare annotation [2020-07-08 22:27:05,197 WARN L170 areAnnotationChecker]: L606 has no Hoare annotation [2020-07-08 22:27:05,197 WARN L170 areAnnotationChecker]: L606 has no Hoare annotation [2020-07-08 22:27:05,197 WARN L170 areAnnotationChecker]: L604-2 has no Hoare annotation [2020-07-08 22:27:05,198 WARN L170 areAnnotationChecker]: L604-4 has no Hoare annotation [2020-07-08 22:27:05,198 WARN L170 areAnnotationChecker]: L597 has no Hoare annotation [2020-07-08 22:27:05,198 WARN L170 areAnnotationChecker]: L591 has no Hoare annotation [2020-07-08 22:27:05,198 WARN L170 areAnnotationChecker]: L591 has no Hoare annotation [2020-07-08 22:27:05,198 WARN L170 areAnnotationChecker]: L570-1 has no Hoare annotation [2020-07-08 22:27:05,198 WARN L170 areAnnotationChecker]: L570-1 has no Hoare annotation [2020-07-08 22:27:05,198 WARN L170 areAnnotationChecker]: L554 has no Hoare annotation [2020-07-08 22:27:05,198 WARN L170 areAnnotationChecker]: L557-2 has no Hoare annotation [2020-07-08 22:27:05,198 WARN L170 areAnnotationChecker]: L557-5 has no Hoare annotation [2020-07-08 22:27:05,198 WARN L170 areAnnotationChecker]: L557-5 has no Hoare annotation [2020-07-08 22:27:05,198 WARN L170 areAnnotationChecker]: L548-1 has no Hoare annotation [2020-07-08 22:27:05,198 WARN L170 areAnnotationChecker]: L550-1 has no Hoare annotation [2020-07-08 22:27:05,199 WARN L170 areAnnotationChecker]: L608 has no Hoare annotation [2020-07-08 22:27:05,199 WARN L170 areAnnotationChecker]: L608 has no Hoare annotation [2020-07-08 22:27:05,199 WARN L170 areAnnotationChecker]: L606-1 has no Hoare annotation [2020-07-08 22:27:05,199 WARN L170 areAnnotationChecker]: L606-3 has no Hoare annotation [2020-07-08 22:27:05,199 WARN L170 areAnnotationChecker]: L605 has no Hoare annotation [2020-07-08 22:27:05,199 WARN L170 areAnnotationChecker]: L598 has no Hoare annotation [2020-07-08 22:27:05,199 WARN L170 areAnnotationChecker]: L598 has no Hoare annotation [2020-07-08 22:27:05,199 WARN L170 areAnnotationChecker]: L591-1 has no Hoare annotation [2020-07-08 22:27:05,199 WARN L170 areAnnotationChecker]: L591-1 has no Hoare annotation [2020-07-08 22:27:05,199 WARN L170 areAnnotationChecker]: L591-3 has no Hoare annotation [2020-07-08 22:27:05,199 WARN L170 areAnnotationChecker]: L570-2 has no Hoare annotation [2020-07-08 22:27:05,199 WARN L170 areAnnotationChecker]: L570-4 has no Hoare annotation [2020-07-08 22:27:05,200 WARN L170 areAnnotationChecker]: L554-1 has no Hoare annotation [2020-07-08 22:27:05,200 WARN L170 areAnnotationChecker]: L557-3 has no Hoare annotation [2020-07-08 22:27:05,200 WARN L170 areAnnotationChecker]: L557-6 has no Hoare annotation [2020-07-08 22:27:05,200 WARN L170 areAnnotationChecker]: L557-10 has no Hoare annotation [2020-07-08 22:27:05,200 WARN L170 areAnnotationChecker]: L548-2 has no Hoare annotation [2020-07-08 22:27:05,200 WARN L170 areAnnotationChecker]: L550-2 has no Hoare annotation [2020-07-08 22:27:05,200 WARN L170 areAnnotationChecker]: L608-1 has no Hoare annotation [2020-07-08 22:27:05,200 WARN L170 areAnnotationChecker]: L608-3 has no Hoare annotation [2020-07-08 22:27:05,200 WARN L170 areAnnotationChecker]: L607 has no Hoare annotation [2020-07-08 22:27:05,200 WARN L170 areAnnotationChecker]: L605-1 has no Hoare annotation [2020-07-08 22:27:05,200 WARN L170 areAnnotationChecker]: L598-1 has no Hoare annotation [2020-07-08 22:27:05,201 WARN L170 areAnnotationChecker]: L598-1 has no Hoare annotation [2020-07-08 22:27:05,201 WARN L170 areAnnotationChecker]: L598-3 has no Hoare annotation [2020-07-08 22:27:05,201 WARN L170 areAnnotationChecker]: L592 has no Hoare annotation [2020-07-08 22:27:05,201 WARN L170 areAnnotationChecker]: L571 has no Hoare annotation [2020-07-08 22:27:05,201 WARN L170 areAnnotationChecker]: L573 has no Hoare annotation [2020-07-08 22:27:05,201 WARN L170 areAnnotationChecker]: L555 has no Hoare annotation [2020-07-08 22:27:05,201 WARN L170 areAnnotationChecker]: L557-7 has no Hoare annotation [2020-07-08 22:27:05,201 WARN L170 areAnnotationChecker]: L557-11 has no Hoare annotation [2020-07-08 22:27:05,201 WARN L170 areAnnotationChecker]: L609 has no Hoare annotation [2020-07-08 22:27:05,201 WARN L170 areAnnotationChecker]: L609 has no Hoare annotation [2020-07-08 22:27:05,202 WARN L170 areAnnotationChecker]: L608-4 has no Hoare annotation [2020-07-08 22:27:05,202 WARN L170 areAnnotationChecker]: L607-1 has no Hoare annotation [2020-07-08 22:27:05,202 WARN L170 areAnnotationChecker]: L605-2 has no Hoare annotation [2020-07-08 22:27:05,202 WARN L170 areAnnotationChecker]: L599 has no Hoare annotation [2020-07-08 22:27:05,202 WARN L170 areAnnotationChecker]: L593 has no Hoare annotation [2020-07-08 22:27:05,202 WARN L170 areAnnotationChecker]: L571-1 has no Hoare annotation [2020-07-08 22:27:05,202 WARN L170 areAnnotationChecker]: L573-1 has no Hoare annotation [2020-07-08 22:27:05,202 WARN L170 areAnnotationChecker]: L555-1 has no Hoare annotation [2020-07-08 22:27:05,202 WARN L170 areAnnotationChecker]: L557-8 has no Hoare annotation [2020-07-08 22:27:05,202 WARN L170 areAnnotationChecker]: L557-12 has no Hoare annotation [2020-07-08 22:27:05,202 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-08 22:27:05,202 WARN L170 areAnnotationChecker]: L607-2 has no Hoare annotation [2020-07-08 22:27:05,203 WARN L170 areAnnotationChecker]: L600 has no Hoare annotation [2020-07-08 22:27:05,203 WARN L170 areAnnotationChecker]: L593-1 has no Hoare annotation [2020-07-08 22:27:05,203 WARN L170 areAnnotationChecker]: L571-2 has no Hoare annotation [2020-07-08 22:27:05,203 WARN L170 areAnnotationChecker]: L573-2 has no Hoare annotation [2020-07-08 22:27:05,203 WARN L170 areAnnotationChecker]: L555-2 has no Hoare annotation [2020-07-08 22:27:05,203 WARN L170 areAnnotationChecker]: L558 has no Hoare annotation [2020-07-08 22:27:05,203 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-08 22:27:05,203 WARN L170 areAnnotationChecker]: L600-1 has no Hoare annotation [2020-07-08 22:27:05,203 WARN L170 areAnnotationChecker]: L558-1 has no Hoare annotation [2020-07-08 22:27:05,203 WARN L170 areAnnotationChecker]: L558-2 has no Hoare annotation [2020-07-08 22:27:05,203 WARN L170 areAnnotationChecker]: L559 has no Hoare annotation [2020-07-08 22:27:05,203 WARN L170 areAnnotationChecker]: L559-1 has no Hoare annotation [2020-07-08 22:27:05,204 WARN L170 areAnnotationChecker]: L560 has no Hoare annotation [2020-07-08 22:27:05,204 WARN L170 areAnnotationChecker]: L560-1 has no Hoare annotation [2020-07-08 22:27:05,204 WARN L170 areAnnotationChecker]: L560-2 has no Hoare annotation [2020-07-08 22:27:05,204 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2020-07-08 22:27:05,208 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.07 10:27:05 BoogieIcfgContainer [2020-07-08 22:27:05,208 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-08 22:27:05,211 INFO L168 Benchmark]: Toolchain (without parser) took 121867.09 ms. Allocated memory was 137.4 MB in the beginning and 581.4 MB in the end (delta: 444.1 MB). Free memory was 101.1 MB in the beginning and 360.9 MB in the end (delta: -259.8 MB). Peak memory consumption was 184.3 MB. Max. memory is 7.1 GB. [2020-07-08 22:27:05,211 INFO L168 Benchmark]: CDTParser took 0.25 ms. Allocated memory is still 137.4 MB. Free memory was 120.8 MB in the beginning and 120.6 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. [2020-07-08 22:27:05,211 INFO L168 Benchmark]: CACSL2BoogieTranslator took 708.27 ms. Allocated memory was 137.4 MB in the beginning and 201.9 MB in the end (delta: 64.5 MB). Free memory was 100.9 MB in the beginning and 166.4 MB in the end (delta: -65.5 MB). Peak memory consumption was 26.5 MB. Max. memory is 7.1 GB. [2020-07-08 22:27:05,214 INFO L168 Benchmark]: Boogie Preprocessor took 136.89 ms. Allocated memory is still 201.9 MB. Free memory was 166.4 MB in the beginning and 161.6 MB in the end (delta: 4.8 MB). Peak memory consumption was 4.8 MB. Max. memory is 7.1 GB. [2020-07-08 22:27:05,215 INFO L168 Benchmark]: RCFGBuilder took 1079.02 ms. Allocated memory was 201.9 MB in the beginning and 232.8 MB in the end (delta: 30.9 MB). Free memory was 161.6 MB in the beginning and 182.6 MB in the end (delta: -21.0 MB). Peak memory consumption was 81.1 MB. Max. memory is 7.1 GB. [2020-07-08 22:27:05,216 INFO L168 Benchmark]: TraceAbstraction took 119937.27 ms. Allocated memory was 232.8 MB in the beginning and 581.4 MB in the end (delta: 348.7 MB). Free memory was 182.6 MB in the beginning and 360.9 MB in the end (delta: -178.2 MB). Peak memory consumption was 170.4 MB. Max. memory is 7.1 GB. [2020-07-08 22:27:05,220 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.25 ms. Allocated memory is still 137.4 MB. Free memory was 120.8 MB in the beginning and 120.6 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 708.27 ms. Allocated memory was 137.4 MB in the beginning and 201.9 MB in the end (delta: 64.5 MB). Free memory was 100.9 MB in the beginning and 166.4 MB in the end (delta: -65.5 MB). Peak memory consumption was 26.5 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 136.89 ms. Allocated memory is still 201.9 MB. Free memory was 166.4 MB in the beginning and 161.6 MB in the end (delta: 4.8 MB). Peak memory consumption was 4.8 MB. Max. memory is 7.1 GB. * RCFGBuilder took 1079.02 ms. Allocated memory was 201.9 MB in the beginning and 232.8 MB in the end (delta: 30.9 MB). Free memory was 161.6 MB in the beginning and 182.6 MB in the end (delta: -21.0 MB). Peak memory consumption was 81.1 MB. Max. memory is 7.1 GB. * TraceAbstraction took 119937.27 ms. Allocated memory was 232.8 MB in the beginning and 581.4 MB in the end (delta: 348.7 MB). Free memory was 182.6 MB in the beginning and 360.9 MB in the end (delta: -178.2 MB). Peak memory consumption was 170.4 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))={-3:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4: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))={-3:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4: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))={-3:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4: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))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4: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))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-2:0}, malloc(sizeof(struct node))={-4: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))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2: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))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2: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: 119.7s, OverallIterations: 19, TraceHistogramMax: 3, AutomataDifference: 88.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 3201 SDtfs, 7019 SDslu, 24378 SDs, 0 SdLazy, 11134 SolverSat, 827 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 14.6s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 564 GetRequests, 66 SyntacticMatches, 9 SemanticMatches, 489 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2851 ImplicationChecksByTransitivity, 18.4s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=286occurred in iteration=14, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 12.5s AutomataMinimizationTime, 18 MinimizatonAttempts, 749 StatesRemovedByMinimization, 16 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 7.9s InterpolantComputationTime, 1304 NumberOfCodeBlocks, 1304 NumberOfCodeBlocksAsserted, 19 NumberOfCheckSat, 1202 ConstructedInterpolants, 0 QuantifiedInterpolants, 601099 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 18 InterpolantComputations, 6 PerfectInterpolantSequences, 36/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...