/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/list-ext3-properties/sll_nondet_insert-1.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-46f3038-m [2020-07-08 12:28:21,784 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-08 12:28:21,787 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-08 12:28:21,799 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-08 12:28:21,799 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-08 12:28:21,801 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-08 12:28:21,802 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-08 12:28:21,804 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-08 12:28:21,805 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-08 12:28:21,806 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-08 12:28:21,807 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-08 12:28:21,808 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-08 12:28:21,809 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-08 12:28:21,810 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-08 12:28:21,811 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-08 12:28:21,812 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-08 12:28:21,813 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-08 12:28:21,814 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-08 12:28:21,816 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-08 12:28:21,818 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-08 12:28:21,820 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-08 12:28:21,821 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-08 12:28:21,822 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-08 12:28:21,823 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-08 12:28:21,825 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-08 12:28:21,825 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-08 12:28:21,826 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-08 12:28:21,827 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-08 12:28:21,827 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-08 12:28:21,829 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-08 12:28:21,830 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-08 12:28:21,831 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-08 12:28:21,831 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-08 12:28:21,832 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-08 12:28:21,833 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-08 12:28:21,833 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-08 12:28:21,834 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-08 12:28:21,834 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-08 12:28:21,835 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-08 12:28:21,836 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-08 12:28:21,836 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-08 12:28:21,837 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2020-07-08 12:28:21,856 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-08 12:28:21,856 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-08 12:28:21,857 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-08 12:28:21,857 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-08 12:28:21,858 INFO L138 SettingsManager]: * Use SBE=true [2020-07-08 12:28:21,858 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-08 12:28:21,858 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-08 12:28:21,858 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-08 12:28:21,859 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-08 12:28:21,859 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-08 12:28:21,859 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-08 12:28:21,859 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-08 12:28:21,859 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-08 12:28:21,860 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-08 12:28:21,860 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-08 12:28:21,860 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-08 12:28:21,860 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-08 12:28:21,860 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-08 12:28:21,861 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-08 12:28:21,861 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-08 12:28:21,861 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-08 12:28:21,861 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-08 12:28:21,861 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-08 12:28:21,862 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-08 12:28:21,862 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-08 12:28:21,862 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-08 12:28:21,862 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-08 12:28:21,862 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-08 12:28:21,863 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-08 12:28:21,863 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-08 12:28:22,188 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-08 12:28:22,209 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-08 12:28:22,213 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-08 12:28:22,215 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-08 12:28:22,215 INFO L275 PluginConnector]: CDTParser initialized [2020-07-08 12:28:22,216 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/list-ext3-properties/sll_nondet_insert-1.i [2020-07-08 12:28:22,287 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1c967feee/b17ff1c502844da6b410e759960da3be/FLAG353297169 [2020-07-08 12:28:22,813 INFO L306 CDTParser]: Found 1 translation units. [2020-07-08 12:28:22,815 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/list-ext3-properties/sll_nondet_insert-1.i [2020-07-08 12:28:22,836 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1c967feee/b17ff1c502844da6b410e759960da3be/FLAG353297169 [2020-07-08 12:28:23,295 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1c967feee/b17ff1c502844da6b410e759960da3be [2020-07-08 12:28:23,307 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-08 12:28:23,309 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-08 12:28:23,310 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-08 12:28:23,310 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-08 12:28:23,314 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-08 12:28:23,315 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.07 12:28:23" (1/1) ... [2020-07-08 12:28:23,318 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@493f6fe1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:28:23, skipping insertion in model container [2020-07-08 12:28:23,319 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.07 12:28:23" (1/1) ... [2020-07-08 12:28:23,326 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-08 12:28:23,377 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-08 12:28:23,784 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-08 12:28:23,799 INFO L203 MainTranslator]: Completed pre-run [2020-07-08 12:28:23,899 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-08 12:28:23,964 INFO L208 MainTranslator]: Completed translation [2020-07-08 12:28:23,965 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:28:23 WrapperNode [2020-07-08 12:28:23,965 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-08 12:28:23,966 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-08 12:28:23,966 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-08 12:28:23,966 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-08 12:28:23,981 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:28:23" (1/1) ... [2020-07-08 12:28:23,981 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:28:23" (1/1) ... [2020-07-08 12:28:23,999 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:28:23" (1/1) ... [2020-07-08 12:28:24,000 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:28:23" (1/1) ... [2020-07-08 12:28:24,027 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:28:23" (1/1) ... [2020-07-08 12:28:24,037 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:28:23" (1/1) ... [2020-07-08 12:28:24,041 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:28:23" (1/1) ... [2020-07-08 12:28:24,059 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-08 12:28:24,062 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-08 12:28:24,062 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-08 12:28:24,063 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-08 12:28:24,064 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:28:23" (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 12:28:24,135 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-08 12:28:24,136 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-08 12:28:24,136 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_32 [2020-07-08 12:28:24,136 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_64 [2020-07-08 12:28:24,136 INFO L138 BoogieDeclarations]: Found implementation of procedure myexit [2020-07-08 12:28:24,137 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_create [2020-07-08 12:28:24,137 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_length [2020-07-08 12:28:24,137 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_destroy [2020-07-08 12:28:24,137 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_insert [2020-07-08 12:28:24,137 INFO L138 BoogieDeclarations]: Found implementation of procedure _get_nondet_int [2020-07-08 12:28:24,137 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-08 12:28:24,138 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-08 12:28:24,138 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-08 12:28:24,138 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_32 [2020-07-08 12:28:24,138 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_64 [2020-07-08 12:28:24,138 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2020-07-08 12:28:24,139 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2020-07-08 12:28:24,139 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2020-07-08 12:28:24,139 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2020-07-08 12:28:24,139 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2020-07-08 12:28:24,140 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2020-07-08 12:28:24,140 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2020-07-08 12:28:24,140 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2020-07-08 12:28:24,140 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2020-07-08 12:28:24,140 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2020-07-08 12:28:24,140 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2020-07-08 12:28:24,141 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2020-07-08 12:28:24,141 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2020-07-08 12:28:24,141 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2020-07-08 12:28:24,141 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2020-07-08 12:28:24,141 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2020-07-08 12:28:24,142 INFO L130 BoogieDeclarations]: Found specification of procedure select [2020-07-08 12:28:24,142 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2020-07-08 12:28:24,142 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2020-07-08 12:28:24,142 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2020-07-08 12:28:24,142 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2020-07-08 12:28:24,142 INFO L130 BoogieDeclarations]: Found specification of procedure random [2020-07-08 12:28:24,143 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2020-07-08 12:28:24,143 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2020-07-08 12:28:24,143 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2020-07-08 12:28:24,143 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2020-07-08 12:28:24,143 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2020-07-08 12:28:24,143 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2020-07-08 12:28:24,144 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2020-07-08 12:28:24,144 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2020-07-08 12:28:24,144 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2020-07-08 12:28:24,144 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2020-07-08 12:28:24,144 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2020-07-08 12:28:24,144 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2020-07-08 12:28:24,144 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2020-07-08 12:28:24,145 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2020-07-08 12:28:24,145 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2020-07-08 12:28:24,145 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2020-07-08 12:28:24,145 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2020-07-08 12:28:24,145 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2020-07-08 12:28:24,145 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2020-07-08 12:28:24,145 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2020-07-08 12:28:24,146 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2020-07-08 12:28:24,146 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2020-07-08 12:28:24,146 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2020-07-08 12:28:24,146 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2020-07-08 12:28:24,146 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2020-07-08 12:28:24,146 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2020-07-08 12:28:24,146 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2020-07-08 12:28:24,147 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2020-07-08 12:28:24,147 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-08 12:28:24,147 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-08 12:28:24,147 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-08 12:28:24,147 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-08 12:28:24,147 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-08 12:28:24,147 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2020-07-08 12:28:24,148 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-08 12:28:24,148 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2020-07-08 12:28:24,148 INFO L130 BoogieDeclarations]: Found specification of procedure aligned_alloc [2020-07-08 12:28:24,148 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-08 12:28:24,148 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2020-07-08 12:28:24,148 INFO L130 BoogieDeclarations]: Found specification of procedure at_quick_exit [2020-07-08 12:28:24,149 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2020-07-08 12:28:24,149 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2020-07-08 12:28:24,149 INFO L130 BoogieDeclarations]: Found specification of procedure quick_exit [2020-07-08 12:28:24,149 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2020-07-08 12:28:24,149 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2020-07-08 12:28:24,149 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2020-07-08 12:28:24,150 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2020-07-08 12:28:24,150 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2020-07-08 12:28:24,150 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2020-07-08 12:28:24,150 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2020-07-08 12:28:24,150 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2020-07-08 12:28:24,150 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2020-07-08 12:28:24,150 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2020-07-08 12:28:24,151 INFO L130 BoogieDeclarations]: Found specification of procedure system [2020-07-08 12:28:24,151 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2020-07-08 12:28:24,151 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2020-07-08 12:28:24,151 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2020-07-08 12:28:24,151 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2020-07-08 12:28:24,151 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2020-07-08 12:28:24,151 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2020-07-08 12:28:24,152 INFO L130 BoogieDeclarations]: Found specification of procedure div [2020-07-08 12:28:24,152 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2020-07-08 12:28:24,152 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2020-07-08 12:28:24,152 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2020-07-08 12:28:24,152 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2020-07-08 12:28:24,152 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2020-07-08 12:28:24,152 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2020-07-08 12:28:24,153 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2020-07-08 12:28:24,153 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2020-07-08 12:28:24,153 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2020-07-08 12:28:24,153 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2020-07-08 12:28:24,153 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2020-07-08 12:28:24,153 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2020-07-08 12:28:24,153 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2020-07-08 12:28:24,153 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2020-07-08 12:28:24,154 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2020-07-08 12:28:24,154 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2020-07-08 12:28:24,154 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2020-07-08 12:28:24,154 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2020-07-08 12:28:24,154 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2020-07-08 12:28:24,154 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2020-07-08 12:28:24,154 INFO L130 BoogieDeclarations]: Found specification of procedure myexit [2020-07-08 12:28:24,155 INFO L130 BoogieDeclarations]: Found specification of procedure sll_create [2020-07-08 12:28:24,155 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2020-07-08 12:28:24,155 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-08 12:28:24,155 INFO L130 BoogieDeclarations]: Found specification of procedure sll_length [2020-07-08 12:28:24,155 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-08 12:28:24,155 INFO L130 BoogieDeclarations]: Found specification of procedure sll_destroy [2020-07-08 12:28:24,156 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-08 12:28:24,156 INFO L130 BoogieDeclarations]: Found specification of procedure sll_insert [2020-07-08 12:28:24,156 INFO L130 BoogieDeclarations]: Found specification of procedure _get_nondet_int [2020-07-08 12:28:24,156 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-08 12:28:24,156 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-08 12:28:24,156 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2020-07-08 12:28:24,156 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-08 12:28:24,157 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-08 12:28:24,608 INFO L728 $ProcedureCfgBuilder]: dead code at ProgramPoint myexitFINAL: assume true; [2020-07-08 12:28:24,973 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-08 12:28:24,974 INFO L295 CfgBuilder]: Removed 6 assume(true) statements. [2020-07-08 12:28:24,978 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.07 12:28:24 BoogieIcfgContainer [2020-07-08 12:28:24,979 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-08 12:28:24,980 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-08 12:28:24,980 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-08 12:28:24,984 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-08 12:28:24,984 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.07 12:28:23" (1/3) ... [2020-07-08 12:28:24,985 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@61be83b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.07 12:28:24, skipping insertion in model container [2020-07-08 12:28:24,986 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:28:23" (2/3) ... [2020-07-08 12:28:24,986 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@61be83b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.07 12:28:24, skipping insertion in model container [2020-07-08 12:28:24,986 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.07 12:28:24" (3/3) ... [2020-07-08 12:28:24,989 INFO L109 eAbstractionObserver]: Analyzing ICFG sll_nondet_insert-1.i [2020-07-08 12:28:25,001 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-08 12:28:25,009 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-08 12:28:25,023 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-08 12:28:25,045 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-08 12:28:25,045 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-08 12:28:25,046 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-08 12:28:25,046 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-08 12:28:25,046 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-08 12:28:25,046 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-08 12:28:25,046 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-08 12:28:25,046 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-08 12:28:25,068 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states. [2020-07-08 12:28:25,076 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2020-07-08 12:28:25,076 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:28:25,077 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 12:28:25,078 INFO L427 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:28:25,101 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:28:25,101 INFO L82 PathProgramCache]: Analyzing trace with hash 960784814, now seen corresponding path program 1 times [2020-07-08 12:28:25,111 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:28:25,112 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1704823371] [2020-07-08 12:28:25,112 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:28:25,222 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:25,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:25,324 INFO L280 TraceCheckUtils]: 0: Hoare triple {95#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {70#true} is VALID [2020-07-08 12:28:25,325 INFO L280 TraceCheckUtils]: 1: Hoare triple {70#true} assume true; {70#true} is VALID [2020-07-08 12:28:25,325 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {70#true} {70#true} #180#return; {70#true} is VALID [2020-07-08 12:28:25,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:25,338 INFO L280 TraceCheckUtils]: 0: Hoare triple {70#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {70#true} is VALID [2020-07-08 12:28:25,340 INFO L280 TraceCheckUtils]: 1: Hoare triple {70#true} assume !true; {71#false} is VALID [2020-07-08 12:28:25,340 INFO L280 TraceCheckUtils]: 2: Hoare triple {71#false} #res := ~len~1; {71#false} is VALID [2020-07-08 12:28:25,340 INFO L280 TraceCheckUtils]: 3: Hoare triple {71#false} assume true; {71#false} is VALID [2020-07-08 12:28:25,341 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {71#false} {70#true} #164#return; {71#false} is VALID [2020-07-08 12:28:25,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:25,371 INFO L280 TraceCheckUtils]: 0: Hoare triple {96#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {70#true} is VALID [2020-07-08 12:28:25,372 INFO L280 TraceCheckUtils]: 1: Hoare triple {70#true} assume !true; {71#false} is VALID [2020-07-08 12:28:25,373 INFO L280 TraceCheckUtils]: 2: Hoare triple {71#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {71#false} is VALID [2020-07-08 12:28:25,373 INFO L280 TraceCheckUtils]: 3: Hoare triple {71#false} assume true; {71#false} is VALID [2020-07-08 12:28:25,373 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {71#false} {71#false} #166#return; {71#false} is VALID [2020-07-08 12:28:25,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:25,383 INFO L280 TraceCheckUtils]: 0: Hoare triple {70#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {70#true} is VALID [2020-07-08 12:28:25,385 INFO L280 TraceCheckUtils]: 1: Hoare triple {70#true} assume !true; {71#false} is VALID [2020-07-08 12:28:25,385 INFO L280 TraceCheckUtils]: 2: Hoare triple {71#false} #res := ~len~1; {71#false} is VALID [2020-07-08 12:28:25,385 INFO L280 TraceCheckUtils]: 3: Hoare triple {71#false} assume true; {71#false} is VALID [2020-07-08 12:28:25,386 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {71#false} {71#false} #168#return; {71#false} is VALID [2020-07-08 12:28:25,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:25,396 INFO L280 TraceCheckUtils]: 0: Hoare triple {70#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {70#true} is VALID [2020-07-08 12:28:25,397 INFO L280 TraceCheckUtils]: 1: Hoare triple {70#true} assume !true; {71#false} is VALID [2020-07-08 12:28:25,398 INFO L280 TraceCheckUtils]: 2: Hoare triple {71#false} #res := ~len~0; {71#false} is VALID [2020-07-08 12:28:25,398 INFO L280 TraceCheckUtils]: 3: Hoare triple {71#false} assume true; {71#false} is VALID [2020-07-08 12:28:25,399 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {71#false} {71#false} #174#return; {71#false} is VALID [2020-07-08 12:28:25,401 INFO L263 TraceCheckUtils]: 0: Hoare triple {70#true} call ULTIMATE.init(); {95#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:28:25,401 INFO L280 TraceCheckUtils]: 1: Hoare triple {95#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {70#true} is VALID [2020-07-08 12:28:25,402 INFO L280 TraceCheckUtils]: 2: Hoare triple {70#true} assume true; {70#true} is VALID [2020-07-08 12:28:25,402 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {70#true} {70#true} #180#return; {70#true} is VALID [2020-07-08 12:28:25,403 INFO L263 TraceCheckUtils]: 4: Hoare triple {70#true} call #t~ret24 := main(); {70#true} is VALID [2020-07-08 12:28:25,403 INFO L263 TraceCheckUtils]: 5: Hoare triple {70#true} call #t~ret14 := _get_nondet_int(2, 5); {70#true} is VALID [2020-07-08 12:28:25,403 INFO L280 TraceCheckUtils]: 6: Hoare triple {70#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {70#true} is VALID [2020-07-08 12:28:25,404 INFO L280 TraceCheckUtils]: 7: Hoare triple {70#true} assume !true; {71#false} is VALID [2020-07-08 12:28:25,405 INFO L280 TraceCheckUtils]: 8: Hoare triple {71#false} #res := ~len~1; {71#false} is VALID [2020-07-08 12:28:25,405 INFO L280 TraceCheckUtils]: 9: Hoare triple {71#false} assume true; {71#false} is VALID [2020-07-08 12:28:25,405 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {71#false} {70#true} #164#return; {71#false} is VALID [2020-07-08 12:28:25,406 INFO L280 TraceCheckUtils]: 11: Hoare triple {71#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {71#false} is VALID [2020-07-08 12:28:25,406 INFO L263 TraceCheckUtils]: 12: Hoare triple {71#false} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {96#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-08 12:28:25,407 INFO L280 TraceCheckUtils]: 13: Hoare triple {96#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {70#true} is VALID [2020-07-08 12:28:25,408 INFO L280 TraceCheckUtils]: 14: Hoare triple {70#true} assume !true; {71#false} is VALID [2020-07-08 12:28:25,408 INFO L280 TraceCheckUtils]: 15: Hoare triple {71#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {71#false} is VALID [2020-07-08 12:28:25,408 INFO L280 TraceCheckUtils]: 16: Hoare triple {71#false} assume true; {71#false} is VALID [2020-07-08 12:28:25,409 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {71#false} {71#false} #166#return; {71#false} is VALID [2020-07-08 12:28:25,409 INFO L280 TraceCheckUtils]: 18: Hoare triple {71#false} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {71#false} is VALID [2020-07-08 12:28:25,410 INFO L263 TraceCheckUtils]: 19: Hoare triple {71#false} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {70#true} is VALID [2020-07-08 12:28:25,410 INFO L280 TraceCheckUtils]: 20: Hoare triple {70#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {70#true} is VALID [2020-07-08 12:28:25,411 INFO L280 TraceCheckUtils]: 21: Hoare triple {70#true} assume !true; {71#false} is VALID [2020-07-08 12:28:25,412 INFO L280 TraceCheckUtils]: 22: Hoare triple {71#false} #res := ~len~1; {71#false} is VALID [2020-07-08 12:28:25,412 INFO L280 TraceCheckUtils]: 23: Hoare triple {71#false} assume true; {71#false} is VALID [2020-07-08 12:28:25,412 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {71#false} {71#false} #168#return; {71#false} is VALID [2020-07-08 12:28:25,413 INFO L280 TraceCheckUtils]: 25: Hoare triple {71#false} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {71#false} is VALID [2020-07-08 12:28:25,413 INFO L280 TraceCheckUtils]: 26: Hoare triple {71#false} assume !true; {71#false} is VALID [2020-07-08 12:28:25,413 INFO L280 TraceCheckUtils]: 27: Hoare triple {71#false} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {71#false} is VALID [2020-07-08 12:28:25,414 INFO L263 TraceCheckUtils]: 28: Hoare triple {71#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {70#true} is VALID [2020-07-08 12:28:25,414 INFO L280 TraceCheckUtils]: 29: Hoare triple {70#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {70#true} is VALID [2020-07-08 12:28:25,415 INFO L280 TraceCheckUtils]: 30: Hoare triple {70#true} assume !true; {71#false} is VALID [2020-07-08 12:28:25,416 INFO L280 TraceCheckUtils]: 31: Hoare triple {71#false} #res := ~len~0; {71#false} is VALID [2020-07-08 12:28:25,416 INFO L280 TraceCheckUtils]: 32: Hoare triple {71#false} assume true; {71#false} is VALID [2020-07-08 12:28:25,416 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {71#false} {71#false} #174#return; {71#false} is VALID [2020-07-08 12:28:25,417 INFO L280 TraceCheckUtils]: 34: Hoare triple {71#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {71#false} is VALID [2020-07-08 12:28:25,417 INFO L280 TraceCheckUtils]: 35: Hoare triple {71#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~ret22;havoc #t~mem21.base, #t~mem21.offset; {71#false} is VALID [2020-07-08 12:28:25,417 INFO L280 TraceCheckUtils]: 36: Hoare triple {71#false} assume !false; {71#false} is VALID [2020-07-08 12:28:25,426 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2020-07-08 12:28:25,427 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1704823371] [2020-07-08 12:28:25,428 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 12:28:25,429 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-08 12:28:25,430 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1549917413] [2020-07-08 12:28:25,436 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 37 [2020-07-08 12:28:25,440 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:28:25,445 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-08 12:28:25,509 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:28:25,509 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-08 12:28:25,509 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:28:25,520 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-08 12:28:25,521 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-08 12:28:25,523 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 4 states. [2020-07-08 12:28:26,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:26,183 INFO L93 Difference]: Finished difference Result 136 states and 184 transitions. [2020-07-08 12:28:26,184 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-08 12:28:26,184 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 37 [2020-07-08 12:28:26,184 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:28:26,186 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-08 12:28:26,204 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 184 transitions. [2020-07-08 12:28:26,204 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-08 12:28:26,225 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 184 transitions. [2020-07-08 12:28:26,226 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 184 transitions. [2020-07-08 12:28:26,532 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 184 edges. 184 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:28:26,552 INFO L225 Difference]: With dead ends: 136 [2020-07-08 12:28:26,552 INFO L226 Difference]: Without dead ends: 58 [2020-07-08 12:28:26,559 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2020-07-08 12:28:26,579 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2020-07-08 12:28:26,639 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 53. [2020-07-08 12:28:26,640 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:28:26,640 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 53 states. [2020-07-08 12:28:26,641 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 53 states. [2020-07-08 12:28:26,641 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 53 states. [2020-07-08 12:28:26,655 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:26,657 INFO L93 Difference]: Finished difference Result 58 states and 68 transitions. [2020-07-08 12:28:26,657 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 68 transitions. [2020-07-08 12:28:26,658 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:28:26,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:28:26,664 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 58 states. [2020-07-08 12:28:26,664 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 58 states. [2020-07-08 12:28:26,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:26,671 INFO L93 Difference]: Finished difference Result 58 states and 68 transitions. [2020-07-08 12:28:26,672 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 68 transitions. [2020-07-08 12:28:26,673 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:28:26,673 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:28:26,674 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:28:26,674 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:28:26,674 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 53 states. [2020-07-08 12:28:26,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 62 transitions. [2020-07-08 12:28:26,687 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 62 transitions. Word has length 37 [2020-07-08 12:28:26,688 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:28:26,688 INFO L479 AbstractCegarLoop]: Abstraction has 53 states and 62 transitions. [2020-07-08 12:28:26,688 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-08 12:28:26,688 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 62 transitions. [2020-07-08 12:28:26,699 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2020-07-08 12:28:26,699 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:28:26,699 INFO L422 BasicCegarLoop]: trace histogram [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] [2020-07-08 12:28:26,700 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-08 12:28:26,700 INFO L427 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:28:26,702 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:28:26,702 INFO L82 PathProgramCache]: Analyzing trace with hash 322036078, now seen corresponding path program 1 times [2020-07-08 12:28:26,702 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:28:26,703 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [142320083] [2020-07-08 12:28:26,703 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:28:26,793 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:26,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:26,868 INFO L280 TraceCheckUtils]: 0: Hoare triple {508#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {476#true} is VALID [2020-07-08 12:28:26,869 INFO L280 TraceCheckUtils]: 1: Hoare triple {476#true} assume true; {476#true} is VALID [2020-07-08 12:28:26,869 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {476#true} {476#true} #180#return; {476#true} is VALID [2020-07-08 12:28:26,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:26,952 INFO L280 TraceCheckUtils]: 0: Hoare triple {476#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:28:26,953 INFO L280 TraceCheckUtils]: 1: Hoare triple {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #t~short12 := ~len~1 < ~until; {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:28:26,953 INFO L280 TraceCheckUtils]: 2: Hoare triple {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:28:26,954 INFO L280 TraceCheckUtils]: 3: Hoare triple {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:28:26,955 INFO L280 TraceCheckUtils]: 4: Hoare triple {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #res := ~len~1; {510#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:28:26,956 INFO L280 TraceCheckUtils]: 5: Hoare triple {510#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} assume true; {510#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:28:26,957 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {510#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} {476#true} #164#return; {488#(<= 2 |main_#t~ret14|)} is VALID [2020-07-08 12:28:26,986 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:27,043 INFO L280 TraceCheckUtils]: 0: Hoare triple {511#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {512#(= |sll_create_#in~len| sll_create_~len)} is VALID [2020-07-08 12:28:27,044 INFO L280 TraceCheckUtils]: 1: Hoare triple {512#(= |sll_create_#in~len| sll_create_~len)} #t~post2 := ~len;~len := #t~post2 - 1; {513#(= |sll_create_#in~len| |sll_create_#t~post2|)} is VALID [2020-07-08 12:28:27,045 INFO L280 TraceCheckUtils]: 2: Hoare triple {513#(= |sll_create_#in~len| |sll_create_#t~post2|)} assume !(#t~post2 > 0);havoc #t~post2; {514#(<= |sll_create_#in~len| 0)} is VALID [2020-07-08 12:28:27,046 INFO L280 TraceCheckUtils]: 3: Hoare triple {514#(<= |sll_create_#in~len| 0)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {514#(<= |sll_create_#in~len| 0)} is VALID [2020-07-08 12:28:27,047 INFO L280 TraceCheckUtils]: 4: Hoare triple {514#(<= |sll_create_#in~len| 0)} assume true; {514#(<= |sll_create_#in~len| 0)} is VALID [2020-07-08 12:28:27,048 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {514#(<= |sll_create_#in~len| 0)} {489#(<= 2 main_~len~2)} #166#return; {477#false} is VALID [2020-07-08 12:28:27,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:27,063 INFO L280 TraceCheckUtils]: 0: Hoare triple {476#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {476#true} is VALID [2020-07-08 12:28:27,063 INFO L280 TraceCheckUtils]: 1: Hoare triple {476#true} #t~short12 := ~len~1 < ~until; {476#true} is VALID [2020-07-08 12:28:27,064 INFO L280 TraceCheckUtils]: 2: Hoare triple {476#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {476#true} is VALID [2020-07-08 12:28:27,064 INFO L280 TraceCheckUtils]: 3: Hoare triple {476#true} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {476#true} is VALID [2020-07-08 12:28:27,064 INFO L280 TraceCheckUtils]: 4: Hoare triple {476#true} #res := ~len~1; {476#true} is VALID [2020-07-08 12:28:27,065 INFO L280 TraceCheckUtils]: 5: Hoare triple {476#true} assume true; {476#true} is VALID [2020-07-08 12:28:27,065 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {476#true} {477#false} #168#return; {477#false} is VALID [2020-07-08 12:28:27,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:27,075 INFO L280 TraceCheckUtils]: 0: Hoare triple {476#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {476#true} is VALID [2020-07-08 12:28:27,075 INFO L280 TraceCheckUtils]: 1: Hoare triple {476#true} assume !(~head.base != 0 || ~head.offset != 0); {476#true} is VALID [2020-07-08 12:28:27,076 INFO L280 TraceCheckUtils]: 2: Hoare triple {476#true} #res := ~len~0; {476#true} is VALID [2020-07-08 12:28:27,076 INFO L280 TraceCheckUtils]: 3: Hoare triple {476#true} assume true; {476#true} is VALID [2020-07-08 12:28:27,076 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {476#true} {477#false} #174#return; {477#false} is VALID [2020-07-08 12:28:27,078 INFO L263 TraceCheckUtils]: 0: Hoare triple {476#true} call ULTIMATE.init(); {508#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:28:27,078 INFO L280 TraceCheckUtils]: 1: Hoare triple {508#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {476#true} is VALID [2020-07-08 12:28:27,078 INFO L280 TraceCheckUtils]: 2: Hoare triple {476#true} assume true; {476#true} is VALID [2020-07-08 12:28:27,078 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {476#true} {476#true} #180#return; {476#true} is VALID [2020-07-08 12:28:27,079 INFO L263 TraceCheckUtils]: 4: Hoare triple {476#true} call #t~ret24 := main(); {476#true} is VALID [2020-07-08 12:28:27,079 INFO L263 TraceCheckUtils]: 5: Hoare triple {476#true} call #t~ret14 := _get_nondet_int(2, 5); {476#true} is VALID [2020-07-08 12:28:27,080 INFO L280 TraceCheckUtils]: 6: Hoare triple {476#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:28:27,081 INFO L280 TraceCheckUtils]: 7: Hoare triple {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #t~short12 := ~len~1 < ~until; {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:28:27,082 INFO L280 TraceCheckUtils]: 8: Hoare triple {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:28:27,082 INFO L280 TraceCheckUtils]: 9: Hoare triple {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:28:27,083 INFO L280 TraceCheckUtils]: 10: Hoare triple {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #res := ~len~1; {510#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:28:27,084 INFO L280 TraceCheckUtils]: 11: Hoare triple {510#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} assume true; {510#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:28:27,086 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {510#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} {476#true} #164#return; {488#(<= 2 |main_#t~ret14|)} is VALID [2020-07-08 12:28:27,087 INFO L280 TraceCheckUtils]: 13: Hoare triple {488#(<= 2 |main_#t~ret14|)} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {489#(<= 2 main_~len~2)} is VALID [2020-07-08 12:28:27,088 INFO L263 TraceCheckUtils]: 14: Hoare triple {489#(<= 2 main_~len~2)} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {511#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-08 12:28:27,089 INFO L280 TraceCheckUtils]: 15: Hoare triple {511#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {512#(= |sll_create_#in~len| sll_create_~len)} is VALID [2020-07-08 12:28:27,090 INFO L280 TraceCheckUtils]: 16: Hoare triple {512#(= |sll_create_#in~len| sll_create_~len)} #t~post2 := ~len;~len := #t~post2 - 1; {513#(= |sll_create_#in~len| |sll_create_#t~post2|)} is VALID [2020-07-08 12:28:27,091 INFO L280 TraceCheckUtils]: 17: Hoare triple {513#(= |sll_create_#in~len| |sll_create_#t~post2|)} assume !(#t~post2 > 0);havoc #t~post2; {514#(<= |sll_create_#in~len| 0)} is VALID [2020-07-08 12:28:27,092 INFO L280 TraceCheckUtils]: 18: Hoare triple {514#(<= |sll_create_#in~len| 0)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {514#(<= |sll_create_#in~len| 0)} is VALID [2020-07-08 12:28:27,093 INFO L280 TraceCheckUtils]: 19: Hoare triple {514#(<= |sll_create_#in~len| 0)} assume true; {514#(<= |sll_create_#in~len| 0)} is VALID [2020-07-08 12:28:27,094 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {514#(<= |sll_create_#in~len| 0)} {489#(<= 2 main_~len~2)} #166#return; {477#false} is VALID [2020-07-08 12:28:27,095 INFO L280 TraceCheckUtils]: 21: Hoare triple {477#false} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {477#false} is VALID [2020-07-08 12:28:27,095 INFO L263 TraceCheckUtils]: 22: Hoare triple {477#false} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {476#true} is VALID [2020-07-08 12:28:27,095 INFO L280 TraceCheckUtils]: 23: Hoare triple {476#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {476#true} is VALID [2020-07-08 12:28:27,096 INFO L280 TraceCheckUtils]: 24: Hoare triple {476#true} #t~short12 := ~len~1 < ~until; {476#true} is VALID [2020-07-08 12:28:27,096 INFO L280 TraceCheckUtils]: 25: Hoare triple {476#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {476#true} is VALID [2020-07-08 12:28:27,096 INFO L280 TraceCheckUtils]: 26: Hoare triple {476#true} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {476#true} is VALID [2020-07-08 12:28:27,096 INFO L280 TraceCheckUtils]: 27: Hoare triple {476#true} #res := ~len~1; {476#true} is VALID [2020-07-08 12:28:27,097 INFO L280 TraceCheckUtils]: 28: Hoare triple {476#true} assume true; {476#true} is VALID [2020-07-08 12:28:27,097 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {476#true} {477#false} #168#return; {477#false} is VALID [2020-07-08 12:28:27,097 INFO L280 TraceCheckUtils]: 30: Hoare triple {477#false} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {477#false} is VALID [2020-07-08 12:28:27,098 INFO L280 TraceCheckUtils]: 31: Hoare triple {477#false} #t~short18 := ~i~0 < ~k~0; {477#false} is VALID [2020-07-08 12:28:27,098 INFO L280 TraceCheckUtils]: 32: Hoare triple {477#false} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {477#false} is VALID [2020-07-08 12:28:27,098 INFO L280 TraceCheckUtils]: 33: Hoare triple {477#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {477#false} is VALID [2020-07-08 12:28:27,099 INFO L280 TraceCheckUtils]: 34: Hoare triple {477#false} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {477#false} is VALID [2020-07-08 12:28:27,099 INFO L263 TraceCheckUtils]: 35: Hoare triple {477#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {476#true} is VALID [2020-07-08 12:28:27,099 INFO L280 TraceCheckUtils]: 36: Hoare triple {476#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {476#true} is VALID [2020-07-08 12:28:27,099 INFO L280 TraceCheckUtils]: 37: Hoare triple {476#true} assume !(~head.base != 0 || ~head.offset != 0); {476#true} is VALID [2020-07-08 12:28:27,100 INFO L280 TraceCheckUtils]: 38: Hoare triple {476#true} #res := ~len~0; {476#true} is VALID [2020-07-08 12:28:27,100 INFO L280 TraceCheckUtils]: 39: Hoare triple {476#true} assume true; {476#true} is VALID [2020-07-08 12:28:27,100 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {476#true} {477#false} #174#return; {477#false} is VALID [2020-07-08 12:28:27,101 INFO L280 TraceCheckUtils]: 41: Hoare triple {477#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {477#false} is VALID [2020-07-08 12:28:27,101 INFO L280 TraceCheckUtils]: 42: Hoare triple {477#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~ret22;havoc #t~mem21.base, #t~mem21.offset; {477#false} is VALID [2020-07-08 12:28:27,101 INFO L280 TraceCheckUtils]: 43: Hoare triple {477#false} assume !false; {477#false} is VALID [2020-07-08 12:28:27,105 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-08 12:28:27,105 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [142320083] [2020-07-08 12:28:27,105 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2123180657] [2020-07-08 12:28:27,106 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:28:27,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:27,226 INFO L264 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 10 conjunts are in the unsatisfiable core [2020-07-08 12:28:27,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:27,252 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-08 12:28:27,492 INFO L263 TraceCheckUtils]: 0: Hoare triple {476#true} call ULTIMATE.init(); {476#true} is VALID [2020-07-08 12:28:27,493 INFO L280 TraceCheckUtils]: 1: Hoare triple {476#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {476#true} is VALID [2020-07-08 12:28:27,493 INFO L280 TraceCheckUtils]: 2: Hoare triple {476#true} assume true; {476#true} is VALID [2020-07-08 12:28:27,493 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {476#true} {476#true} #180#return; {476#true} is VALID [2020-07-08 12:28:27,493 INFO L263 TraceCheckUtils]: 4: Hoare triple {476#true} call #t~ret24 := main(); {476#true} is VALID [2020-07-08 12:28:27,494 INFO L263 TraceCheckUtils]: 5: Hoare triple {476#true} call #t~ret14 := _get_nondet_int(2, 5); {476#true} is VALID [2020-07-08 12:28:27,495 INFO L280 TraceCheckUtils]: 6: Hoare triple {476#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {536#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} is VALID [2020-07-08 12:28:27,495 INFO L280 TraceCheckUtils]: 7: Hoare triple {536#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} #t~short12 := ~len~1 < ~until; {536#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} is VALID [2020-07-08 12:28:27,496 INFO L280 TraceCheckUtils]: 8: Hoare triple {536#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {536#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} is VALID [2020-07-08 12:28:27,497 INFO L280 TraceCheckUtils]: 9: Hoare triple {536#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {536#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} is VALID [2020-07-08 12:28:27,498 INFO L280 TraceCheckUtils]: 10: Hoare triple {536#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} #res := ~len~1; {549#(<= |_get_nondet_int_#in~from| |_get_nondet_int_#res|)} is VALID [2020-07-08 12:28:27,498 INFO L280 TraceCheckUtils]: 11: Hoare triple {549#(<= |_get_nondet_int_#in~from| |_get_nondet_int_#res|)} assume true; {549#(<= |_get_nondet_int_#in~from| |_get_nondet_int_#res|)} is VALID [2020-07-08 12:28:27,499 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {549#(<= |_get_nondet_int_#in~from| |_get_nondet_int_#res|)} {476#true} #164#return; {488#(<= 2 |main_#t~ret14|)} is VALID [2020-07-08 12:28:27,500 INFO L280 TraceCheckUtils]: 13: Hoare triple {488#(<= 2 |main_#t~ret14|)} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {489#(<= 2 main_~len~2)} is VALID [2020-07-08 12:28:27,501 INFO L263 TraceCheckUtils]: 14: Hoare triple {489#(<= 2 main_~len~2)} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {476#true} is VALID [2020-07-08 12:28:27,502 INFO L280 TraceCheckUtils]: 15: Hoare triple {476#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {565#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2020-07-08 12:28:27,502 INFO L280 TraceCheckUtils]: 16: Hoare triple {565#(<= |sll_create_#in~len| sll_create_~len)} #t~post2 := ~len;~len := #t~post2 - 1; {569#(<= |sll_create_#in~len| |sll_create_#t~post2|)} is VALID [2020-07-08 12:28:27,503 INFO L280 TraceCheckUtils]: 17: Hoare triple {569#(<= |sll_create_#in~len| |sll_create_#t~post2|)} assume !(#t~post2 > 0);havoc #t~post2; {514#(<= |sll_create_#in~len| 0)} is VALID [2020-07-08 12:28:27,504 INFO L280 TraceCheckUtils]: 18: Hoare triple {514#(<= |sll_create_#in~len| 0)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {514#(<= |sll_create_#in~len| 0)} is VALID [2020-07-08 12:28:27,505 INFO L280 TraceCheckUtils]: 19: Hoare triple {514#(<= |sll_create_#in~len| 0)} assume true; {514#(<= |sll_create_#in~len| 0)} is VALID [2020-07-08 12:28:27,506 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {514#(<= |sll_create_#in~len| 0)} {489#(<= 2 main_~len~2)} #166#return; {477#false} is VALID [2020-07-08 12:28:27,506 INFO L280 TraceCheckUtils]: 21: Hoare triple {477#false} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {477#false} is VALID [2020-07-08 12:28:27,506 INFO L263 TraceCheckUtils]: 22: Hoare triple {477#false} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {477#false} is VALID [2020-07-08 12:28:27,507 INFO L280 TraceCheckUtils]: 23: Hoare triple {477#false} ~from := #in~from;~until := #in~until;~len~1 := ~from; {477#false} is VALID [2020-07-08 12:28:27,507 INFO L280 TraceCheckUtils]: 24: Hoare triple {477#false} #t~short12 := ~len~1 < ~until; {477#false} is VALID [2020-07-08 12:28:27,507 INFO L280 TraceCheckUtils]: 25: Hoare triple {477#false} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {477#false} is VALID [2020-07-08 12:28:27,507 INFO L280 TraceCheckUtils]: 26: Hoare triple {477#false} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {477#false} is VALID [2020-07-08 12:28:27,508 INFO L280 TraceCheckUtils]: 27: Hoare triple {477#false} #res := ~len~1; {477#false} is VALID [2020-07-08 12:28:27,508 INFO L280 TraceCheckUtils]: 28: Hoare triple {477#false} assume true; {477#false} is VALID [2020-07-08 12:28:27,508 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {477#false} {477#false} #168#return; {477#false} is VALID [2020-07-08 12:28:27,508 INFO L280 TraceCheckUtils]: 30: Hoare triple {477#false} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {477#false} is VALID [2020-07-08 12:28:27,509 INFO L280 TraceCheckUtils]: 31: Hoare triple {477#false} #t~short18 := ~i~0 < ~k~0; {477#false} is VALID [2020-07-08 12:28:27,509 INFO L280 TraceCheckUtils]: 32: Hoare triple {477#false} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {477#false} is VALID [2020-07-08 12:28:27,509 INFO L280 TraceCheckUtils]: 33: Hoare triple {477#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {477#false} is VALID [2020-07-08 12:28:27,509 INFO L280 TraceCheckUtils]: 34: Hoare triple {477#false} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {477#false} is VALID [2020-07-08 12:28:27,510 INFO L263 TraceCheckUtils]: 35: Hoare triple {477#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {477#false} is VALID [2020-07-08 12:28:27,510 INFO L280 TraceCheckUtils]: 36: Hoare triple {477#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {477#false} is VALID [2020-07-08 12:28:27,510 INFO L280 TraceCheckUtils]: 37: Hoare triple {477#false} assume !(~head.base != 0 || ~head.offset != 0); {477#false} is VALID [2020-07-08 12:28:27,510 INFO L280 TraceCheckUtils]: 38: Hoare triple {477#false} #res := ~len~0; {477#false} is VALID [2020-07-08 12:28:27,511 INFO L280 TraceCheckUtils]: 39: Hoare triple {477#false} assume true; {477#false} is VALID [2020-07-08 12:28:27,511 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {477#false} {477#false} #174#return; {477#false} is VALID [2020-07-08 12:28:27,511 INFO L280 TraceCheckUtils]: 41: Hoare triple {477#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {477#false} is VALID [2020-07-08 12:28:27,511 INFO L280 TraceCheckUtils]: 42: Hoare triple {477#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~ret22;havoc #t~mem21.base, #t~mem21.offset; {477#false} is VALID [2020-07-08 12:28:27,512 INFO L280 TraceCheckUtils]: 43: Hoare triple {477#false} assume !false; {477#false} is VALID [2020-07-08 12:28:27,514 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 7 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 12:28:27,514 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-08 12:28:27,515 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [11] total 15 [2020-07-08 12:28:27,516 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [297961818] [2020-07-08 12:28:27,517 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 44 [2020-07-08 12:28:27,517 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:28:27,517 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-08 12:28:27,576 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:28:27,576 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-08 12:28:27,576 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:28:27,577 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-08 12:28:27,577 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=180, Unknown=0, NotChecked=0, Total=210 [2020-07-08 12:28:27,578 INFO L87 Difference]: Start difference. First operand 53 states and 62 transitions. Second operand 9 states. [2020-07-08 12:28:28,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:28,151 INFO L93 Difference]: Finished difference Result 95 states and 112 transitions. [2020-07-08 12:28:28,151 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-08 12:28:28,152 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 44 [2020-07-08 12:28:28,152 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:28:28,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 12:28:28,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 112 transitions. [2020-07-08 12:28:28,158 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 12:28:28,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 112 transitions. [2020-07-08 12:28:28,163 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 112 transitions. [2020-07-08 12:28:28,313 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:28:28,317 INFO L225 Difference]: With dead ends: 95 [2020-07-08 12:28:28,317 INFO L226 Difference]: Without dead ends: 55 [2020-07-08 12:28:28,319 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 47 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=35, Invalid=205, Unknown=0, NotChecked=0, Total=240 [2020-07-08 12:28:28,319 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2020-07-08 12:28:28,386 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2020-07-08 12:28:28,386 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:28:28,387 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 55 states. [2020-07-08 12:28:28,387 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 55 states. [2020-07-08 12:28:28,387 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 55 states. [2020-07-08 12:28:28,396 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:28,396 INFO L93 Difference]: Finished difference Result 55 states and 64 transitions. [2020-07-08 12:28:28,396 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 64 transitions. [2020-07-08 12:28:28,400 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:28:28,400 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:28:28,400 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 55 states. [2020-07-08 12:28:28,400 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 55 states. [2020-07-08 12:28:28,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:28,409 INFO L93 Difference]: Finished difference Result 55 states and 64 transitions. [2020-07-08 12:28:28,409 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 64 transitions. [2020-07-08 12:28:28,410 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:28:28,410 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:28:28,410 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:28:28,410 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:28:28,410 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 55 states. [2020-07-08 12:28:28,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 64 transitions. [2020-07-08 12:28:28,418 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 64 transitions. Word has length 44 [2020-07-08 12:28:28,419 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:28:28,419 INFO L479 AbstractCegarLoop]: Abstraction has 55 states and 64 transitions. [2020-07-08 12:28:28,419 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-08 12:28:28,419 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 64 transitions. [2020-07-08 12:28:28,425 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2020-07-08 12:28:28,425 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:28:28,425 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 12:28:28,626 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable1 [2020-07-08 12:28:28,627 INFO L427 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:28:28,627 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:28:28,627 INFO L82 PathProgramCache]: Analyzing trace with hash -877094443, now seen corresponding path program 1 times [2020-07-08 12:28:28,628 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:28:28,628 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [72224642] [2020-07-08 12:28:28,628 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:28:28,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:28,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:28,743 INFO L280 TraceCheckUtils]: 0: Hoare triple {1000#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {964#true} is VALID [2020-07-08 12:28:28,744 INFO L280 TraceCheckUtils]: 1: Hoare triple {964#true} assume true; {964#true} is VALID [2020-07-08 12:28:28,744 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {964#true} {964#true} #180#return; {964#true} is VALID [2020-07-08 12:28:28,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:28,801 INFO L280 TraceCheckUtils]: 0: Hoare triple {964#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:28:28,801 INFO L280 TraceCheckUtils]: 1: Hoare triple {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #t~short12 := ~len~1 < ~until; {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:28:28,802 INFO L280 TraceCheckUtils]: 2: Hoare triple {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:28:28,803 INFO L280 TraceCheckUtils]: 3: Hoare triple {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:28:28,803 INFO L280 TraceCheckUtils]: 4: Hoare triple {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #res := ~len~1; {1002#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:28:28,804 INFO L280 TraceCheckUtils]: 5: Hoare triple {1002#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} assume true; {1002#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:28:28,805 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {1002#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} {964#true} #164#return; {976#(<= 2 |main_#t~ret14|)} is VALID [2020-07-08 12:28:28,829 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:28,921 INFO L280 TraceCheckUtils]: 0: Hoare triple {1003#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1004#(= |sll_create_#in~len| sll_create_~len)} is VALID [2020-07-08 12:28:28,923 INFO L280 TraceCheckUtils]: 1: Hoare triple {1004#(= |sll_create_#in~len| sll_create_~len)} #t~post2 := ~len;~len := #t~post2 - 1; {1005#(and (= |sll_create_#in~len| |sll_create_#t~post2|) (<= |sll_create_#t~post2| (+ sll_create_~len 1)))} is VALID [2020-07-08 12:28:28,924 INFO L280 TraceCheckUtils]: 2: Hoare triple {1005#(and (= |sll_create_#in~len| |sll_create_#t~post2|) (<= |sll_create_#t~post2| (+ sll_create_~len 1)))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1006#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-08 12:28:28,925 INFO L280 TraceCheckUtils]: 3: Hoare triple {1006#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1006#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-08 12:28:28,925 INFO L280 TraceCheckUtils]: 4: Hoare triple {1006#(<= |sll_create_#in~len| (+ sll_create_~len 1))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1006#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-08 12:28:28,926 INFO L280 TraceCheckUtils]: 5: Hoare triple {1006#(<= |sll_create_#in~len| (+ sll_create_~len 1))} #t~post2 := ~len;~len := #t~post2 - 1; {1007#(<= |sll_create_#in~len| (+ |sll_create_#t~post2| 1))} is VALID [2020-07-08 12:28:28,930 INFO L280 TraceCheckUtils]: 6: Hoare triple {1007#(<= |sll_create_#in~len| (+ |sll_create_#t~post2| 1))} assume !(#t~post2 > 0);havoc #t~post2; {1008#(<= |sll_create_#in~len| 1)} is VALID [2020-07-08 12:28:28,934 INFO L280 TraceCheckUtils]: 7: Hoare triple {1008#(<= |sll_create_#in~len| 1)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1008#(<= |sll_create_#in~len| 1)} is VALID [2020-07-08 12:28:28,935 INFO L280 TraceCheckUtils]: 8: Hoare triple {1008#(<= |sll_create_#in~len| 1)} assume true; {1008#(<= |sll_create_#in~len| 1)} is VALID [2020-07-08 12:28:28,936 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1008#(<= |sll_create_#in~len| 1)} {977#(<= 2 main_~len~2)} #166#return; {965#false} is VALID [2020-07-08 12:28:28,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:28,946 INFO L280 TraceCheckUtils]: 0: Hoare triple {964#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {964#true} is VALID [2020-07-08 12:28:28,947 INFO L280 TraceCheckUtils]: 1: Hoare triple {964#true} #t~short12 := ~len~1 < ~until; {964#true} is VALID [2020-07-08 12:28:28,947 INFO L280 TraceCheckUtils]: 2: Hoare triple {964#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {964#true} is VALID [2020-07-08 12:28:28,947 INFO L280 TraceCheckUtils]: 3: Hoare triple {964#true} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {964#true} is VALID [2020-07-08 12:28:28,948 INFO L280 TraceCheckUtils]: 4: Hoare triple {964#true} #res := ~len~1; {964#true} is VALID [2020-07-08 12:28:28,948 INFO L280 TraceCheckUtils]: 5: Hoare triple {964#true} assume true; {964#true} is VALID [2020-07-08 12:28:28,948 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {964#true} {965#false} #168#return; {965#false} is VALID [2020-07-08 12:28:28,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:28,954 INFO L280 TraceCheckUtils]: 0: Hoare triple {964#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {964#true} is VALID [2020-07-08 12:28:28,954 INFO L280 TraceCheckUtils]: 1: Hoare triple {964#true} assume !(~head.base != 0 || ~head.offset != 0); {964#true} is VALID [2020-07-08 12:28:28,955 INFO L280 TraceCheckUtils]: 2: Hoare triple {964#true} #res := ~len~0; {964#true} is VALID [2020-07-08 12:28:28,955 INFO L280 TraceCheckUtils]: 3: Hoare triple {964#true} assume true; {964#true} is VALID [2020-07-08 12:28:28,955 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {964#true} {965#false} #174#return; {965#false} is VALID [2020-07-08 12:28:28,957 INFO L263 TraceCheckUtils]: 0: Hoare triple {964#true} call ULTIMATE.init(); {1000#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:28:28,957 INFO L280 TraceCheckUtils]: 1: Hoare triple {1000#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {964#true} is VALID [2020-07-08 12:28:28,957 INFO L280 TraceCheckUtils]: 2: Hoare triple {964#true} assume true; {964#true} is VALID [2020-07-08 12:28:28,958 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {964#true} {964#true} #180#return; {964#true} is VALID [2020-07-08 12:28:28,958 INFO L263 TraceCheckUtils]: 4: Hoare triple {964#true} call #t~ret24 := main(); {964#true} is VALID [2020-07-08 12:28:28,958 INFO L263 TraceCheckUtils]: 5: Hoare triple {964#true} call #t~ret14 := _get_nondet_int(2, 5); {964#true} is VALID [2020-07-08 12:28:28,959 INFO L280 TraceCheckUtils]: 6: Hoare triple {964#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:28:28,960 INFO L280 TraceCheckUtils]: 7: Hoare triple {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #t~short12 := ~len~1 < ~until; {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:28:28,960 INFO L280 TraceCheckUtils]: 8: Hoare triple {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:28:28,961 INFO L280 TraceCheckUtils]: 9: Hoare triple {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:28:28,962 INFO L280 TraceCheckUtils]: 10: Hoare triple {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #res := ~len~1; {1002#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:28:28,963 INFO L280 TraceCheckUtils]: 11: Hoare triple {1002#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} assume true; {1002#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:28:28,964 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1002#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} {964#true} #164#return; {976#(<= 2 |main_#t~ret14|)} is VALID [2020-07-08 12:28:28,965 INFO L280 TraceCheckUtils]: 13: Hoare triple {976#(<= 2 |main_#t~ret14|)} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {977#(<= 2 main_~len~2)} is VALID [2020-07-08 12:28:28,966 INFO L263 TraceCheckUtils]: 14: Hoare triple {977#(<= 2 main_~len~2)} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {1003#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-08 12:28:28,967 INFO L280 TraceCheckUtils]: 15: Hoare triple {1003#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1004#(= |sll_create_#in~len| sll_create_~len)} is VALID [2020-07-08 12:28:28,968 INFO L280 TraceCheckUtils]: 16: Hoare triple {1004#(= |sll_create_#in~len| sll_create_~len)} #t~post2 := ~len;~len := #t~post2 - 1; {1005#(and (= |sll_create_#in~len| |sll_create_#t~post2|) (<= |sll_create_#t~post2| (+ sll_create_~len 1)))} is VALID [2020-07-08 12:28:28,969 INFO L280 TraceCheckUtils]: 17: Hoare triple {1005#(and (= |sll_create_#in~len| |sll_create_#t~post2|) (<= |sll_create_#t~post2| (+ sll_create_~len 1)))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1006#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-08 12:28:28,970 INFO L280 TraceCheckUtils]: 18: Hoare triple {1006#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1006#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-08 12:28:28,970 INFO L280 TraceCheckUtils]: 19: Hoare triple {1006#(<= |sll_create_#in~len| (+ sll_create_~len 1))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1006#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-08 12:28:28,971 INFO L280 TraceCheckUtils]: 20: Hoare triple {1006#(<= |sll_create_#in~len| (+ sll_create_~len 1))} #t~post2 := ~len;~len := #t~post2 - 1; {1007#(<= |sll_create_#in~len| (+ |sll_create_#t~post2| 1))} is VALID [2020-07-08 12:28:28,972 INFO L280 TraceCheckUtils]: 21: Hoare triple {1007#(<= |sll_create_#in~len| (+ |sll_create_#t~post2| 1))} assume !(#t~post2 > 0);havoc #t~post2; {1008#(<= |sll_create_#in~len| 1)} is VALID [2020-07-08 12:28:28,973 INFO L280 TraceCheckUtils]: 22: Hoare triple {1008#(<= |sll_create_#in~len| 1)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1008#(<= |sll_create_#in~len| 1)} is VALID [2020-07-08 12:28:28,974 INFO L280 TraceCheckUtils]: 23: Hoare triple {1008#(<= |sll_create_#in~len| 1)} assume true; {1008#(<= |sll_create_#in~len| 1)} is VALID [2020-07-08 12:28:28,975 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {1008#(<= |sll_create_#in~len| 1)} {977#(<= 2 main_~len~2)} #166#return; {965#false} is VALID [2020-07-08 12:28:28,976 INFO L280 TraceCheckUtils]: 25: Hoare triple {965#false} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {965#false} is VALID [2020-07-08 12:28:28,976 INFO L263 TraceCheckUtils]: 26: Hoare triple {965#false} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {964#true} is VALID [2020-07-08 12:28:28,976 INFO L280 TraceCheckUtils]: 27: Hoare triple {964#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {964#true} is VALID [2020-07-08 12:28:28,976 INFO L280 TraceCheckUtils]: 28: Hoare triple {964#true} #t~short12 := ~len~1 < ~until; {964#true} is VALID [2020-07-08 12:28:28,977 INFO L280 TraceCheckUtils]: 29: Hoare triple {964#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {964#true} is VALID [2020-07-08 12:28:28,977 INFO L280 TraceCheckUtils]: 30: Hoare triple {964#true} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {964#true} is VALID [2020-07-08 12:28:28,977 INFO L280 TraceCheckUtils]: 31: Hoare triple {964#true} #res := ~len~1; {964#true} is VALID [2020-07-08 12:28:28,977 INFO L280 TraceCheckUtils]: 32: Hoare triple {964#true} assume true; {964#true} is VALID [2020-07-08 12:28:28,978 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {964#true} {965#false} #168#return; {965#false} is VALID [2020-07-08 12:28:28,978 INFO L280 TraceCheckUtils]: 34: Hoare triple {965#false} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {965#false} is VALID [2020-07-08 12:28:28,978 INFO L280 TraceCheckUtils]: 35: Hoare triple {965#false} #t~short18 := ~i~0 < ~k~0; {965#false} is VALID [2020-07-08 12:28:28,978 INFO L280 TraceCheckUtils]: 36: Hoare triple {965#false} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {965#false} is VALID [2020-07-08 12:28:28,979 INFO L280 TraceCheckUtils]: 37: Hoare triple {965#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {965#false} is VALID [2020-07-08 12:28:28,979 INFO L280 TraceCheckUtils]: 38: Hoare triple {965#false} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {965#false} is VALID [2020-07-08 12:28:28,979 INFO L263 TraceCheckUtils]: 39: Hoare triple {965#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {964#true} is VALID [2020-07-08 12:28:28,979 INFO L280 TraceCheckUtils]: 40: Hoare triple {964#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {964#true} is VALID [2020-07-08 12:28:28,980 INFO L280 TraceCheckUtils]: 41: Hoare triple {964#true} assume !(~head.base != 0 || ~head.offset != 0); {964#true} is VALID [2020-07-08 12:28:28,980 INFO L280 TraceCheckUtils]: 42: Hoare triple {964#true} #res := ~len~0; {964#true} is VALID [2020-07-08 12:28:28,980 INFO L280 TraceCheckUtils]: 43: Hoare triple {964#true} assume true; {964#true} is VALID [2020-07-08 12:28:28,981 INFO L275 TraceCheckUtils]: 44: Hoare quadruple {964#true} {965#false} #174#return; {965#false} is VALID [2020-07-08 12:28:28,981 INFO L280 TraceCheckUtils]: 45: Hoare triple {965#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {965#false} is VALID [2020-07-08 12:28:28,981 INFO L280 TraceCheckUtils]: 46: Hoare triple {965#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~ret22;havoc #t~mem21.base, #t~mem21.offset; {965#false} is VALID [2020-07-08 12:28:28,981 INFO L280 TraceCheckUtils]: 47: Hoare triple {965#false} assume !false; {965#false} is VALID [2020-07-08 12:28:28,985 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-08 12:28:28,985 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [72224642] [2020-07-08 12:28:28,986 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1632100367] [2020-07-08 12:28:28,986 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:28:29,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:29,095 INFO L264 TraceCheckSpWp]: Trace formula consists of 187 conjuncts, 12 conjunts are in the unsatisfiable core [2020-07-08 12:28:29,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:29,114 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-08 12:28:29,316 INFO L263 TraceCheckUtils]: 0: Hoare triple {964#true} call ULTIMATE.init(); {964#true} is VALID [2020-07-08 12:28:29,317 INFO L280 TraceCheckUtils]: 1: Hoare triple {964#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {964#true} is VALID [2020-07-08 12:28:29,317 INFO L280 TraceCheckUtils]: 2: Hoare triple {964#true} assume true; {964#true} is VALID [2020-07-08 12:28:29,317 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {964#true} {964#true} #180#return; {964#true} is VALID [2020-07-08 12:28:29,317 INFO L263 TraceCheckUtils]: 4: Hoare triple {964#true} call #t~ret24 := main(); {964#true} is VALID [2020-07-08 12:28:29,318 INFO L263 TraceCheckUtils]: 5: Hoare triple {964#true} call #t~ret14 := _get_nondet_int(2, 5); {964#true} is VALID [2020-07-08 12:28:29,319 INFO L280 TraceCheckUtils]: 6: Hoare triple {964#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {1030#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} is VALID [2020-07-08 12:28:29,319 INFO L280 TraceCheckUtils]: 7: Hoare triple {1030#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} #t~short12 := ~len~1 < ~until; {1030#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} is VALID [2020-07-08 12:28:29,320 INFO L280 TraceCheckUtils]: 8: Hoare triple {1030#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {1030#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} is VALID [2020-07-08 12:28:29,321 INFO L280 TraceCheckUtils]: 9: Hoare triple {1030#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {1030#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} is VALID [2020-07-08 12:28:29,321 INFO L280 TraceCheckUtils]: 10: Hoare triple {1030#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} #res := ~len~1; {1043#(<= |_get_nondet_int_#in~from| |_get_nondet_int_#res|)} is VALID [2020-07-08 12:28:29,322 INFO L280 TraceCheckUtils]: 11: Hoare triple {1043#(<= |_get_nondet_int_#in~from| |_get_nondet_int_#res|)} assume true; {1043#(<= |_get_nondet_int_#in~from| |_get_nondet_int_#res|)} is VALID [2020-07-08 12:28:29,322 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1043#(<= |_get_nondet_int_#in~from| |_get_nondet_int_#res|)} {964#true} #164#return; {976#(<= 2 |main_#t~ret14|)} is VALID [2020-07-08 12:28:29,324 INFO L280 TraceCheckUtils]: 13: Hoare triple {976#(<= 2 |main_#t~ret14|)} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {977#(<= 2 main_~len~2)} is VALID [2020-07-08 12:28:29,324 INFO L263 TraceCheckUtils]: 14: Hoare triple {977#(<= 2 main_~len~2)} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {964#true} is VALID [2020-07-08 12:28:29,324 INFO L280 TraceCheckUtils]: 15: Hoare triple {964#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1059#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2020-07-08 12:28:29,325 INFO L280 TraceCheckUtils]: 16: Hoare triple {1059#(<= |sll_create_#in~len| sll_create_~len)} #t~post2 := ~len;~len := #t~post2 - 1; {1006#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-08 12:28:29,325 INFO L280 TraceCheckUtils]: 17: Hoare triple {1006#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1006#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-08 12:28:29,326 INFO L280 TraceCheckUtils]: 18: Hoare triple {1006#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1006#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-08 12:28:29,326 INFO L280 TraceCheckUtils]: 19: Hoare triple {1006#(<= |sll_create_#in~len| (+ sll_create_~len 1))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1006#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-08 12:28:29,328 INFO L280 TraceCheckUtils]: 20: Hoare triple {1006#(<= |sll_create_#in~len| (+ sll_create_~len 1))} #t~post2 := ~len;~len := #t~post2 - 1; {1007#(<= |sll_create_#in~len| (+ |sll_create_#t~post2| 1))} is VALID [2020-07-08 12:28:29,331 INFO L280 TraceCheckUtils]: 21: Hoare triple {1007#(<= |sll_create_#in~len| (+ |sll_create_#t~post2| 1))} assume !(#t~post2 > 0);havoc #t~post2; {1008#(<= |sll_create_#in~len| 1)} is VALID [2020-07-08 12:28:29,332 INFO L280 TraceCheckUtils]: 22: Hoare triple {1008#(<= |sll_create_#in~len| 1)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1008#(<= |sll_create_#in~len| 1)} is VALID [2020-07-08 12:28:29,333 INFO L280 TraceCheckUtils]: 23: Hoare triple {1008#(<= |sll_create_#in~len| 1)} assume true; {1008#(<= |sll_create_#in~len| 1)} is VALID [2020-07-08 12:28:29,333 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {1008#(<= |sll_create_#in~len| 1)} {977#(<= 2 main_~len~2)} #166#return; {965#false} is VALID [2020-07-08 12:28:29,334 INFO L280 TraceCheckUtils]: 25: Hoare triple {965#false} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {965#false} is VALID [2020-07-08 12:28:29,334 INFO L263 TraceCheckUtils]: 26: Hoare triple {965#false} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {965#false} is VALID [2020-07-08 12:28:29,334 INFO L280 TraceCheckUtils]: 27: Hoare triple {965#false} ~from := #in~from;~until := #in~until;~len~1 := ~from; {965#false} is VALID [2020-07-08 12:28:29,334 INFO L280 TraceCheckUtils]: 28: Hoare triple {965#false} #t~short12 := ~len~1 < ~until; {965#false} is VALID [2020-07-08 12:28:29,334 INFO L280 TraceCheckUtils]: 29: Hoare triple {965#false} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {965#false} is VALID [2020-07-08 12:28:29,335 INFO L280 TraceCheckUtils]: 30: Hoare triple {965#false} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {965#false} is VALID [2020-07-08 12:28:29,335 INFO L280 TraceCheckUtils]: 31: Hoare triple {965#false} #res := ~len~1; {965#false} is VALID [2020-07-08 12:28:29,335 INFO L280 TraceCheckUtils]: 32: Hoare triple {965#false} assume true; {965#false} is VALID [2020-07-08 12:28:29,335 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {965#false} {965#false} #168#return; {965#false} is VALID [2020-07-08 12:28:29,335 INFO L280 TraceCheckUtils]: 34: Hoare triple {965#false} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {965#false} is VALID [2020-07-08 12:28:29,335 INFO L280 TraceCheckUtils]: 35: Hoare triple {965#false} #t~short18 := ~i~0 < ~k~0; {965#false} is VALID [2020-07-08 12:28:29,335 INFO L280 TraceCheckUtils]: 36: Hoare triple {965#false} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {965#false} is VALID [2020-07-08 12:28:29,336 INFO L280 TraceCheckUtils]: 37: Hoare triple {965#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {965#false} is VALID [2020-07-08 12:28:29,336 INFO L280 TraceCheckUtils]: 38: Hoare triple {965#false} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {965#false} is VALID [2020-07-08 12:28:29,336 INFO L263 TraceCheckUtils]: 39: Hoare triple {965#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {965#false} is VALID [2020-07-08 12:28:29,336 INFO L280 TraceCheckUtils]: 40: Hoare triple {965#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {965#false} is VALID [2020-07-08 12:28:29,336 INFO L280 TraceCheckUtils]: 41: Hoare triple {965#false} assume !(~head.base != 0 || ~head.offset != 0); {965#false} is VALID [2020-07-08 12:28:29,336 INFO L280 TraceCheckUtils]: 42: Hoare triple {965#false} #res := ~len~0; {965#false} is VALID [2020-07-08 12:28:29,337 INFO L280 TraceCheckUtils]: 43: Hoare triple {965#false} assume true; {965#false} is VALID [2020-07-08 12:28:29,337 INFO L275 TraceCheckUtils]: 44: Hoare quadruple {965#false} {965#false} #174#return; {965#false} is VALID [2020-07-08 12:28:29,337 INFO L280 TraceCheckUtils]: 45: Hoare triple {965#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {965#false} is VALID [2020-07-08 12:28:29,337 INFO L280 TraceCheckUtils]: 46: Hoare triple {965#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~ret22;havoc #t~mem21.base, #t~mem21.offset; {965#false} is VALID [2020-07-08 12:28:29,338 INFO L280 TraceCheckUtils]: 47: Hoare triple {965#false} assume !false; {965#false} is VALID [2020-07-08 12:28:29,340 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 7 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 12:28:29,340 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-08 12:28:29,341 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 16 [2020-07-08 12:28:29,341 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [107017060] [2020-07-08 12:28:29,342 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 48 [2020-07-08 12:28:29,344 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:28:29,345 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2020-07-08 12:28:29,444 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:28:29,444 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2020-07-08 12:28:29,445 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:28:29,445 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2020-07-08 12:28:29,446 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=205, Unknown=0, NotChecked=0, Total=240 [2020-07-08 12:28:29,446 INFO L87 Difference]: Start difference. First operand 55 states and 64 transitions. Second operand 16 states. [2020-07-08 12:28:31,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:31,562 INFO L93 Difference]: Finished difference Result 114 states and 139 transitions. [2020-07-08 12:28:31,562 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-08 12:28:31,562 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 48 [2020-07-08 12:28:31,562 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:28:31,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2020-07-08 12:28:31,567 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 139 transitions. [2020-07-08 12:28:31,568 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2020-07-08 12:28:31,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 139 transitions. [2020-07-08 12:28:31,573 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 139 transitions. [2020-07-08 12:28:31,774 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 139 edges. 139 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:28:31,778 INFO L225 Difference]: With dead ends: 114 [2020-07-08 12:28:31,778 INFO L226 Difference]: Without dead ends: 74 [2020-07-08 12:28:31,780 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 57 SyntacticMatches, 0 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 64 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=128, Invalid=574, Unknown=0, NotChecked=0, Total=702 [2020-07-08 12:28:31,780 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2020-07-08 12:28:31,824 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 59. [2020-07-08 12:28:31,825 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:28:31,825 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand 59 states. [2020-07-08 12:28:31,825 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 59 states. [2020-07-08 12:28:31,825 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 59 states. [2020-07-08 12:28:31,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:31,830 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2020-07-08 12:28:31,831 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2020-07-08 12:28:31,831 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:28:31,831 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:28:31,832 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 74 states. [2020-07-08 12:28:31,832 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 74 states. [2020-07-08 12:28:31,841 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:31,841 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2020-07-08 12:28:31,841 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2020-07-08 12:28:31,842 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:28:31,842 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:28:31,842 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:28:31,842 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:28:31,843 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2020-07-08 12:28:31,847 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 68 transitions. [2020-07-08 12:28:31,847 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 68 transitions. Word has length 48 [2020-07-08 12:28:31,847 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:28:31,848 INFO L479 AbstractCegarLoop]: Abstraction has 59 states and 68 transitions. [2020-07-08 12:28:31,848 INFO L480 AbstractCegarLoop]: Interpolant automaton has 16 states. [2020-07-08 12:28:31,848 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 68 transitions. [2020-07-08 12:28:31,849 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2020-07-08 12:28:31,849 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:28:31,849 INFO L422 BasicCegarLoop]: trace histogram [3, 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] [2020-07-08 12:28:32,063 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:28:32,064 INFO L427 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:28:32,065 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:28:32,065 INFO L82 PathProgramCache]: Analyzing trace with hash -137443652, now seen corresponding path program 2 times [2020-07-08 12:28:32,065 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:28:32,066 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [537090978] [2020-07-08 12:28:32,066 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:28:32,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:32,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:32,222 INFO L280 TraceCheckUtils]: 0: Hoare triple {1602#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1561#true} is VALID [2020-07-08 12:28:32,222 INFO L280 TraceCheckUtils]: 1: Hoare triple {1561#true} assume true; {1561#true} is VALID [2020-07-08 12:28:32,222 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1561#true} {1561#true} #180#return; {1561#true} is VALID [2020-07-08 12:28:32,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:32,231 INFO L280 TraceCheckUtils]: 0: Hoare triple {1561#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {1561#true} is VALID [2020-07-08 12:28:32,231 INFO L280 TraceCheckUtils]: 1: Hoare triple {1561#true} #t~short12 := ~len~1 < ~until; {1561#true} is VALID [2020-07-08 12:28:32,232 INFO L280 TraceCheckUtils]: 2: Hoare triple {1561#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {1561#true} is VALID [2020-07-08 12:28:32,232 INFO L280 TraceCheckUtils]: 3: Hoare triple {1561#true} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {1561#true} is VALID [2020-07-08 12:28:32,232 INFO L280 TraceCheckUtils]: 4: Hoare triple {1561#true} #res := ~len~1; {1561#true} is VALID [2020-07-08 12:28:32,232 INFO L280 TraceCheckUtils]: 5: Hoare triple {1561#true} assume true; {1561#true} is VALID [2020-07-08 12:28:32,233 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {1561#true} {1561#true} #164#return; {1561#true} is VALID [2020-07-08 12:28:32,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:32,364 INFO L280 TraceCheckUtils]: 0: Hoare triple {1603#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1561#true} is VALID [2020-07-08 12:28:32,365 INFO L280 TraceCheckUtils]: 1: Hoare triple {1561#true} #t~post2 := ~len;~len := #t~post2 - 1; {1561#true} is VALID [2020-07-08 12:28:32,365 INFO L280 TraceCheckUtils]: 2: Hoare triple {1561#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1561#true} is VALID [2020-07-08 12:28:32,366 INFO L280 TraceCheckUtils]: 3: Hoare triple {1561#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1561#true} is VALID [2020-07-08 12:28:32,366 INFO L280 TraceCheckUtils]: 4: Hoare triple {1561#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1561#true} is VALID [2020-07-08 12:28:32,366 INFO L280 TraceCheckUtils]: 5: Hoare triple {1561#true} #t~post2 := ~len;~len := #t~post2 - 1; {1561#true} is VALID [2020-07-08 12:28:32,368 INFO L280 TraceCheckUtils]: 6: Hoare triple {1561#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1604#(or (<= 1 sll_create_~new_head~0.base) (<= (+ sll_create_~new_head~0.base 1) 0))} is VALID [2020-07-08 12:28:32,369 INFO L280 TraceCheckUtils]: 7: Hoare triple {1604#(or (<= 1 sll_create_~new_head~0.base) (<= (+ sll_create_~new_head~0.base 1) 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1604#(or (<= 1 sll_create_~new_head~0.base) (<= (+ sll_create_~new_head~0.base 1) 0))} is VALID [2020-07-08 12:28:32,370 INFO L280 TraceCheckUtils]: 8: Hoare triple {1604#(or (<= 1 sll_create_~new_head~0.base) (<= (+ sll_create_~new_head~0.base 1) 0))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1605#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} is VALID [2020-07-08 12:28:32,371 INFO L280 TraceCheckUtils]: 9: Hoare triple {1605#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} #t~post2 := ~len;~len := #t~post2 - 1; {1605#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} is VALID [2020-07-08 12:28:32,372 INFO L280 TraceCheckUtils]: 10: Hoare triple {1605#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} assume !(#t~post2 > 0);havoc #t~post2; {1605#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} is VALID [2020-07-08 12:28:32,373 INFO L280 TraceCheckUtils]: 11: Hoare triple {1605#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1606#(or (<= 1 |sll_create_#res.base|) (<= (+ |sll_create_#res.base| 1) 0))} is VALID [2020-07-08 12:28:32,373 INFO L280 TraceCheckUtils]: 12: Hoare triple {1606#(or (<= 1 |sll_create_#res.base|) (<= (+ |sll_create_#res.base| 1) 0))} assume true; {1606#(or (<= 1 |sll_create_#res.base|) (<= (+ |sll_create_#res.base| 1) 0))} is VALID [2020-07-08 12:28:32,376 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {1606#(or (<= 1 |sll_create_#res.base|) (<= (+ |sll_create_#res.base| 1) 0))} {1561#true} #166#return; {1587#(not (= 0 |main_#t~ret15.base|))} is VALID [2020-07-08 12:28:32,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:32,387 INFO L280 TraceCheckUtils]: 0: Hoare triple {1561#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {1561#true} is VALID [2020-07-08 12:28:32,388 INFO L280 TraceCheckUtils]: 1: Hoare triple {1561#true} #t~short12 := ~len~1 < ~until; {1561#true} is VALID [2020-07-08 12:28:32,388 INFO L280 TraceCheckUtils]: 2: Hoare triple {1561#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {1561#true} is VALID [2020-07-08 12:28:32,388 INFO L280 TraceCheckUtils]: 3: Hoare triple {1561#true} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {1561#true} is VALID [2020-07-08 12:28:32,389 INFO L280 TraceCheckUtils]: 4: Hoare triple {1561#true} #res := ~len~1; {1561#true} is VALID [2020-07-08 12:28:32,389 INFO L280 TraceCheckUtils]: 5: Hoare triple {1561#true} assume true; {1561#true} is VALID [2020-07-08 12:28:32,396 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {1561#true} {1588#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} #168#return; {1588#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2020-07-08 12:28:32,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:32,432 INFO L280 TraceCheckUtils]: 0: Hoare triple {1561#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {1607#(= |sll_length_#in~head.base| sll_length_~head.base)} is VALID [2020-07-08 12:28:32,433 INFO L280 TraceCheckUtils]: 1: Hoare triple {1607#(= |sll_length_#in~head.base| sll_length_~head.base)} assume !(~head.base != 0 || ~head.offset != 0); {1608#(= 0 |sll_length_#in~head.base|)} is VALID [2020-07-08 12:28:32,433 INFO L280 TraceCheckUtils]: 2: Hoare triple {1608#(= 0 |sll_length_#in~head.base|)} #res := ~len~0; {1608#(= 0 |sll_length_#in~head.base|)} is VALID [2020-07-08 12:28:32,434 INFO L280 TraceCheckUtils]: 3: Hoare triple {1608#(= 0 |sll_length_#in~head.base|)} assume true; {1608#(= 0 |sll_length_#in~head.base|)} is VALID [2020-07-08 12:28:32,435 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1608#(= 0 |sll_length_#in~head.base|)} {1596#(not (= 0 |main_#t~mem21.base|))} #174#return; {1562#false} is VALID [2020-07-08 12:28:32,436 INFO L263 TraceCheckUtils]: 0: Hoare triple {1561#true} call ULTIMATE.init(); {1602#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:28:32,436 INFO L280 TraceCheckUtils]: 1: Hoare triple {1602#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1561#true} is VALID [2020-07-08 12:28:32,436 INFO L280 TraceCheckUtils]: 2: Hoare triple {1561#true} assume true; {1561#true} is VALID [2020-07-08 12:28:32,437 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1561#true} {1561#true} #180#return; {1561#true} is VALID [2020-07-08 12:28:32,437 INFO L263 TraceCheckUtils]: 4: Hoare triple {1561#true} call #t~ret24 := main(); {1561#true} is VALID [2020-07-08 12:28:32,437 INFO L263 TraceCheckUtils]: 5: Hoare triple {1561#true} call #t~ret14 := _get_nondet_int(2, 5); {1561#true} is VALID [2020-07-08 12:28:32,437 INFO L280 TraceCheckUtils]: 6: Hoare triple {1561#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {1561#true} is VALID [2020-07-08 12:28:32,437 INFO L280 TraceCheckUtils]: 7: Hoare triple {1561#true} #t~short12 := ~len~1 < ~until; {1561#true} is VALID [2020-07-08 12:28:32,438 INFO L280 TraceCheckUtils]: 8: Hoare triple {1561#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {1561#true} is VALID [2020-07-08 12:28:32,438 INFO L280 TraceCheckUtils]: 9: Hoare triple {1561#true} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {1561#true} is VALID [2020-07-08 12:28:32,438 INFO L280 TraceCheckUtils]: 10: Hoare triple {1561#true} #res := ~len~1; {1561#true} is VALID [2020-07-08 12:28:32,438 INFO L280 TraceCheckUtils]: 11: Hoare triple {1561#true} assume true; {1561#true} is VALID [2020-07-08 12:28:32,438 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1561#true} {1561#true} #164#return; {1561#true} is VALID [2020-07-08 12:28:32,439 INFO L280 TraceCheckUtils]: 13: Hoare triple {1561#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {1561#true} is VALID [2020-07-08 12:28:32,440 INFO L263 TraceCheckUtils]: 14: Hoare triple {1561#true} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {1603#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-08 12:28:32,440 INFO L280 TraceCheckUtils]: 15: Hoare triple {1603#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1561#true} is VALID [2020-07-08 12:28:32,440 INFO L280 TraceCheckUtils]: 16: Hoare triple {1561#true} #t~post2 := ~len;~len := #t~post2 - 1; {1561#true} is VALID [2020-07-08 12:28:32,440 INFO L280 TraceCheckUtils]: 17: Hoare triple {1561#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1561#true} is VALID [2020-07-08 12:28:32,441 INFO L280 TraceCheckUtils]: 18: Hoare triple {1561#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1561#true} is VALID [2020-07-08 12:28:32,441 INFO L280 TraceCheckUtils]: 19: Hoare triple {1561#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1561#true} is VALID [2020-07-08 12:28:32,441 INFO L280 TraceCheckUtils]: 20: Hoare triple {1561#true} #t~post2 := ~len;~len := #t~post2 - 1; {1561#true} is VALID [2020-07-08 12:28:32,442 INFO L280 TraceCheckUtils]: 21: Hoare triple {1561#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1604#(or (<= 1 sll_create_~new_head~0.base) (<= (+ sll_create_~new_head~0.base 1) 0))} is VALID [2020-07-08 12:28:32,443 INFO L280 TraceCheckUtils]: 22: Hoare triple {1604#(or (<= 1 sll_create_~new_head~0.base) (<= (+ sll_create_~new_head~0.base 1) 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1604#(or (<= 1 sll_create_~new_head~0.base) (<= (+ sll_create_~new_head~0.base 1) 0))} is VALID [2020-07-08 12:28:32,444 INFO L280 TraceCheckUtils]: 23: Hoare triple {1604#(or (<= 1 sll_create_~new_head~0.base) (<= (+ sll_create_~new_head~0.base 1) 0))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1605#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} is VALID [2020-07-08 12:28:32,444 INFO L280 TraceCheckUtils]: 24: Hoare triple {1605#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} #t~post2 := ~len;~len := #t~post2 - 1; {1605#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} is VALID [2020-07-08 12:28:32,445 INFO L280 TraceCheckUtils]: 25: Hoare triple {1605#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} assume !(#t~post2 > 0);havoc #t~post2; {1605#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} is VALID [2020-07-08 12:28:32,446 INFO L280 TraceCheckUtils]: 26: Hoare triple {1605#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1606#(or (<= 1 |sll_create_#res.base|) (<= (+ |sll_create_#res.base| 1) 0))} is VALID [2020-07-08 12:28:32,446 INFO L280 TraceCheckUtils]: 27: Hoare triple {1606#(or (<= 1 |sll_create_#res.base|) (<= (+ |sll_create_#res.base| 1) 0))} assume true; {1606#(or (<= 1 |sll_create_#res.base|) (<= (+ |sll_create_#res.base| 1) 0))} is VALID [2020-07-08 12:28:32,447 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {1606#(or (<= 1 |sll_create_#res.base|) (<= (+ |sll_create_#res.base| 1) 0))} {1561#true} #166#return; {1587#(not (= 0 |main_#t~ret15.base|))} is VALID [2020-07-08 12:28:32,448 INFO L280 TraceCheckUtils]: 29: Hoare triple {1587#(not (= 0 |main_#t~ret15.base|))} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {1588#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2020-07-08 12:28:32,448 INFO L263 TraceCheckUtils]: 30: Hoare triple {1588#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {1561#true} is VALID [2020-07-08 12:28:32,448 INFO L280 TraceCheckUtils]: 31: Hoare triple {1561#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {1561#true} is VALID [2020-07-08 12:28:32,449 INFO L280 TraceCheckUtils]: 32: Hoare triple {1561#true} #t~short12 := ~len~1 < ~until; {1561#true} is VALID [2020-07-08 12:28:32,449 INFO L280 TraceCheckUtils]: 33: Hoare triple {1561#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {1561#true} is VALID [2020-07-08 12:28:32,449 INFO L280 TraceCheckUtils]: 34: Hoare triple {1561#true} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {1561#true} is VALID [2020-07-08 12:28:32,449 INFO L280 TraceCheckUtils]: 35: Hoare triple {1561#true} #res := ~len~1; {1561#true} is VALID [2020-07-08 12:28:32,449 INFO L280 TraceCheckUtils]: 36: Hoare triple {1561#true} assume true; {1561#true} is VALID [2020-07-08 12:28:32,450 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {1561#true} {1588#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} #168#return; {1588#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2020-07-08 12:28:32,451 INFO L280 TraceCheckUtils]: 38: Hoare triple {1588#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {1588#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2020-07-08 12:28:32,452 INFO L280 TraceCheckUtils]: 39: Hoare triple {1588#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} #t~short18 := ~i~0 < ~k~0; {1588#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2020-07-08 12:28:32,452 INFO L280 TraceCheckUtils]: 40: Hoare triple {1588#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {1588#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2020-07-08 12:28:32,453 INFO L280 TraceCheckUtils]: 41: Hoare triple {1588#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {1588#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2020-07-08 12:28:32,456 INFO L280 TraceCheckUtils]: 42: Hoare triple {1588#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {1596#(not (= 0 |main_#t~mem21.base|))} is VALID [2020-07-08 12:28:32,456 INFO L263 TraceCheckUtils]: 43: Hoare triple {1596#(not (= 0 |main_#t~mem21.base|))} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {1561#true} is VALID [2020-07-08 12:28:32,461 INFO L280 TraceCheckUtils]: 44: Hoare triple {1561#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {1607#(= |sll_length_#in~head.base| sll_length_~head.base)} is VALID [2020-07-08 12:28:32,462 INFO L280 TraceCheckUtils]: 45: Hoare triple {1607#(= |sll_length_#in~head.base| sll_length_~head.base)} assume !(~head.base != 0 || ~head.offset != 0); {1608#(= 0 |sll_length_#in~head.base|)} is VALID [2020-07-08 12:28:32,463 INFO L280 TraceCheckUtils]: 46: Hoare triple {1608#(= 0 |sll_length_#in~head.base|)} #res := ~len~0; {1608#(= 0 |sll_length_#in~head.base|)} is VALID [2020-07-08 12:28:32,464 INFO L280 TraceCheckUtils]: 47: Hoare triple {1608#(= 0 |sll_length_#in~head.base|)} assume true; {1608#(= 0 |sll_length_#in~head.base|)} is VALID [2020-07-08 12:28:32,465 INFO L275 TraceCheckUtils]: 48: Hoare quadruple {1608#(= 0 |sll_length_#in~head.base|)} {1596#(not (= 0 |main_#t~mem21.base|))} #174#return; {1562#false} is VALID [2020-07-08 12:28:32,465 INFO L280 TraceCheckUtils]: 49: Hoare triple {1562#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {1562#false} is VALID [2020-07-08 12:28:32,466 INFO L280 TraceCheckUtils]: 50: Hoare triple {1562#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~ret22;havoc #t~mem21.base, #t~mem21.offset; {1562#false} is VALID [2020-07-08 12:28:32,466 INFO L280 TraceCheckUtils]: 51: Hoare triple {1562#false} assume !false; {1562#false} is VALID [2020-07-08 12:28:32,471 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2020-07-08 12:28:32,471 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [537090978] [2020-07-08 12:28:32,471 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 12:28:32,471 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2020-07-08 12:28:32,473 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [473095482] [2020-07-08 12:28:32,474 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 52 [2020-07-08 12:28:32,474 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:28:32,474 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-08 12:28:32,529 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:28:32,529 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-08 12:28:32,530 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:28:32,530 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-08 12:28:32,530 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=111, Unknown=0, NotChecked=0, Total=132 [2020-07-08 12:28:32,530 INFO L87 Difference]: Start difference. First operand 59 states and 68 transitions. Second operand 12 states. [2020-07-08 12:28:34,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:34,164 INFO L93 Difference]: Finished difference Result 79 states and 93 transitions. [2020-07-08 12:28:34,164 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-08 12:28:34,165 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 52 [2020-07-08 12:28:34,165 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:28:34,165 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-08 12:28:34,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 91 transitions. [2020-07-08 12:28:34,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-08 12:28:34,171 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 91 transitions. [2020-07-08 12:28:34,172 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 91 transitions. [2020-07-08 12:28:34,314 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:28:34,319 INFO L225 Difference]: With dead ends: 79 [2020-07-08 12:28:34,319 INFO L226 Difference]: Without dead ends: 75 [2020-07-08 12:28:34,320 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=53, Invalid=253, Unknown=0, NotChecked=0, Total=306 [2020-07-08 12:28:34,321 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2020-07-08 12:28:34,378 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 68. [2020-07-08 12:28:34,379 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:28:34,379 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand 68 states. [2020-07-08 12:28:34,379 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 68 states. [2020-07-08 12:28:34,380 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 68 states. [2020-07-08 12:28:34,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:34,385 INFO L93 Difference]: Finished difference Result 75 states and 89 transitions. [2020-07-08 12:28:34,385 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 89 transitions. [2020-07-08 12:28:34,385 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:28:34,385 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:28:34,386 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 75 states. [2020-07-08 12:28:34,386 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 75 states. [2020-07-08 12:28:34,390 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:34,390 INFO L93 Difference]: Finished difference Result 75 states and 89 transitions. [2020-07-08 12:28:34,390 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 89 transitions. [2020-07-08 12:28:34,391 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:28:34,391 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:28:34,391 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:28:34,391 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:28:34,391 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 68 states. [2020-07-08 12:28:34,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 81 transitions. [2020-07-08 12:28:34,395 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 81 transitions. Word has length 52 [2020-07-08 12:28:34,395 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:28:34,395 INFO L479 AbstractCegarLoop]: Abstraction has 68 states and 81 transitions. [2020-07-08 12:28:34,395 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-08 12:28:34,395 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 81 transitions. [2020-07-08 12:28:34,396 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2020-07-08 12:28:34,396 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:28:34,396 INFO L422 BasicCegarLoop]: trace histogram [3, 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] [2020-07-08 12:28:34,397 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-08 12:28:34,397 INFO L427 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:28:34,397 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:28:34,397 INFO L82 PathProgramCache]: Analyzing trace with hash -1960431148, now seen corresponding path program 1 times [2020-07-08 12:28:34,397 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:28:34,398 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [645981897] [2020-07-08 12:28:34,398 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:28:34,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:34,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:34,528 INFO L280 TraceCheckUtils]: 0: Hoare triple {2016#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1974#true} is VALID [2020-07-08 12:28:34,528 INFO L280 TraceCheckUtils]: 1: Hoare triple {1974#true} assume true; {1974#true} is VALID [2020-07-08 12:28:34,528 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1974#true} {1974#true} #180#return; {1974#true} is VALID [2020-07-08 12:28:34,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:34,536 INFO L280 TraceCheckUtils]: 0: Hoare triple {1974#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {1974#true} is VALID [2020-07-08 12:28:34,536 INFO L280 TraceCheckUtils]: 1: Hoare triple {1974#true} #t~short12 := ~len~1 < ~until; {1974#true} is VALID [2020-07-08 12:28:34,536 INFO L280 TraceCheckUtils]: 2: Hoare triple {1974#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {1974#true} is VALID [2020-07-08 12:28:34,536 INFO L280 TraceCheckUtils]: 3: Hoare triple {1974#true} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {1974#true} is VALID [2020-07-08 12:28:34,537 INFO L280 TraceCheckUtils]: 4: Hoare triple {1974#true} #res := ~len~1; {1974#true} is VALID [2020-07-08 12:28:34,537 INFO L280 TraceCheckUtils]: 5: Hoare triple {1974#true} assume true; {1974#true} is VALID [2020-07-08 12:28:34,537 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {1974#true} {1974#true} #164#return; {1974#true} is VALID [2020-07-08 12:28:34,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:34,567 INFO L280 TraceCheckUtils]: 0: Hoare triple {2017#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1974#true} is VALID [2020-07-08 12:28:34,567 INFO L280 TraceCheckUtils]: 1: Hoare triple {1974#true} #t~post2 := ~len;~len := #t~post2 - 1; {1974#true} is VALID [2020-07-08 12:28:34,567 INFO L280 TraceCheckUtils]: 2: Hoare triple {1974#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1974#true} is VALID [2020-07-08 12:28:34,567 INFO L280 TraceCheckUtils]: 3: Hoare triple {1974#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1974#true} is VALID [2020-07-08 12:28:34,568 INFO L280 TraceCheckUtils]: 4: Hoare triple {1974#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1974#true} is VALID [2020-07-08 12:28:34,568 INFO L280 TraceCheckUtils]: 5: Hoare triple {1974#true} #t~post2 := ~len;~len := #t~post2 - 1; {1974#true} is VALID [2020-07-08 12:28:34,568 INFO L280 TraceCheckUtils]: 6: Hoare triple {1974#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1974#true} is VALID [2020-07-08 12:28:34,568 INFO L280 TraceCheckUtils]: 7: Hoare triple {1974#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1974#true} is VALID [2020-07-08 12:28:34,569 INFO L280 TraceCheckUtils]: 8: Hoare triple {1974#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1974#true} is VALID [2020-07-08 12:28:34,569 INFO L280 TraceCheckUtils]: 9: Hoare triple {1974#true} #t~post2 := ~len;~len := #t~post2 - 1; {1974#true} is VALID [2020-07-08 12:28:34,569 INFO L280 TraceCheckUtils]: 10: Hoare triple {1974#true} assume !(#t~post2 > 0);havoc #t~post2; {1974#true} is VALID [2020-07-08 12:28:34,569 INFO L280 TraceCheckUtils]: 11: Hoare triple {1974#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1974#true} is VALID [2020-07-08 12:28:34,569 INFO L280 TraceCheckUtils]: 12: Hoare triple {1974#true} assume true; {1974#true} is VALID [2020-07-08 12:28:34,570 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {1974#true} {1974#true} #166#return; {1974#true} is VALID [2020-07-08 12:28:34,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:34,645 INFO L280 TraceCheckUtils]: 0: Hoare triple {1974#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {2018#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-08 12:28:34,646 INFO L280 TraceCheckUtils]: 1: Hoare triple {2018#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} #t~short12 := ~len~1 < ~until; {2018#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-08 12:28:34,646 INFO L280 TraceCheckUtils]: 2: Hoare triple {2018#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {2018#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-08 12:28:34,647 INFO L280 TraceCheckUtils]: 3: Hoare triple {2018#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {2018#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-08 12:28:34,648 INFO L280 TraceCheckUtils]: 4: Hoare triple {2018#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} #res := ~len~1; {2019#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:28:34,648 INFO L280 TraceCheckUtils]: 5: Hoare triple {2019#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} assume true; {2019#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:28:34,649 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {2019#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} {1974#true} #168#return; {2007#(= |main_#t~ret16| 0)} is VALID [2020-07-08 12:28:34,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:34,655 INFO L280 TraceCheckUtils]: 0: Hoare triple {1974#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {1974#true} is VALID [2020-07-08 12:28:34,655 INFO L280 TraceCheckUtils]: 1: Hoare triple {1974#true} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {1974#true} is VALID [2020-07-08 12:28:34,656 INFO L280 TraceCheckUtils]: 2: Hoare triple {1974#true} assume !(~head.base != 0 || ~head.offset != 0); {1974#true} is VALID [2020-07-08 12:28:34,656 INFO L280 TraceCheckUtils]: 3: Hoare triple {1974#true} #res := ~len~0; {1974#true} is VALID [2020-07-08 12:28:34,656 INFO L280 TraceCheckUtils]: 4: Hoare triple {1974#true} assume true; {1974#true} is VALID [2020-07-08 12:28:34,656 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1974#true} {1975#false} #174#return; {1975#false} is VALID [2020-07-08 12:28:34,657 INFO L263 TraceCheckUtils]: 0: Hoare triple {1974#true} call ULTIMATE.init(); {2016#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:28:34,657 INFO L280 TraceCheckUtils]: 1: Hoare triple {2016#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1974#true} is VALID [2020-07-08 12:28:34,658 INFO L280 TraceCheckUtils]: 2: Hoare triple {1974#true} assume true; {1974#true} is VALID [2020-07-08 12:28:34,658 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1974#true} {1974#true} #180#return; {1974#true} is VALID [2020-07-08 12:28:34,658 INFO L263 TraceCheckUtils]: 4: Hoare triple {1974#true} call #t~ret24 := main(); {1974#true} is VALID [2020-07-08 12:28:34,658 INFO L263 TraceCheckUtils]: 5: Hoare triple {1974#true} call #t~ret14 := _get_nondet_int(2, 5); {1974#true} is VALID [2020-07-08 12:28:34,659 INFO L280 TraceCheckUtils]: 6: Hoare triple {1974#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {1974#true} is VALID [2020-07-08 12:28:34,659 INFO L280 TraceCheckUtils]: 7: Hoare triple {1974#true} #t~short12 := ~len~1 < ~until; {1974#true} is VALID [2020-07-08 12:28:34,659 INFO L280 TraceCheckUtils]: 8: Hoare triple {1974#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {1974#true} is VALID [2020-07-08 12:28:34,659 INFO L280 TraceCheckUtils]: 9: Hoare triple {1974#true} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {1974#true} is VALID [2020-07-08 12:28:34,659 INFO L280 TraceCheckUtils]: 10: Hoare triple {1974#true} #res := ~len~1; {1974#true} is VALID [2020-07-08 12:28:34,660 INFO L280 TraceCheckUtils]: 11: Hoare triple {1974#true} assume true; {1974#true} is VALID [2020-07-08 12:28:34,660 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1974#true} {1974#true} #164#return; {1974#true} is VALID [2020-07-08 12:28:34,660 INFO L280 TraceCheckUtils]: 13: Hoare triple {1974#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {1974#true} is VALID [2020-07-08 12:28:34,661 INFO L263 TraceCheckUtils]: 14: Hoare triple {1974#true} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {2017#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-08 12:28:34,661 INFO L280 TraceCheckUtils]: 15: Hoare triple {2017#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1974#true} is VALID [2020-07-08 12:28:34,662 INFO L280 TraceCheckUtils]: 16: Hoare triple {1974#true} #t~post2 := ~len;~len := #t~post2 - 1; {1974#true} is VALID [2020-07-08 12:28:34,662 INFO L280 TraceCheckUtils]: 17: Hoare triple {1974#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1974#true} is VALID [2020-07-08 12:28:34,662 INFO L280 TraceCheckUtils]: 18: Hoare triple {1974#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1974#true} is VALID [2020-07-08 12:28:34,662 INFO L280 TraceCheckUtils]: 19: Hoare triple {1974#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1974#true} is VALID [2020-07-08 12:28:34,662 INFO L280 TraceCheckUtils]: 20: Hoare triple {1974#true} #t~post2 := ~len;~len := #t~post2 - 1; {1974#true} is VALID [2020-07-08 12:28:34,663 INFO L280 TraceCheckUtils]: 21: Hoare triple {1974#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1974#true} is VALID [2020-07-08 12:28:34,663 INFO L280 TraceCheckUtils]: 22: Hoare triple {1974#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1974#true} is VALID [2020-07-08 12:28:34,663 INFO L280 TraceCheckUtils]: 23: Hoare triple {1974#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1974#true} is VALID [2020-07-08 12:28:34,663 INFO L280 TraceCheckUtils]: 24: Hoare triple {1974#true} #t~post2 := ~len;~len := #t~post2 - 1; {1974#true} is VALID [2020-07-08 12:28:34,663 INFO L280 TraceCheckUtils]: 25: Hoare triple {1974#true} assume !(#t~post2 > 0);havoc #t~post2; {1974#true} is VALID [2020-07-08 12:28:34,664 INFO L280 TraceCheckUtils]: 26: Hoare triple {1974#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1974#true} is VALID [2020-07-08 12:28:34,664 INFO L280 TraceCheckUtils]: 27: Hoare triple {1974#true} assume true; {1974#true} is VALID [2020-07-08 12:28:34,664 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {1974#true} {1974#true} #166#return; {1974#true} is VALID [2020-07-08 12:28:34,664 INFO L280 TraceCheckUtils]: 29: Hoare triple {1974#true} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {1974#true} is VALID [2020-07-08 12:28:34,664 INFO L263 TraceCheckUtils]: 30: Hoare triple {1974#true} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {1974#true} is VALID [2020-07-08 12:28:34,665 INFO L280 TraceCheckUtils]: 31: Hoare triple {1974#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {2018#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-08 12:28:34,666 INFO L280 TraceCheckUtils]: 32: Hoare triple {2018#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} #t~short12 := ~len~1 < ~until; {2018#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-08 12:28:34,666 INFO L280 TraceCheckUtils]: 33: Hoare triple {2018#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {2018#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-08 12:28:34,667 INFO L280 TraceCheckUtils]: 34: Hoare triple {2018#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {2018#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-08 12:28:34,668 INFO L280 TraceCheckUtils]: 35: Hoare triple {2018#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} #res := ~len~1; {2019#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:28:34,668 INFO L280 TraceCheckUtils]: 36: Hoare triple {2019#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} assume true; {2019#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:28:34,670 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {2019#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} {1974#true} #168#return; {2007#(= |main_#t~ret16| 0)} is VALID [2020-07-08 12:28:34,670 INFO L280 TraceCheckUtils]: 38: Hoare triple {2007#(= |main_#t~ret16| 0)} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {2008#(and (= 0 main_~k~0) (= 0 main_~i~0))} is VALID [2020-07-08 12:28:34,671 INFO L280 TraceCheckUtils]: 39: Hoare triple {2008#(and (= 0 main_~k~0) (= 0 main_~i~0))} #t~short18 := ~i~0 < ~k~0; {2009#(not |main_#t~short18|)} is VALID [2020-07-08 12:28:34,672 INFO L280 TraceCheckUtils]: 40: Hoare triple {2009#(not |main_#t~short18|)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {1975#false} is VALID [2020-07-08 12:28:34,672 INFO L280 TraceCheckUtils]: 41: Hoare triple {1975#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {1975#false} is VALID [2020-07-08 12:28:34,672 INFO L280 TraceCheckUtils]: 42: Hoare triple {1975#false} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {1975#false} is VALID [2020-07-08 12:28:34,672 INFO L263 TraceCheckUtils]: 43: Hoare triple {1975#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {1974#true} is VALID [2020-07-08 12:28:34,673 INFO L280 TraceCheckUtils]: 44: Hoare triple {1974#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {1974#true} is VALID [2020-07-08 12:28:34,673 INFO L280 TraceCheckUtils]: 45: Hoare triple {1974#true} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {1974#true} is VALID [2020-07-08 12:28:34,673 INFO L280 TraceCheckUtils]: 46: Hoare triple {1974#true} assume !(~head.base != 0 || ~head.offset != 0); {1974#true} is VALID [2020-07-08 12:28:34,673 INFO L280 TraceCheckUtils]: 47: Hoare triple {1974#true} #res := ~len~0; {1974#true} is VALID [2020-07-08 12:28:34,673 INFO L280 TraceCheckUtils]: 48: Hoare triple {1974#true} assume true; {1974#true} is VALID [2020-07-08 12:28:34,674 INFO L275 TraceCheckUtils]: 49: Hoare quadruple {1974#true} {1975#false} #174#return; {1975#false} is VALID [2020-07-08 12:28:34,674 INFO L280 TraceCheckUtils]: 50: Hoare triple {1975#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {1975#false} is VALID [2020-07-08 12:28:34,674 INFO L280 TraceCheckUtils]: 51: Hoare triple {1975#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~ret22;havoc #t~mem21.base, #t~mem21.offset; {1975#false} is VALID [2020-07-08 12:28:34,674 INFO L280 TraceCheckUtils]: 52: Hoare triple {1975#false} assume !false; {1975#false} is VALID [2020-07-08 12:28:34,677 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2020-07-08 12:28:34,678 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [645981897] [2020-07-08 12:28:34,678 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 12:28:34,678 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-08 12:28:34,678 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [488702452] [2020-07-08 12:28:34,679 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 53 [2020-07-08 12:28:34,679 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:28:34,679 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-08 12:28:34,737 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:28:34,737 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-08 12:28:34,737 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:28:34,738 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-08 12:28:34,738 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=57, Unknown=0, NotChecked=0, Total=72 [2020-07-08 12:28:34,738 INFO L87 Difference]: Start difference. First operand 68 states and 81 transitions. Second operand 9 states. [2020-07-08 12:28:35,863 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:35,863 INFO L93 Difference]: Finished difference Result 136 states and 170 transitions. [2020-07-08 12:28:35,863 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-08 12:28:35,863 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 53 [2020-07-08 12:28:35,864 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:28:35,864 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 12:28:35,867 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 141 transitions. [2020-07-08 12:28:35,868 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 12:28:35,871 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 141 transitions. [2020-07-08 12:28:35,871 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 141 transitions. [2020-07-08 12:28:36,084 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:28:36,088 INFO L225 Difference]: With dead ends: 136 [2020-07-08 12:28:36,088 INFO L226 Difference]: Without dead ends: 95 [2020-07-08 12:28:36,090 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=44, Invalid=138, Unknown=0, NotChecked=0, Total=182 [2020-07-08 12:28:36,092 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2020-07-08 12:28:36,161 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 79. [2020-07-08 12:28:36,161 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:28:36,162 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand 79 states. [2020-07-08 12:28:36,162 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand 79 states. [2020-07-08 12:28:36,162 INFO L87 Difference]: Start difference. First operand 95 states. Second operand 79 states. [2020-07-08 12:28:36,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:36,167 INFO L93 Difference]: Finished difference Result 95 states and 116 transitions. [2020-07-08 12:28:36,167 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 116 transitions. [2020-07-08 12:28:36,168 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:28:36,168 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:28:36,168 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 95 states. [2020-07-08 12:28:36,169 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 95 states. [2020-07-08 12:28:36,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:36,173 INFO L93 Difference]: Finished difference Result 95 states and 116 transitions. [2020-07-08 12:28:36,174 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 116 transitions. [2020-07-08 12:28:36,174 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:28:36,174 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:28:36,175 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:28:36,175 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:28:36,175 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2020-07-08 12:28:36,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 96 transitions. [2020-07-08 12:28:36,178 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 96 transitions. Word has length 53 [2020-07-08 12:28:36,179 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:28:36,179 INFO L479 AbstractCegarLoop]: Abstraction has 79 states and 96 transitions. [2020-07-08 12:28:36,179 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-08 12:28:36,179 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 96 transitions. [2020-07-08 12:28:36,180 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2020-07-08 12:28:36,180 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:28:36,180 INFO L422 BasicCegarLoop]: trace histogram [3, 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] [2020-07-08 12:28:36,180 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-08 12:28:36,181 INFO L427 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:28:36,181 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:28:36,181 INFO L82 PathProgramCache]: Analyzing trace with hash 1747730134, now seen corresponding path program 1 times [2020-07-08 12:28:36,181 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:28:36,181 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [75112526] [2020-07-08 12:28:36,181 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:28:36,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:36,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:36,281 INFO L280 TraceCheckUtils]: 0: Hoare triple {2553#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2511#true} is VALID [2020-07-08 12:28:36,281 INFO L280 TraceCheckUtils]: 1: Hoare triple {2511#true} assume true; {2511#true} is VALID [2020-07-08 12:28:36,281 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2511#true} {2511#true} #180#return; {2511#true} is VALID [2020-07-08 12:28:36,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:36,286 INFO L280 TraceCheckUtils]: 0: Hoare triple {2511#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {2511#true} is VALID [2020-07-08 12:28:36,287 INFO L280 TraceCheckUtils]: 1: Hoare triple {2511#true} #t~short12 := ~len~1 < ~until; {2511#true} is VALID [2020-07-08 12:28:36,287 INFO L280 TraceCheckUtils]: 2: Hoare triple {2511#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {2511#true} is VALID [2020-07-08 12:28:36,287 INFO L280 TraceCheckUtils]: 3: Hoare triple {2511#true} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {2511#true} is VALID [2020-07-08 12:28:36,287 INFO L280 TraceCheckUtils]: 4: Hoare triple {2511#true} #res := ~len~1; {2511#true} is VALID [2020-07-08 12:28:36,287 INFO L280 TraceCheckUtils]: 5: Hoare triple {2511#true} assume true; {2511#true} is VALID [2020-07-08 12:28:36,288 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {2511#true} {2511#true} #164#return; {2511#true} is VALID [2020-07-08 12:28:36,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:36,381 INFO L280 TraceCheckUtils]: 0: Hoare triple {2554#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {2511#true} is VALID [2020-07-08 12:28:36,381 INFO L280 TraceCheckUtils]: 1: Hoare triple {2511#true} #t~post2 := ~len;~len := #t~post2 - 1; {2511#true} is VALID [2020-07-08 12:28:36,382 INFO L280 TraceCheckUtils]: 2: Hoare triple {2511#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {2555#(= sll_create_~new_head~0.offset 0)} is VALID [2020-07-08 12:28:36,383 INFO L280 TraceCheckUtils]: 3: Hoare triple {2555#(= sll_create_~new_head~0.offset 0)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2556#(not (= 0 sll_create_~new_head~0.base))} is VALID [2020-07-08 12:28:36,383 INFO L280 TraceCheckUtils]: 4: Hoare triple {2556#(not (= 0 sll_create_~new_head~0.base))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2557#(not (= 0 sll_create_~head~0.base))} is VALID [2020-07-08 12:28:36,384 INFO L280 TraceCheckUtils]: 5: Hoare triple {2557#(not (= 0 sll_create_~head~0.base))} #t~post2 := ~len;~len := #t~post2 - 1; {2557#(not (= 0 sll_create_~head~0.base))} is VALID [2020-07-08 12:28:36,384 INFO L280 TraceCheckUtils]: 6: Hoare triple {2557#(not (= 0 sll_create_~head~0.base))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {2557#(not (= 0 sll_create_~head~0.base))} is VALID [2020-07-08 12:28:36,385 INFO L280 TraceCheckUtils]: 7: Hoare triple {2557#(not (= 0 sll_create_~head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2557#(not (= 0 sll_create_~head~0.base))} is VALID [2020-07-08 12:28:36,385 INFO L280 TraceCheckUtils]: 8: Hoare triple {2557#(not (= 0 sll_create_~head~0.base))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2558#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} is VALID [2020-07-08 12:28:36,386 INFO L280 TraceCheckUtils]: 9: Hoare triple {2558#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} #t~post2 := ~len;~len := #t~post2 - 1; {2558#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} is VALID [2020-07-08 12:28:36,393 INFO L280 TraceCheckUtils]: 10: Hoare triple {2558#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} assume !(#t~post2 > 0);havoc #t~post2; {2558#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} is VALID [2020-07-08 12:28:36,394 INFO L280 TraceCheckUtils]: 11: Hoare triple {2558#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2559#(not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)))} is VALID [2020-07-08 12:28:36,394 INFO L280 TraceCheckUtils]: 12: Hoare triple {2559#(not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)))} assume true; {2559#(not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)))} is VALID [2020-07-08 12:28:36,395 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {2559#(not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)))} {2511#true} #166#return; {2537#(not (= 0 (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|)))} is VALID [2020-07-08 12:28:36,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:36,404 INFO L280 TraceCheckUtils]: 0: Hoare triple {2511#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {2511#true} is VALID [2020-07-08 12:28:36,405 INFO L280 TraceCheckUtils]: 1: Hoare triple {2511#true} #t~short12 := ~len~1 < ~until; {2511#true} is VALID [2020-07-08 12:28:36,405 INFO L280 TraceCheckUtils]: 2: Hoare triple {2511#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {2511#true} is VALID [2020-07-08 12:28:36,405 INFO L280 TraceCheckUtils]: 3: Hoare triple {2511#true} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {2511#true} is VALID [2020-07-08 12:28:36,405 INFO L280 TraceCheckUtils]: 4: Hoare triple {2511#true} #res := ~len~1; {2511#true} is VALID [2020-07-08 12:28:36,406 INFO L280 TraceCheckUtils]: 5: Hoare triple {2511#true} assume true; {2511#true} is VALID [2020-07-08 12:28:36,414 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {2511#true} {2538#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} #168#return; {2538#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} is VALID [2020-07-08 12:28:36,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:36,481 INFO L280 TraceCheckUtils]: 0: Hoare triple {2511#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {2560#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} is VALID [2020-07-08 12:28:36,482 INFO L280 TraceCheckUtils]: 1: Hoare triple {2560#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {2561#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base)} is VALID [2020-07-08 12:28:36,483 INFO L280 TraceCheckUtils]: 2: Hoare triple {2561#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base)} assume !(~head.base != 0 || ~head.offset != 0); {2562#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} is VALID [2020-07-08 12:28:36,483 INFO L280 TraceCheckUtils]: 3: Hoare triple {2562#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} #res := ~len~0; {2562#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} is VALID [2020-07-08 12:28:36,484 INFO L280 TraceCheckUtils]: 4: Hoare triple {2562#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} assume true; {2562#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} is VALID [2020-07-08 12:28:36,485 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2562#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} {2546#(not (= (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|) 0))} #174#return; {2512#false} is VALID [2020-07-08 12:28:36,486 INFO L263 TraceCheckUtils]: 0: Hoare triple {2511#true} call ULTIMATE.init(); {2553#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:28:36,486 INFO L280 TraceCheckUtils]: 1: Hoare triple {2553#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2511#true} is VALID [2020-07-08 12:28:36,486 INFO L280 TraceCheckUtils]: 2: Hoare triple {2511#true} assume true; {2511#true} is VALID [2020-07-08 12:28:36,486 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2511#true} {2511#true} #180#return; {2511#true} is VALID [2020-07-08 12:28:36,486 INFO L263 TraceCheckUtils]: 4: Hoare triple {2511#true} call #t~ret24 := main(); {2511#true} is VALID [2020-07-08 12:28:36,487 INFO L263 TraceCheckUtils]: 5: Hoare triple {2511#true} call #t~ret14 := _get_nondet_int(2, 5); {2511#true} is VALID [2020-07-08 12:28:36,487 INFO L280 TraceCheckUtils]: 6: Hoare triple {2511#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {2511#true} is VALID [2020-07-08 12:28:36,487 INFO L280 TraceCheckUtils]: 7: Hoare triple {2511#true} #t~short12 := ~len~1 < ~until; {2511#true} is VALID [2020-07-08 12:28:36,487 INFO L280 TraceCheckUtils]: 8: Hoare triple {2511#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {2511#true} is VALID [2020-07-08 12:28:36,487 INFO L280 TraceCheckUtils]: 9: Hoare triple {2511#true} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {2511#true} is VALID [2020-07-08 12:28:36,488 INFO L280 TraceCheckUtils]: 10: Hoare triple {2511#true} #res := ~len~1; {2511#true} is VALID [2020-07-08 12:28:36,488 INFO L280 TraceCheckUtils]: 11: Hoare triple {2511#true} assume true; {2511#true} is VALID [2020-07-08 12:28:36,488 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {2511#true} {2511#true} #164#return; {2511#true} is VALID [2020-07-08 12:28:36,488 INFO L280 TraceCheckUtils]: 13: Hoare triple {2511#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {2511#true} is VALID [2020-07-08 12:28:36,489 INFO L263 TraceCheckUtils]: 14: Hoare triple {2511#true} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {2554#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-08 12:28:36,489 INFO L280 TraceCheckUtils]: 15: Hoare triple {2554#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {2511#true} is VALID [2020-07-08 12:28:36,490 INFO L280 TraceCheckUtils]: 16: Hoare triple {2511#true} #t~post2 := ~len;~len := #t~post2 - 1; {2511#true} is VALID [2020-07-08 12:28:36,490 INFO L280 TraceCheckUtils]: 17: Hoare triple {2511#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {2555#(= sll_create_~new_head~0.offset 0)} is VALID [2020-07-08 12:28:36,491 INFO L280 TraceCheckUtils]: 18: Hoare triple {2555#(= sll_create_~new_head~0.offset 0)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2556#(not (= 0 sll_create_~new_head~0.base))} is VALID [2020-07-08 12:28:36,492 INFO L280 TraceCheckUtils]: 19: Hoare triple {2556#(not (= 0 sll_create_~new_head~0.base))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2557#(not (= 0 sll_create_~head~0.base))} is VALID [2020-07-08 12:28:36,492 INFO L280 TraceCheckUtils]: 20: Hoare triple {2557#(not (= 0 sll_create_~head~0.base))} #t~post2 := ~len;~len := #t~post2 - 1; {2557#(not (= 0 sll_create_~head~0.base))} is VALID [2020-07-08 12:28:36,493 INFO L280 TraceCheckUtils]: 21: Hoare triple {2557#(not (= 0 sll_create_~head~0.base))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {2557#(not (= 0 sll_create_~head~0.base))} is VALID [2020-07-08 12:28:36,493 INFO L280 TraceCheckUtils]: 22: Hoare triple {2557#(not (= 0 sll_create_~head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2557#(not (= 0 sll_create_~head~0.base))} is VALID [2020-07-08 12:28:36,494 INFO L280 TraceCheckUtils]: 23: Hoare triple {2557#(not (= 0 sll_create_~head~0.base))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2558#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} is VALID [2020-07-08 12:28:36,495 INFO L280 TraceCheckUtils]: 24: Hoare triple {2558#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} #t~post2 := ~len;~len := #t~post2 - 1; {2558#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} is VALID [2020-07-08 12:28:36,495 INFO L280 TraceCheckUtils]: 25: Hoare triple {2558#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} assume !(#t~post2 > 0);havoc #t~post2; {2558#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} is VALID [2020-07-08 12:28:36,496 INFO L280 TraceCheckUtils]: 26: Hoare triple {2558#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2559#(not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)))} is VALID [2020-07-08 12:28:36,496 INFO L280 TraceCheckUtils]: 27: Hoare triple {2559#(not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)))} assume true; {2559#(not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)))} is VALID [2020-07-08 12:28:36,497 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {2559#(not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)))} {2511#true} #166#return; {2537#(not (= 0 (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|)))} is VALID [2020-07-08 12:28:36,498 INFO L280 TraceCheckUtils]: 29: Hoare triple {2537#(not (= 0 (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|)))} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {2538#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} is VALID [2020-07-08 12:28:36,498 INFO L263 TraceCheckUtils]: 30: Hoare triple {2538#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {2511#true} is VALID [2020-07-08 12:28:36,498 INFO L280 TraceCheckUtils]: 31: Hoare triple {2511#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {2511#true} is VALID [2020-07-08 12:28:36,499 INFO L280 TraceCheckUtils]: 32: Hoare triple {2511#true} #t~short12 := ~len~1 < ~until; {2511#true} is VALID [2020-07-08 12:28:36,499 INFO L280 TraceCheckUtils]: 33: Hoare triple {2511#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {2511#true} is VALID [2020-07-08 12:28:36,499 INFO L280 TraceCheckUtils]: 34: Hoare triple {2511#true} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {2511#true} is VALID [2020-07-08 12:28:36,499 INFO L280 TraceCheckUtils]: 35: Hoare triple {2511#true} #res := ~len~1; {2511#true} is VALID [2020-07-08 12:28:36,499 INFO L280 TraceCheckUtils]: 36: Hoare triple {2511#true} assume true; {2511#true} is VALID [2020-07-08 12:28:36,500 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {2511#true} {2538#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} #168#return; {2538#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} is VALID [2020-07-08 12:28:36,501 INFO L280 TraceCheckUtils]: 38: Hoare triple {2538#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {2538#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} is VALID [2020-07-08 12:28:36,501 INFO L280 TraceCheckUtils]: 39: Hoare triple {2538#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} #t~short18 := ~i~0 < ~k~0; {2538#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} is VALID [2020-07-08 12:28:36,502 INFO L280 TraceCheckUtils]: 40: Hoare triple {2538#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} assume !#t~short18; {2538#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} is VALID [2020-07-08 12:28:36,503 INFO L280 TraceCheckUtils]: 41: Hoare triple {2538#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {2538#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} is VALID [2020-07-08 12:28:36,503 INFO L280 TraceCheckUtils]: 42: Hoare triple {2538#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {2546#(not (= (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|) 0))} is VALID [2020-07-08 12:28:36,503 INFO L263 TraceCheckUtils]: 43: Hoare triple {2546#(not (= (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|) 0))} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {2511#true} is VALID [2020-07-08 12:28:36,504 INFO L280 TraceCheckUtils]: 44: Hoare triple {2511#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {2560#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} is VALID [2020-07-08 12:28:36,505 INFO L280 TraceCheckUtils]: 45: Hoare triple {2560#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {2561#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base)} is VALID [2020-07-08 12:28:36,506 INFO L280 TraceCheckUtils]: 46: Hoare triple {2561#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base)} assume !(~head.base != 0 || ~head.offset != 0); {2562#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} is VALID [2020-07-08 12:28:36,506 INFO L280 TraceCheckUtils]: 47: Hoare triple {2562#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} #res := ~len~0; {2562#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} is VALID [2020-07-08 12:28:36,507 INFO L280 TraceCheckUtils]: 48: Hoare triple {2562#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} assume true; {2562#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} is VALID [2020-07-08 12:28:36,508 INFO L275 TraceCheckUtils]: 49: Hoare quadruple {2562#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} {2546#(not (= (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|) 0))} #174#return; {2512#false} is VALID [2020-07-08 12:28:36,508 INFO L280 TraceCheckUtils]: 50: Hoare triple {2512#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {2512#false} is VALID [2020-07-08 12:28:36,508 INFO L280 TraceCheckUtils]: 51: Hoare triple {2512#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~ret22;havoc #t~mem21.base, #t~mem21.offset; {2512#false} is VALID [2020-07-08 12:28:36,508 INFO L280 TraceCheckUtils]: 52: Hoare triple {2512#false} assume !false; {2512#false} is VALID [2020-07-08 12:28:36,514 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 4 proven. 5 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2020-07-08 12:28:36,514 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [75112526] [2020-07-08 12:28:36,516 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1594448942] [2020-07-08 12:28:36,516 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:28:36,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:36,639 INFO L264 TraceCheckSpWp]: Trace formula consists of 215 conjuncts, 44 conjunts are in the unsatisfiable core [2020-07-08 12:28:36,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:36,677 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-08 12:28:36,839 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2020-07-08 12:28:36,840 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:28:36,852 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:28:36,854 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-08 12:28:36,855 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:19, output treesize:12 [2020-07-08 12:28:36,860 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:28:36,860 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_22|, v_sll_create_~head~0.base_5]. (and (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_22| sll_create_~head~0.base (store (select |v_#memory_$Pointer$.base_22| sll_create_~head~0.base) sll_create_~head~0.offset v_sll_create_~head~0.base_5))) (= 0 sll_create_~head~0.offset) (not (= 0 v_sll_create_~head~0.base_5))) [2020-07-08 12:28:36,861 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset)) [2020-07-08 12:28:37,246 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2020-07-08 12:28:37,249 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:28:37,255 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:28:37,256 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2020-07-08 12:28:37,257 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:38, output treesize:23 [2020-07-08 12:28:37,261 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:28:37,261 WARN L407 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.offset|, |main_~#s~0.base|, |main_~#s~0.offset|]. (let ((.cse1 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (.cse0 (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (and (= .cse0 |main_#t~mem21.offset|) (not (= (select (select |#memory_$Pointer$.base| .cse1) .cse0) 0)) (= .cse1 |main_#t~mem21.base|) (= .cse0 0))) [2020-07-08 12:28:37,261 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ [|main_~#s~0.base|, |main_~#s~0.offset|]. (let ((.cse0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (and (= 0 |main_#t~mem21.offset|) (= .cse0 |main_#t~mem21.base|) (not (= (select (select |#memory_$Pointer$.base| .cse0) 0) 0)))) [2020-07-08 12:28:39,353 WARN L860 $PredicateComparison]: unable to prove that (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |c_#memory_$Pointer$.base| (select (select |c_#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) is different from true [2020-07-08 12:28:43,413 WARN L193 SmtUtils]: Spent 2.01 s on a formula simplification that was a NOOP. DAG size: 18 [2020-07-08 12:28:43,585 INFO L263 TraceCheckUtils]: 0: Hoare triple {2511#true} call ULTIMATE.init(); {2511#true} is VALID [2020-07-08 12:28:43,585 INFO L280 TraceCheckUtils]: 1: Hoare triple {2511#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2511#true} is VALID [2020-07-08 12:28:43,585 INFO L280 TraceCheckUtils]: 2: Hoare triple {2511#true} assume true; {2511#true} is VALID [2020-07-08 12:28:43,586 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2511#true} {2511#true} #180#return; {2511#true} is VALID [2020-07-08 12:28:43,586 INFO L263 TraceCheckUtils]: 4: Hoare triple {2511#true} call #t~ret24 := main(); {2511#true} is VALID [2020-07-08 12:28:43,586 INFO L263 TraceCheckUtils]: 5: Hoare triple {2511#true} call #t~ret14 := _get_nondet_int(2, 5); {2511#true} is VALID [2020-07-08 12:28:43,586 INFO L280 TraceCheckUtils]: 6: Hoare triple {2511#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {2511#true} is VALID [2020-07-08 12:28:43,587 INFO L280 TraceCheckUtils]: 7: Hoare triple {2511#true} #t~short12 := ~len~1 < ~until; {2511#true} is VALID [2020-07-08 12:28:43,587 INFO L280 TraceCheckUtils]: 8: Hoare triple {2511#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {2511#true} is VALID [2020-07-08 12:28:43,587 INFO L280 TraceCheckUtils]: 9: Hoare triple {2511#true} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {2511#true} is VALID [2020-07-08 12:28:43,587 INFO L280 TraceCheckUtils]: 10: Hoare triple {2511#true} #res := ~len~1; {2511#true} is VALID [2020-07-08 12:28:43,587 INFO L280 TraceCheckUtils]: 11: Hoare triple {2511#true} assume true; {2511#true} is VALID [2020-07-08 12:28:43,588 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {2511#true} {2511#true} #164#return; {2511#true} is VALID [2020-07-08 12:28:43,588 INFO L280 TraceCheckUtils]: 13: Hoare triple {2511#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {2511#true} is VALID [2020-07-08 12:28:43,588 INFO L263 TraceCheckUtils]: 14: Hoare triple {2511#true} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {2511#true} is VALID [2020-07-08 12:28:43,588 INFO L280 TraceCheckUtils]: 15: Hoare triple {2511#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {2511#true} is VALID [2020-07-08 12:28:43,589 INFO L280 TraceCheckUtils]: 16: Hoare triple {2511#true} #t~post2 := ~len;~len := #t~post2 - 1; {2511#true} is VALID [2020-07-08 12:28:43,589 INFO L280 TraceCheckUtils]: 17: Hoare triple {2511#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {2555#(= sll_create_~new_head~0.offset 0)} is VALID [2020-07-08 12:28:43,590 INFO L280 TraceCheckUtils]: 18: Hoare triple {2555#(= sll_create_~new_head~0.offset 0)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2556#(not (= 0 sll_create_~new_head~0.base))} is VALID [2020-07-08 12:28:43,590 INFO L280 TraceCheckUtils]: 19: Hoare triple {2556#(not (= 0 sll_create_~new_head~0.base))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2557#(not (= 0 sll_create_~head~0.base))} is VALID [2020-07-08 12:28:43,591 INFO L280 TraceCheckUtils]: 20: Hoare triple {2557#(not (= 0 sll_create_~head~0.base))} #t~post2 := ~len;~len := #t~post2 - 1; {2557#(not (= 0 sll_create_~head~0.base))} is VALID [2020-07-08 12:28:43,591 INFO L280 TraceCheckUtils]: 21: Hoare triple {2557#(not (= 0 sll_create_~head~0.base))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {2629#(and (not (= 0 sll_create_~head~0.base)) (= sll_create_~new_head~0.offset 0))} is VALID [2020-07-08 12:28:43,592 INFO L280 TraceCheckUtils]: 22: Hoare triple {2629#(and (not (= 0 sll_create_~head~0.base)) (= sll_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2629#(and (not (= 0 sll_create_~head~0.base)) (= sll_create_~new_head~0.offset 0))} is VALID [2020-07-08 12:28:43,593 INFO L280 TraceCheckUtils]: 23: Hoare triple {2629#(and (not (= 0 sll_create_~head~0.base)) (= sll_create_~new_head~0.offset 0))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2636#(and (not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset))} is VALID [2020-07-08 12:28:43,593 INFO L280 TraceCheckUtils]: 24: Hoare triple {2636#(and (not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset))} #t~post2 := ~len;~len := #t~post2 - 1; {2636#(and (not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset))} is VALID [2020-07-08 12:28:43,594 INFO L280 TraceCheckUtils]: 25: Hoare triple {2636#(and (not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset))} assume !(#t~post2 > 0);havoc #t~post2; {2636#(and (not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset))} is VALID [2020-07-08 12:28:43,594 INFO L280 TraceCheckUtils]: 26: Hoare triple {2636#(and (not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2646#(and (not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 |sll_create_#res.offset|))} is VALID [2020-07-08 12:28:43,595 INFO L280 TraceCheckUtils]: 27: Hoare triple {2646#(and (not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 |sll_create_#res.offset|))} assume true; {2646#(and (not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 |sll_create_#res.offset|))} is VALID [2020-07-08 12:28:43,595 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {2646#(and (not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 |sll_create_#res.offset|))} {2511#true} #166#return; {2653#(and (not (= 0 (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|))) (= |main_#t~ret15.offset| 0))} is VALID [2020-07-08 12:28:43,596 INFO L280 TraceCheckUtils]: 29: Hoare triple {2653#(and (not (= 0 (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|))) (= |main_#t~ret15.offset| 0))} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {2657#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} is VALID [2020-07-08 12:28:43,598 INFO L263 TraceCheckUtils]: 30: Hoare triple {2657#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {2661#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} is VALID [2020-07-08 12:28:43,599 INFO L280 TraceCheckUtils]: 31: Hoare triple {2661#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} ~from := #in~from;~until := #in~until;~len~1 := ~from; {2661#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} is VALID [2020-07-08 12:28:43,599 INFO L280 TraceCheckUtils]: 32: Hoare triple {2661#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} #t~short12 := ~len~1 < ~until; {2661#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} is VALID [2020-07-08 12:28:43,606 INFO L280 TraceCheckUtils]: 33: Hoare triple {2661#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {2661#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} is VALID [2020-07-08 12:28:43,607 INFO L280 TraceCheckUtils]: 34: Hoare triple {2661#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {2661#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} is VALID [2020-07-08 12:28:43,609 INFO L280 TraceCheckUtils]: 35: Hoare triple {2661#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} #res := ~len~1; {2661#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} is VALID [2020-07-08 12:28:43,609 INFO L280 TraceCheckUtils]: 36: Hoare triple {2661#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} assume true; {2661#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} is VALID [2020-07-08 12:28:43,610 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {2661#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} {2657#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} #168#return; {2657#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} is VALID [2020-07-08 12:28:43,611 INFO L280 TraceCheckUtils]: 38: Hoare triple {2657#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {2657#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} is VALID [2020-07-08 12:28:43,612 INFO L280 TraceCheckUtils]: 39: Hoare triple {2657#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} #t~short18 := ~i~0 < ~k~0; {2657#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} is VALID [2020-07-08 12:28:43,612 INFO L280 TraceCheckUtils]: 40: Hoare triple {2657#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} assume !#t~short18; {2657#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} is VALID [2020-07-08 12:28:43,613 INFO L280 TraceCheckUtils]: 41: Hoare triple {2657#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {2657#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} is VALID [2020-07-08 12:28:43,614 INFO L280 TraceCheckUtils]: 42: Hoare triple {2657#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {2698#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (and (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~mem21.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0)))) (= 0 |main_#t~mem21.offset|))} is VALID [2020-07-08 12:28:43,615 INFO L263 TraceCheckUtils]: 43: Hoare triple {2698#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (and (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~mem21.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0)))) (= 0 |main_#t~mem21.offset|))} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {2702#(exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0)))} is VALID [2020-07-08 12:28:43,615 INFO L280 TraceCheckUtils]: 44: Hoare triple {2702#(exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {2706#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} is VALID [2020-07-08 12:28:43,617 INFO L280 TraceCheckUtils]: 45: Hoare triple {2706#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {2710#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base))} is VALID [2020-07-08 12:28:43,617 INFO L280 TraceCheckUtils]: 46: Hoare triple {2710#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base))} assume !(~head.base != 0 || ~head.offset != 0); {2714#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0))} is VALID [2020-07-08 12:28:43,618 INFO L280 TraceCheckUtils]: 47: Hoare triple {2714#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0))} #res := ~len~0; {2714#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0))} is VALID [2020-07-08 12:28:43,619 INFO L280 TraceCheckUtils]: 48: Hoare triple {2714#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0))} assume true; {2714#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0))} is VALID [2020-07-08 12:28:43,621 INFO L275 TraceCheckUtils]: 49: Hoare quadruple {2714#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0))} {2698#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (and (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~mem21.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0)))) (= 0 |main_#t~mem21.offset|))} #174#return; {2512#false} is VALID [2020-07-08 12:28:43,621 INFO L280 TraceCheckUtils]: 50: Hoare triple {2512#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {2512#false} is VALID [2020-07-08 12:28:43,621 INFO L280 TraceCheckUtils]: 51: Hoare triple {2512#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~ret22;havoc #t~mem21.base, #t~mem21.offset; {2512#false} is VALID [2020-07-08 12:28:43,621 INFO L280 TraceCheckUtils]: 52: Hoare triple {2512#false} assume !false; {2512#false} is VALID [2020-07-08 12:28:43,634 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 12 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 12:28:43,635 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-08 12:28:43,635 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 16] total 26 [2020-07-08 12:28:43,635 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [518307134] [2020-07-08 12:28:43,636 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 53 [2020-07-08 12:28:43,637 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:28:43,637 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states. [2020-07-08 12:28:43,749 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:28:43,749 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2020-07-08 12:28:43,749 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:28:43,750 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2020-07-08 12:28:43,750 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=542, Unknown=2, NotChecked=46, Total=650 [2020-07-08 12:28:43,750 INFO L87 Difference]: Start difference. First operand 79 states and 96 transitions. Second operand 26 states. [2020-07-08 12:30:03,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:30:03,092 INFO L93 Difference]: Finished difference Result 136 states and 160 transitions. [2020-07-08 12:30:03,092 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-08 12:30:03,092 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 53 [2020-07-08 12:30:03,092 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:30:03,092 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2020-07-08 12:30:03,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 137 transitions. [2020-07-08 12:30:03,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2020-07-08 12:30:03,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 137 transitions. [2020-07-08 12:30:03,100 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 137 transitions. [2020-07-08 12:30:03,394 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:30:03,398 INFO L225 Difference]: With dead ends: 136 [2020-07-08 12:30:03,399 INFO L226 Difference]: Without dead ends: 126 [2020-07-08 12:30:03,400 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 54 SyntacticMatches, 2 SemanticMatches, 40 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 284 ImplicationChecksByTransitivity, 7.5s TimeCoverageRelationStatistics Valid=198, Invalid=1444, Unknown=2, NotChecked=78, Total=1722 [2020-07-08 12:30:03,401 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 126 states. [2020-07-08 12:30:03,526 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 126 to 90. [2020-07-08 12:30:03,527 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:30:03,527 INFO L82 GeneralOperation]: Start isEquivalent. First operand 126 states. Second operand 90 states. [2020-07-08 12:30:03,527 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand 90 states. [2020-07-08 12:30:03,527 INFO L87 Difference]: Start difference. First operand 126 states. Second operand 90 states. [2020-07-08 12:30:03,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:30:03,533 INFO L93 Difference]: Finished difference Result 126 states and 150 transitions. [2020-07-08 12:30:03,533 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 150 transitions. [2020-07-08 12:30:03,534 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:30:03,534 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:30:03,534 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand 126 states. [2020-07-08 12:30:03,534 INFO L87 Difference]: Start difference. First operand 90 states. Second operand 126 states. [2020-07-08 12:30:03,540 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:30:03,540 INFO L93 Difference]: Finished difference Result 126 states and 150 transitions. [2020-07-08 12:30:03,540 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 150 transitions. [2020-07-08 12:30:03,541 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:30:03,541 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:30:03,541 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:30:03,541 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:30:03,541 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 90 states. [2020-07-08 12:30:03,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 107 transitions. [2020-07-08 12:30:03,545 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 107 transitions. Word has length 53 [2020-07-08 12:30:03,546 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:30:03,546 INFO L479 AbstractCegarLoop]: Abstraction has 90 states and 107 transitions. [2020-07-08 12:30:03,546 INFO L480 AbstractCegarLoop]: Interpolant automaton has 26 states. [2020-07-08 12:30:03,546 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 107 transitions. [2020-07-08 12:30:03,546 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2020-07-08 12:30:03,546 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:30:03,547 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] [2020-07-08 12:30:03,751 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:30:03,752 INFO L427 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:30:03,753 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:30:03,753 INFO L82 PathProgramCache]: Analyzing trace with hash 645381370, now seen corresponding path program 2 times [2020-07-08 12:30:03,753 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:30:03,755 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [673764898] [2020-07-08 12:30:03,755 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:30:03,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:03,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:03,953 INFO L280 TraceCheckUtils]: 0: Hoare triple {3366#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3321#true} is VALID [2020-07-08 12:30:03,953 INFO L280 TraceCheckUtils]: 1: Hoare triple {3321#true} assume true; {3321#true} is VALID [2020-07-08 12:30:03,954 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {3321#true} {3321#true} #180#return; {3321#true} is VALID [2020-07-08 12:30:03,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:04,016 INFO L280 TraceCheckUtils]: 0: Hoare triple {3321#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {3367#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:30:04,017 INFO L280 TraceCheckUtils]: 1: Hoare triple {3367#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #t~short12 := ~len~1 < ~until; {3367#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:30:04,017 INFO L280 TraceCheckUtils]: 2: Hoare triple {3367#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {3367#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:30:04,018 INFO L280 TraceCheckUtils]: 3: Hoare triple {3367#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {3367#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:30:04,018 INFO L280 TraceCheckUtils]: 4: Hoare triple {3367#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #res := ~len~1; {3368#(or (and (<= |_get_nondet_int_#res| 2) (<= 2 |_get_nondet_int_#res|)) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:30:04,019 INFO L280 TraceCheckUtils]: 5: Hoare triple {3368#(or (and (<= |_get_nondet_int_#res| 2) (<= 2 |_get_nondet_int_#res|)) (not (= 2 |_get_nondet_int_#in~from|)))} assume true; {3368#(or (and (<= |_get_nondet_int_#res| 2) (<= 2 |_get_nondet_int_#res|)) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:30:04,019 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {3368#(or (and (<= |_get_nondet_int_#res| 2) (<= 2 |_get_nondet_int_#res|)) (not (= 2 |_get_nondet_int_#in~from|)))} {3321#true} #164#return; {3333#(and (<= |main_#t~ret14| 2) (<= 2 |main_#t~ret14|))} is VALID [2020-07-08 12:30:04,048 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:04,064 INFO L280 TraceCheckUtils]: 0: Hoare triple {3369#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {3321#true} is VALID [2020-07-08 12:30:04,064 INFO L280 TraceCheckUtils]: 1: Hoare triple {3321#true} #t~post2 := ~len;~len := #t~post2 - 1; {3321#true} is VALID [2020-07-08 12:30:04,064 INFO L280 TraceCheckUtils]: 2: Hoare triple {3321#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {3321#true} is VALID [2020-07-08 12:30:04,064 INFO L280 TraceCheckUtils]: 3: Hoare triple {3321#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {3321#true} is VALID [2020-07-08 12:30:04,064 INFO L280 TraceCheckUtils]: 4: Hoare triple {3321#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3321#true} is VALID [2020-07-08 12:30:04,065 INFO L280 TraceCheckUtils]: 5: Hoare triple {3321#true} #t~post2 := ~len;~len := #t~post2 - 1; {3321#true} is VALID [2020-07-08 12:30:04,065 INFO L280 TraceCheckUtils]: 6: Hoare triple {3321#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {3321#true} is VALID [2020-07-08 12:30:04,065 INFO L280 TraceCheckUtils]: 7: Hoare triple {3321#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {3321#true} is VALID [2020-07-08 12:30:04,065 INFO L280 TraceCheckUtils]: 8: Hoare triple {3321#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3321#true} is VALID [2020-07-08 12:30:04,065 INFO L280 TraceCheckUtils]: 9: Hoare triple {3321#true} #t~post2 := ~len;~len := #t~post2 - 1; {3321#true} is VALID [2020-07-08 12:30:04,066 INFO L280 TraceCheckUtils]: 10: Hoare triple {3321#true} assume !(#t~post2 > 0);havoc #t~post2; {3321#true} is VALID [2020-07-08 12:30:04,066 INFO L280 TraceCheckUtils]: 11: Hoare triple {3321#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {3321#true} is VALID [2020-07-08 12:30:04,066 INFO L280 TraceCheckUtils]: 12: Hoare triple {3321#true} assume true; {3321#true} is VALID [2020-07-08 12:30:04,069 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {3321#true} {3334#(and (<= main_~len~2 2) (<= 2 main_~len~2))} #166#return; {3334#(and (<= main_~len~2 2) (<= 2 main_~len~2))} is VALID [2020-07-08 12:30:04,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:04,151 INFO L280 TraceCheckUtils]: 0: Hoare triple {3321#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {3370#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-08 12:30:04,151 INFO L280 TraceCheckUtils]: 1: Hoare triple {3370#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} #t~short12 := ~len~1 < ~until; {3370#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-08 12:30:04,152 INFO L280 TraceCheckUtils]: 2: Hoare triple {3370#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {3370#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-08 12:30:04,152 INFO L280 TraceCheckUtils]: 3: Hoare triple {3370#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {3370#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-08 12:30:04,153 INFO L280 TraceCheckUtils]: 4: Hoare triple {3370#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} #res := ~len~1; {3371#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:30:04,154 INFO L280 TraceCheckUtils]: 5: Hoare triple {3371#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} assume true; {3371#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:30:04,155 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {3371#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} {3334#(and (<= main_~len~2 2) (<= 2 main_~len~2))} #168#return; {3356#(and (<= main_~len~2 2) (<= 2 main_~len~2) (= |main_#t~ret16| 0))} is VALID [2020-07-08 12:30:04,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:04,276 INFO L280 TraceCheckUtils]: 0: Hoare triple {3321#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {3372#(and (<= 0 sll_length_~len~0) (<= sll_length_~len~0 0))} is VALID [2020-07-08 12:30:04,278 INFO L280 TraceCheckUtils]: 1: Hoare triple {3372#(and (<= 0 sll_length_~len~0) (<= sll_length_~len~0 0))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {3373#(and (<= 1 sll_length_~len~0) (<= sll_length_~len~0 1))} is VALID [2020-07-08 12:30:04,282 INFO L280 TraceCheckUtils]: 2: Hoare triple {3373#(and (<= 1 sll_length_~len~0) (<= sll_length_~len~0 1))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {3374#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} is VALID [2020-07-08 12:30:04,285 INFO L280 TraceCheckUtils]: 3: Hoare triple {3374#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} assume !(~head.base != 0 || ~head.offset != 0); {3374#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} is VALID [2020-07-08 12:30:04,286 INFO L280 TraceCheckUtils]: 4: Hoare triple {3374#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} #res := ~len~0; {3375#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} is VALID [2020-07-08 12:30:04,286 INFO L280 TraceCheckUtils]: 5: Hoare triple {3375#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} assume true; {3375#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} is VALID [2020-07-08 12:30:04,288 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {3375#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} #174#return; {3365#(and (= 0 main_~k~0) (<= |main_#t~ret22| main_~len~2) (<= main_~len~2 |main_#t~ret22|))} is VALID [2020-07-08 12:30:04,289 INFO L263 TraceCheckUtils]: 0: Hoare triple {3321#true} call ULTIMATE.init(); {3366#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:30:04,290 INFO L280 TraceCheckUtils]: 1: Hoare triple {3366#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3321#true} is VALID [2020-07-08 12:30:04,290 INFO L280 TraceCheckUtils]: 2: Hoare triple {3321#true} assume true; {3321#true} is VALID [2020-07-08 12:30:04,290 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3321#true} {3321#true} #180#return; {3321#true} is VALID [2020-07-08 12:30:04,290 INFO L263 TraceCheckUtils]: 4: Hoare triple {3321#true} call #t~ret24 := main(); {3321#true} is VALID [2020-07-08 12:30:04,291 INFO L263 TraceCheckUtils]: 5: Hoare triple {3321#true} call #t~ret14 := _get_nondet_int(2, 5); {3321#true} is VALID [2020-07-08 12:30:04,307 INFO L280 TraceCheckUtils]: 6: Hoare triple {3321#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {3367#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:30:04,308 INFO L280 TraceCheckUtils]: 7: Hoare triple {3367#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #t~short12 := ~len~1 < ~until; {3367#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:30:04,308 INFO L280 TraceCheckUtils]: 8: Hoare triple {3367#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {3367#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:30:04,309 INFO L280 TraceCheckUtils]: 9: Hoare triple {3367#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {3367#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:30:04,310 INFO L280 TraceCheckUtils]: 10: Hoare triple {3367#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #res := ~len~1; {3368#(or (and (<= |_get_nondet_int_#res| 2) (<= 2 |_get_nondet_int_#res|)) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:30:04,310 INFO L280 TraceCheckUtils]: 11: Hoare triple {3368#(or (and (<= |_get_nondet_int_#res| 2) (<= 2 |_get_nondet_int_#res|)) (not (= 2 |_get_nondet_int_#in~from|)))} assume true; {3368#(or (and (<= |_get_nondet_int_#res| 2) (<= 2 |_get_nondet_int_#res|)) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:30:04,311 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {3368#(or (and (<= |_get_nondet_int_#res| 2) (<= 2 |_get_nondet_int_#res|)) (not (= 2 |_get_nondet_int_#in~from|)))} {3321#true} #164#return; {3333#(and (<= |main_#t~ret14| 2) (<= 2 |main_#t~ret14|))} is VALID [2020-07-08 12:30:04,312 INFO L280 TraceCheckUtils]: 13: Hoare triple {3333#(and (<= |main_#t~ret14| 2) (<= 2 |main_#t~ret14|))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {3334#(and (<= main_~len~2 2) (<= 2 main_~len~2))} is VALID [2020-07-08 12:30:04,314 INFO L263 TraceCheckUtils]: 14: Hoare triple {3334#(and (<= main_~len~2 2) (<= 2 main_~len~2))} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {3369#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-08 12:30:04,314 INFO L280 TraceCheckUtils]: 15: Hoare triple {3369#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {3321#true} is VALID [2020-07-08 12:30:04,314 INFO L280 TraceCheckUtils]: 16: Hoare triple {3321#true} #t~post2 := ~len;~len := #t~post2 - 1; {3321#true} is VALID [2020-07-08 12:30:04,314 INFO L280 TraceCheckUtils]: 17: Hoare triple {3321#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {3321#true} is VALID [2020-07-08 12:30:04,314 INFO L280 TraceCheckUtils]: 18: Hoare triple {3321#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {3321#true} is VALID [2020-07-08 12:30:04,315 INFO L280 TraceCheckUtils]: 19: Hoare triple {3321#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3321#true} is VALID [2020-07-08 12:30:04,315 INFO L280 TraceCheckUtils]: 20: Hoare triple {3321#true} #t~post2 := ~len;~len := #t~post2 - 1; {3321#true} is VALID [2020-07-08 12:30:04,315 INFO L280 TraceCheckUtils]: 21: Hoare triple {3321#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {3321#true} is VALID [2020-07-08 12:30:04,315 INFO L280 TraceCheckUtils]: 22: Hoare triple {3321#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {3321#true} is VALID [2020-07-08 12:30:04,315 INFO L280 TraceCheckUtils]: 23: Hoare triple {3321#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3321#true} is VALID [2020-07-08 12:30:04,315 INFO L280 TraceCheckUtils]: 24: Hoare triple {3321#true} #t~post2 := ~len;~len := #t~post2 - 1; {3321#true} is VALID [2020-07-08 12:30:04,316 INFO L280 TraceCheckUtils]: 25: Hoare triple {3321#true} assume !(#t~post2 > 0);havoc #t~post2; {3321#true} is VALID [2020-07-08 12:30:04,316 INFO L280 TraceCheckUtils]: 26: Hoare triple {3321#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {3321#true} is VALID [2020-07-08 12:30:04,316 INFO L280 TraceCheckUtils]: 27: Hoare triple {3321#true} assume true; {3321#true} is VALID [2020-07-08 12:30:04,317 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {3321#true} {3334#(and (<= main_~len~2 2) (<= 2 main_~len~2))} #166#return; {3334#(and (<= main_~len~2 2) (<= 2 main_~len~2))} is VALID [2020-07-08 12:30:04,318 INFO L280 TraceCheckUtils]: 29: Hoare triple {3334#(and (<= main_~len~2 2) (<= 2 main_~len~2))} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {3334#(and (<= main_~len~2 2) (<= 2 main_~len~2))} is VALID [2020-07-08 12:30:04,318 INFO L263 TraceCheckUtils]: 30: Hoare triple {3334#(and (<= main_~len~2 2) (<= 2 main_~len~2))} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {3321#true} is VALID [2020-07-08 12:30:04,319 INFO L280 TraceCheckUtils]: 31: Hoare triple {3321#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {3370#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-08 12:30:04,319 INFO L280 TraceCheckUtils]: 32: Hoare triple {3370#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} #t~short12 := ~len~1 < ~until; {3370#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-08 12:30:04,320 INFO L280 TraceCheckUtils]: 33: Hoare triple {3370#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {3370#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-08 12:30:04,320 INFO L280 TraceCheckUtils]: 34: Hoare triple {3370#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {3370#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-08 12:30:04,321 INFO L280 TraceCheckUtils]: 35: Hoare triple {3370#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} #res := ~len~1; {3371#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:30:04,322 INFO L280 TraceCheckUtils]: 36: Hoare triple {3371#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} assume true; {3371#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:30:04,323 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {3371#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} {3334#(and (<= main_~len~2 2) (<= 2 main_~len~2))} #168#return; {3356#(and (<= main_~len~2 2) (<= 2 main_~len~2) (= |main_#t~ret16| 0))} is VALID [2020-07-08 12:30:04,324 INFO L280 TraceCheckUtils]: 38: Hoare triple {3356#(and (<= main_~len~2 2) (<= 2 main_~len~2) (= |main_#t~ret16| 0))} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} is VALID [2020-07-08 12:30:04,325 INFO L280 TraceCheckUtils]: 39: Hoare triple {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} #t~short18 := ~i~0 < ~k~0; {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} is VALID [2020-07-08 12:30:04,325 INFO L280 TraceCheckUtils]: 40: Hoare triple {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} assume !#t~short18; {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} is VALID [2020-07-08 12:30:04,326 INFO L280 TraceCheckUtils]: 41: Hoare triple {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} is VALID [2020-07-08 12:30:04,327 INFO L280 TraceCheckUtils]: 42: Hoare triple {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} is VALID [2020-07-08 12:30:04,327 INFO L263 TraceCheckUtils]: 43: Hoare triple {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {3321#true} is VALID [2020-07-08 12:30:04,327 INFO L280 TraceCheckUtils]: 44: Hoare triple {3321#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {3372#(and (<= 0 sll_length_~len~0) (<= sll_length_~len~0 0))} is VALID [2020-07-08 12:30:04,328 INFO L280 TraceCheckUtils]: 45: Hoare triple {3372#(and (<= 0 sll_length_~len~0) (<= sll_length_~len~0 0))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {3373#(and (<= 1 sll_length_~len~0) (<= sll_length_~len~0 1))} is VALID [2020-07-08 12:30:04,329 INFO L280 TraceCheckUtils]: 46: Hoare triple {3373#(and (<= 1 sll_length_~len~0) (<= sll_length_~len~0 1))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {3374#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} is VALID [2020-07-08 12:30:04,330 INFO L280 TraceCheckUtils]: 47: Hoare triple {3374#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} assume !(~head.base != 0 || ~head.offset != 0); {3374#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} is VALID [2020-07-08 12:30:04,331 INFO L280 TraceCheckUtils]: 48: Hoare triple {3374#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} #res := ~len~0; {3375#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} is VALID [2020-07-08 12:30:04,331 INFO L280 TraceCheckUtils]: 49: Hoare triple {3375#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} assume true; {3375#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} is VALID [2020-07-08 12:30:04,333 INFO L275 TraceCheckUtils]: 50: Hoare quadruple {3375#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} #174#return; {3365#(and (= 0 main_~k~0) (<= |main_#t~ret22| main_~len~2) (<= main_~len~2 |main_#t~ret22|))} is VALID [2020-07-08 12:30:04,334 INFO L280 TraceCheckUtils]: 51: Hoare triple {3365#(and (= 0 main_~k~0) (<= |main_#t~ret22| main_~len~2) (<= main_~len~2 |main_#t~ret22|))} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {3365#(and (= 0 main_~k~0) (<= |main_#t~ret22| main_~len~2) (<= main_~len~2 |main_#t~ret22|))} is VALID [2020-07-08 12:30:04,335 INFO L280 TraceCheckUtils]: 52: Hoare triple {3365#(and (= 0 main_~k~0) (<= |main_#t~ret22| main_~len~2) (<= main_~len~2 |main_#t~ret22|))} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~ret22;havoc #t~mem21.base, #t~mem21.offset; {3322#false} is VALID [2020-07-08 12:30:04,335 INFO L280 TraceCheckUtils]: 53: Hoare triple {3322#false} assume !false; {3322#false} is VALID [2020-07-08 12:30:04,360 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2020-07-08 12:30:04,360 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [673764898] [2020-07-08 12:30:04,360 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [529042156] [2020-07-08 12:30:04,360 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:30:04,471 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-08 12:30:04,471 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-08 12:30:04,473 INFO L264 TraceCheckSpWp]: Trace formula consists of 222 conjuncts, 35 conjunts are in the unsatisfiable core [2020-07-08 12:30:04,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:04,502 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-08 12:30:04,786 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-08 12:30:04,796 INFO L263 TraceCheckUtils]: 0: Hoare triple {3321#true} call ULTIMATE.init(); {3321#true} is VALID [2020-07-08 12:30:04,797 INFO L280 TraceCheckUtils]: 1: Hoare triple {3321#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3321#true} is VALID [2020-07-08 12:30:04,797 INFO L280 TraceCheckUtils]: 2: Hoare triple {3321#true} assume true; {3321#true} is VALID [2020-07-08 12:30:04,797 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3321#true} {3321#true} #180#return; {3321#true} is VALID [2020-07-08 12:30:04,797 INFO L263 TraceCheckUtils]: 4: Hoare triple {3321#true} call #t~ret24 := main(); {3321#true} is VALID [2020-07-08 12:30:04,797 INFO L263 TraceCheckUtils]: 5: Hoare triple {3321#true} call #t~ret14 := _get_nondet_int(2, 5); {3321#true} is VALID [2020-07-08 12:30:04,798 INFO L280 TraceCheckUtils]: 6: Hoare triple {3321#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {3397#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-08 12:30:04,799 INFO L280 TraceCheckUtils]: 7: Hoare triple {3397#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} #t~short12 := ~len~1 < ~until; {3397#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-08 12:30:04,799 INFO L280 TraceCheckUtils]: 8: Hoare triple {3397#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {3397#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-08 12:30:04,800 INFO L280 TraceCheckUtils]: 9: Hoare triple {3397#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {3397#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-08 12:30:04,800 INFO L280 TraceCheckUtils]: 10: Hoare triple {3397#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} #res := ~len~1; {3410#(= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} is VALID [2020-07-08 12:30:04,800 INFO L280 TraceCheckUtils]: 11: Hoare triple {3410#(= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} assume true; {3410#(= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} is VALID [2020-07-08 12:30:04,801 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {3410#(= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} {3321#true} #164#return; {3333#(and (<= |main_#t~ret14| 2) (<= 2 |main_#t~ret14|))} is VALID [2020-07-08 12:30:04,802 INFO L280 TraceCheckUtils]: 13: Hoare triple {3333#(and (<= |main_#t~ret14| 2) (<= 2 |main_#t~ret14|))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {3334#(and (<= main_~len~2 2) (<= 2 main_~len~2))} is VALID [2020-07-08 12:30:04,802 INFO L263 TraceCheckUtils]: 14: Hoare triple {3334#(and (<= main_~len~2 2) (<= 2 main_~len~2))} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {3321#true} is VALID [2020-07-08 12:30:04,802 INFO L280 TraceCheckUtils]: 15: Hoare triple {3321#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {3321#true} is VALID [2020-07-08 12:30:04,802 INFO L280 TraceCheckUtils]: 16: Hoare triple {3321#true} #t~post2 := ~len;~len := #t~post2 - 1; {3321#true} is VALID [2020-07-08 12:30:04,802 INFO L280 TraceCheckUtils]: 17: Hoare triple {3321#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {3321#true} is VALID [2020-07-08 12:30:04,802 INFO L280 TraceCheckUtils]: 18: Hoare triple {3321#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {3321#true} is VALID [2020-07-08 12:30:04,803 INFO L280 TraceCheckUtils]: 19: Hoare triple {3321#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3321#true} is VALID [2020-07-08 12:30:04,803 INFO L280 TraceCheckUtils]: 20: Hoare triple {3321#true} #t~post2 := ~len;~len := #t~post2 - 1; {3321#true} is VALID [2020-07-08 12:30:04,803 INFO L280 TraceCheckUtils]: 21: Hoare triple {3321#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {3321#true} is VALID [2020-07-08 12:30:04,803 INFO L280 TraceCheckUtils]: 22: Hoare triple {3321#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {3321#true} is VALID [2020-07-08 12:30:04,803 INFO L280 TraceCheckUtils]: 23: Hoare triple {3321#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3321#true} is VALID [2020-07-08 12:30:04,803 INFO L280 TraceCheckUtils]: 24: Hoare triple {3321#true} #t~post2 := ~len;~len := #t~post2 - 1; {3321#true} is VALID [2020-07-08 12:30:04,803 INFO L280 TraceCheckUtils]: 25: Hoare triple {3321#true} assume !(#t~post2 > 0);havoc #t~post2; {3321#true} is VALID [2020-07-08 12:30:04,803 INFO L280 TraceCheckUtils]: 26: Hoare triple {3321#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {3321#true} is VALID [2020-07-08 12:30:04,803 INFO L280 TraceCheckUtils]: 27: Hoare triple {3321#true} assume true; {3321#true} is VALID [2020-07-08 12:30:04,804 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {3321#true} {3334#(and (<= main_~len~2 2) (<= 2 main_~len~2))} #166#return; {3334#(and (<= main_~len~2 2) (<= 2 main_~len~2))} is VALID [2020-07-08 12:30:04,805 INFO L280 TraceCheckUtils]: 29: Hoare triple {3334#(and (<= main_~len~2 2) (<= 2 main_~len~2))} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {3334#(and (<= main_~len~2 2) (<= 2 main_~len~2))} is VALID [2020-07-08 12:30:04,805 INFO L263 TraceCheckUtils]: 30: Hoare triple {3334#(and (<= main_~len~2 2) (<= 2 main_~len~2))} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {3321#true} is VALID [2020-07-08 12:30:04,805 INFO L280 TraceCheckUtils]: 31: Hoare triple {3321#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {3397#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-08 12:30:04,806 INFO L280 TraceCheckUtils]: 32: Hoare triple {3397#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} #t~short12 := ~len~1 < ~until; {3397#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-08 12:30:04,806 INFO L280 TraceCheckUtils]: 33: Hoare triple {3397#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {3397#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-08 12:30:04,806 INFO L280 TraceCheckUtils]: 34: Hoare triple {3397#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {3397#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-08 12:30:04,807 INFO L280 TraceCheckUtils]: 35: Hoare triple {3397#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} #res := ~len~1; {3410#(= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} is VALID [2020-07-08 12:30:04,807 INFO L280 TraceCheckUtils]: 36: Hoare triple {3410#(= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} assume true; {3410#(= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} is VALID [2020-07-08 12:30:04,808 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {3410#(= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} {3334#(and (<= main_~len~2 2) (<= 2 main_~len~2))} #168#return; {3356#(and (<= main_~len~2 2) (<= 2 main_~len~2) (= |main_#t~ret16| 0))} is VALID [2020-07-08 12:30:04,808 INFO L280 TraceCheckUtils]: 38: Hoare triple {3356#(and (<= main_~len~2 2) (<= 2 main_~len~2) (= |main_#t~ret16| 0))} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} is VALID [2020-07-08 12:30:04,809 INFO L280 TraceCheckUtils]: 39: Hoare triple {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} #t~short18 := ~i~0 < ~k~0; {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} is VALID [2020-07-08 12:30:04,809 INFO L280 TraceCheckUtils]: 40: Hoare triple {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} assume !#t~short18; {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} is VALID [2020-07-08 12:30:04,810 INFO L280 TraceCheckUtils]: 41: Hoare triple {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} is VALID [2020-07-08 12:30:04,810 INFO L280 TraceCheckUtils]: 42: Hoare triple {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} is VALID [2020-07-08 12:30:04,811 INFO L263 TraceCheckUtils]: 43: Hoare triple {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {3321#true} is VALID [2020-07-08 12:30:04,813 INFO L280 TraceCheckUtils]: 44: Hoare triple {3321#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {3372#(and (<= 0 sll_length_~len~0) (<= sll_length_~len~0 0))} is VALID [2020-07-08 12:30:04,818 INFO L280 TraceCheckUtils]: 45: Hoare triple {3372#(and (<= 0 sll_length_~len~0) (<= sll_length_~len~0 0))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {3373#(and (<= 1 sll_length_~len~0) (<= sll_length_~len~0 1))} is VALID [2020-07-08 12:30:04,820 INFO L280 TraceCheckUtils]: 46: Hoare triple {3373#(and (<= 1 sll_length_~len~0) (<= sll_length_~len~0 1))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {3374#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} is VALID [2020-07-08 12:30:04,820 INFO L280 TraceCheckUtils]: 47: Hoare triple {3374#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} assume !(~head.base != 0 || ~head.offset != 0); {3374#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} is VALID [2020-07-08 12:30:04,821 INFO L280 TraceCheckUtils]: 48: Hoare triple {3374#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} #res := ~len~0; {3375#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} is VALID [2020-07-08 12:30:04,821 INFO L280 TraceCheckUtils]: 49: Hoare triple {3375#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} assume true; {3375#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} is VALID [2020-07-08 12:30:04,822 INFO L275 TraceCheckUtils]: 50: Hoare quadruple {3375#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} {3357#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} #174#return; {3531#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= |main_#t~ret22| 2) (<= 2 |main_#t~ret22|) (<= 2 main_~len~2))} is VALID [2020-07-08 12:30:04,823 INFO L280 TraceCheckUtils]: 51: Hoare triple {3531#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= |main_#t~ret22| 2) (<= 2 |main_#t~ret22|) (<= 2 main_~len~2))} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {3531#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= |main_#t~ret22| 2) (<= 2 |main_#t~ret22|) (<= 2 main_~len~2))} is VALID [2020-07-08 12:30:04,823 INFO L280 TraceCheckUtils]: 52: Hoare triple {3531#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= |main_#t~ret22| 2) (<= 2 |main_#t~ret22|) (<= 2 main_~len~2))} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~ret22;havoc #t~mem21.base, #t~mem21.offset; {3322#false} is VALID [2020-07-08 12:30:04,824 INFO L280 TraceCheckUtils]: 53: Hoare triple {3322#false} assume !false; {3322#false} is VALID [2020-07-08 12:30:04,828 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2020-07-08 12:30:04,828 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-08 12:30:04,828 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13] total 20 [2020-07-08 12:30:04,828 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [240397393] [2020-07-08 12:30:04,829 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 54 [2020-07-08 12:30:04,830 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:30:04,830 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2020-07-08 12:30:04,916 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:30:04,916 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2020-07-08 12:30:04,917 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:30:04,917 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2020-07-08 12:30:04,917 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=334, Unknown=0, NotChecked=0, Total=380 [2020-07-08 12:30:04,918 INFO L87 Difference]: Start difference. First operand 90 states and 107 transitions. Second operand 20 states. [2020-07-08 12:30:08,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:30:08,289 INFO L93 Difference]: Finished difference Result 161 states and 206 transitions. [2020-07-08 12:30:08,289 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-08 12:30:08,289 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 54 [2020-07-08 12:30:08,291 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:30:08,291 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2020-07-08 12:30:08,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 145 transitions. [2020-07-08 12:30:08,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2020-07-08 12:30:08,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 145 transitions. [2020-07-08 12:30:08,302 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 145 transitions. [2020-07-08 12:30:08,548 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 145 edges. 145 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:30:08,554 INFO L225 Difference]: With dead ends: 161 [2020-07-08 12:30:08,554 INFO L226 Difference]: Without dead ends: 157 [2020-07-08 12:30:08,555 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 58 SyntacticMatches, 2 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=129, Invalid=801, Unknown=0, NotChecked=0, Total=930 [2020-07-08 12:30:08,556 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 157 states. [2020-07-08 12:30:08,726 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 157 to 110. [2020-07-08 12:30:08,726 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:30:08,726 INFO L82 GeneralOperation]: Start isEquivalent. First operand 157 states. Second operand 110 states. [2020-07-08 12:30:08,726 INFO L74 IsIncluded]: Start isIncluded. First operand 157 states. Second operand 110 states. [2020-07-08 12:30:08,726 INFO L87 Difference]: Start difference. First operand 157 states. Second operand 110 states. [2020-07-08 12:30:08,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:30:08,734 INFO L93 Difference]: Finished difference Result 157 states and 202 transitions. [2020-07-08 12:30:08,735 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 202 transitions. [2020-07-08 12:30:08,736 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:30:08,736 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:30:08,736 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand 157 states. [2020-07-08 12:30:08,736 INFO L87 Difference]: Start difference. First operand 110 states. Second operand 157 states. [2020-07-08 12:30:08,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:30:08,744 INFO L93 Difference]: Finished difference Result 157 states and 202 transitions. [2020-07-08 12:30:08,744 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 202 transitions. [2020-07-08 12:30:08,745 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:30:08,745 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:30:08,745 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:30:08,746 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:30:08,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 110 states. [2020-07-08 12:30:08,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 135 transitions. [2020-07-08 12:30:08,751 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 135 transitions. Word has length 54 [2020-07-08 12:30:08,751 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:30:08,751 INFO L479 AbstractCegarLoop]: Abstraction has 110 states and 135 transitions. [2020-07-08 12:30:08,751 INFO L480 AbstractCegarLoop]: Interpolant automaton has 20 states. [2020-07-08 12:30:08,751 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 135 transitions. [2020-07-08 12:30:08,752 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2020-07-08 12:30:08,752 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:30:08,753 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 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] [2020-07-08 12:30:08,966 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:30:08,967 INFO L427 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:30:08,968 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:30:08,968 INFO L82 PathProgramCache]: Analyzing trace with hash 832308054, now seen corresponding path program 3 times [2020-07-08 12:30:08,968 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:30:08,969 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [963219648] [2020-07-08 12:30:08,969 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:30:08,991 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:09,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:09,110 INFO L280 TraceCheckUtils]: 0: Hoare triple {4286#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4242#true} is VALID [2020-07-08 12:30:09,111 INFO L280 TraceCheckUtils]: 1: Hoare triple {4242#true} assume true; {4242#true} is VALID [2020-07-08 12:30:09,111 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {4242#true} {4242#true} #180#return; {4242#true} is VALID [2020-07-08 12:30:09,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:09,116 INFO L280 TraceCheckUtils]: 0: Hoare triple {4242#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {4242#true} is VALID [2020-07-08 12:30:09,116 INFO L280 TraceCheckUtils]: 1: Hoare triple {4242#true} #t~short12 := ~len~1 < ~until; {4242#true} is VALID [2020-07-08 12:30:09,117 INFO L280 TraceCheckUtils]: 2: Hoare triple {4242#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {4242#true} is VALID [2020-07-08 12:30:09,117 INFO L280 TraceCheckUtils]: 3: Hoare triple {4242#true} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {4242#true} is VALID [2020-07-08 12:30:09,117 INFO L280 TraceCheckUtils]: 4: Hoare triple {4242#true} #res := ~len~1; {4242#true} is VALID [2020-07-08 12:30:09,117 INFO L280 TraceCheckUtils]: 5: Hoare triple {4242#true} assume true; {4242#true} is VALID [2020-07-08 12:30:09,117 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {4242#true} {4242#true} #164#return; {4242#true} is VALID [2020-07-08 12:30:09,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:09,372 INFO L280 TraceCheckUtils]: 0: Hoare triple {4287#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {4288#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} is VALID [2020-07-08 12:30:09,373 INFO L280 TraceCheckUtils]: 1: Hoare triple {4288#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} #t~post2 := ~len;~len := #t~post2 - 1; {4288#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} is VALID [2020-07-08 12:30:09,374 INFO L280 TraceCheckUtils]: 2: Hoare triple {4288#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {4289#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} is VALID [2020-07-08 12:30:09,375 INFO L280 TraceCheckUtils]: 3: Hoare triple {4289#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4289#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} is VALID [2020-07-08 12:30:09,376 INFO L280 TraceCheckUtils]: 4: Hoare triple {4289#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4290#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 1 (select |#valid| sll_create_~head~0.base)))} is VALID [2020-07-08 12:30:09,377 INFO L280 TraceCheckUtils]: 5: Hoare triple {4290#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 1 (select |#valid| sll_create_~head~0.base)))} #t~post2 := ~len;~len := #t~post2 - 1; {4290#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 1 (select |#valid| sll_create_~head~0.base)))} is VALID [2020-07-08 12:30:09,379 INFO L280 TraceCheckUtils]: 6: Hoare triple {4290#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 1 (select |#valid| sll_create_~head~0.base)))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {4291#(and (= 0 (select (select (store |#memory_$Pointer$.base| sll_create_~new_head~0.base (store (select |#memory_$Pointer$.base| sll_create_~new_head~0.base) sll_create_~new_head~0.offset sll_create_~head~0.base)) sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select (store |#memory_$Pointer$.offset| sll_create_~new_head~0.base (store (select |#memory_$Pointer$.offset| sll_create_~new_head~0.base) sll_create_~new_head~0.offset sll_create_~head~0.offset)) sll_create_~head~0.base) sll_create_~head~0.offset)))} is VALID [2020-07-08 12:30:09,380 INFO L280 TraceCheckUtils]: 7: Hoare triple {4291#(and (= 0 (select (select (store |#memory_$Pointer$.base| sll_create_~new_head~0.base (store (select |#memory_$Pointer$.base| sll_create_~new_head~0.base) sll_create_~new_head~0.offset sll_create_~head~0.base)) sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select (store |#memory_$Pointer$.offset| sll_create_~new_head~0.base (store (select |#memory_$Pointer$.offset| sll_create_~new_head~0.base) sll_create_~new_head~0.offset sll_create_~head~0.offset)) sll_create_~head~0.base) sll_create_~head~0.offset)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4291#(and (= 0 (select (select (store |#memory_$Pointer$.base| sll_create_~new_head~0.base (store (select |#memory_$Pointer$.base| sll_create_~new_head~0.base) sll_create_~new_head~0.offset sll_create_~head~0.base)) sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select (store |#memory_$Pointer$.offset| sll_create_~new_head~0.base (store (select |#memory_$Pointer$.offset| sll_create_~new_head~0.base) sll_create_~new_head~0.offset sll_create_~head~0.offset)) sll_create_~head~0.base) sll_create_~head~0.offset)))} is VALID [2020-07-08 12:30:09,382 INFO L280 TraceCheckUtils]: 8: Hoare triple {4291#(and (= 0 (select (select (store |#memory_$Pointer$.base| sll_create_~new_head~0.base (store (select |#memory_$Pointer$.base| sll_create_~new_head~0.base) sll_create_~new_head~0.offset sll_create_~head~0.base)) sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select (store |#memory_$Pointer$.offset| sll_create_~new_head~0.base (store (select |#memory_$Pointer$.offset| sll_create_~new_head~0.base) sll_create_~new_head~0.offset sll_create_~head~0.offset)) sll_create_~head~0.base) sll_create_~head~0.offset)))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4292#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} is VALID [2020-07-08 12:30:09,383 INFO L280 TraceCheckUtils]: 9: Hoare triple {4292#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} #t~post2 := ~len;~len := #t~post2 - 1; {4292#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} is VALID [2020-07-08 12:30:09,383 INFO L280 TraceCheckUtils]: 10: Hoare triple {4292#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} assume !(#t~post2 > 0);havoc #t~post2; {4292#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} is VALID [2020-07-08 12:30:09,385 INFO L280 TraceCheckUtils]: 11: Hoare triple {4292#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {4293#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))))} is VALID [2020-07-08 12:30:09,385 INFO L280 TraceCheckUtils]: 12: Hoare triple {4293#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))))} assume true; {4293#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))))} is VALID [2020-07-08 12:30:09,387 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {4293#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))))} {4242#true} #166#return; {4268#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~ret15.base|) |main_#t~ret15.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~ret15.base|) |main_#t~ret15.offset|))))} is VALID [2020-07-08 12:30:09,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:09,398 INFO L280 TraceCheckUtils]: 0: Hoare triple {4242#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {4242#true} is VALID [2020-07-08 12:30:09,399 INFO L280 TraceCheckUtils]: 1: Hoare triple {4242#true} #t~short12 := ~len~1 < ~until; {4242#true} is VALID [2020-07-08 12:30:09,399 INFO L280 TraceCheckUtils]: 2: Hoare triple {4242#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {4242#true} is VALID [2020-07-08 12:30:09,399 INFO L280 TraceCheckUtils]: 3: Hoare triple {4242#true} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {4242#true} is VALID [2020-07-08 12:30:09,400 INFO L280 TraceCheckUtils]: 4: Hoare triple {4242#true} #res := ~len~1; {4242#true} is VALID [2020-07-08 12:30:09,400 INFO L280 TraceCheckUtils]: 5: Hoare triple {4242#true} assume true; {4242#true} is VALID [2020-07-08 12:30:09,401 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {4242#true} {4269#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} #168#return; {4269#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} is VALID [2020-07-08 12:30:09,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:09,550 INFO L280 TraceCheckUtils]: 0: Hoare triple {4242#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {4294#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} is VALID [2020-07-08 12:30:09,551 INFO L280 TraceCheckUtils]: 1: Hoare triple {4294#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {4295#(and (= (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base))} is VALID [2020-07-08 12:30:09,552 INFO L280 TraceCheckUtils]: 2: Hoare triple {4295#(and (= (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {4296#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.base))} is VALID [2020-07-08 12:30:09,554 INFO L280 TraceCheckUtils]: 3: Hoare triple {4296#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {4297#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} is VALID [2020-07-08 12:30:09,554 INFO L280 TraceCheckUtils]: 4: Hoare triple {4297#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} assume !(~head.base != 0 || ~head.offset != 0); {4297#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} is VALID [2020-07-08 12:30:09,555 INFO L280 TraceCheckUtils]: 5: Hoare triple {4297#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} #res := ~len~0; {4297#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} is VALID [2020-07-08 12:30:09,556 INFO L280 TraceCheckUtils]: 6: Hoare triple {4297#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} assume true; {4297#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} is VALID [2020-07-08 12:30:09,557 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {4297#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} {4277#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~mem21.base|) |main_#t~mem21.offset|))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~mem21.base|) |main_#t~mem21.offset|))))} #174#return; {4243#false} is VALID [2020-07-08 12:30:09,559 INFO L263 TraceCheckUtils]: 0: Hoare triple {4242#true} call ULTIMATE.init(); {4286#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:30:09,559 INFO L280 TraceCheckUtils]: 1: Hoare triple {4286#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4242#true} is VALID [2020-07-08 12:30:09,559 INFO L280 TraceCheckUtils]: 2: Hoare triple {4242#true} assume true; {4242#true} is VALID [2020-07-08 12:30:09,559 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4242#true} {4242#true} #180#return; {4242#true} is VALID [2020-07-08 12:30:09,559 INFO L263 TraceCheckUtils]: 4: Hoare triple {4242#true} call #t~ret24 := main(); {4242#true} is VALID [2020-07-08 12:30:09,560 INFO L263 TraceCheckUtils]: 5: Hoare triple {4242#true} call #t~ret14 := _get_nondet_int(2, 5); {4242#true} is VALID [2020-07-08 12:30:09,560 INFO L280 TraceCheckUtils]: 6: Hoare triple {4242#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {4242#true} is VALID [2020-07-08 12:30:09,560 INFO L280 TraceCheckUtils]: 7: Hoare triple {4242#true} #t~short12 := ~len~1 < ~until; {4242#true} is VALID [2020-07-08 12:30:09,560 INFO L280 TraceCheckUtils]: 8: Hoare triple {4242#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {4242#true} is VALID [2020-07-08 12:30:09,560 INFO L280 TraceCheckUtils]: 9: Hoare triple {4242#true} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {4242#true} is VALID [2020-07-08 12:30:09,560 INFO L280 TraceCheckUtils]: 10: Hoare triple {4242#true} #res := ~len~1; {4242#true} is VALID [2020-07-08 12:30:09,561 INFO L280 TraceCheckUtils]: 11: Hoare triple {4242#true} assume true; {4242#true} is VALID [2020-07-08 12:30:09,561 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4242#true} {4242#true} #164#return; {4242#true} is VALID [2020-07-08 12:30:09,561 INFO L280 TraceCheckUtils]: 13: Hoare triple {4242#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {4242#true} is VALID [2020-07-08 12:30:09,562 INFO L263 TraceCheckUtils]: 14: Hoare triple {4242#true} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {4287#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-08 12:30:09,563 INFO L280 TraceCheckUtils]: 15: Hoare triple {4287#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {4288#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} is VALID [2020-07-08 12:30:09,563 INFO L280 TraceCheckUtils]: 16: Hoare triple {4288#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} #t~post2 := ~len;~len := #t~post2 - 1; {4288#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} is VALID [2020-07-08 12:30:09,565 INFO L280 TraceCheckUtils]: 17: Hoare triple {4288#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {4289#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} is VALID [2020-07-08 12:30:09,565 INFO L280 TraceCheckUtils]: 18: Hoare triple {4289#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4289#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} is VALID [2020-07-08 12:30:09,567 INFO L280 TraceCheckUtils]: 19: Hoare triple {4289#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4290#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 1 (select |#valid| sll_create_~head~0.base)))} is VALID [2020-07-08 12:30:09,568 INFO L280 TraceCheckUtils]: 20: Hoare triple {4290#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 1 (select |#valid| sll_create_~head~0.base)))} #t~post2 := ~len;~len := #t~post2 - 1; {4290#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 1 (select |#valid| sll_create_~head~0.base)))} is VALID [2020-07-08 12:30:09,569 INFO L280 TraceCheckUtils]: 21: Hoare triple {4290#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 1 (select |#valid| sll_create_~head~0.base)))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {4291#(and (= 0 (select (select (store |#memory_$Pointer$.base| sll_create_~new_head~0.base (store (select |#memory_$Pointer$.base| sll_create_~new_head~0.base) sll_create_~new_head~0.offset sll_create_~head~0.base)) sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select (store |#memory_$Pointer$.offset| sll_create_~new_head~0.base (store (select |#memory_$Pointer$.offset| sll_create_~new_head~0.base) sll_create_~new_head~0.offset sll_create_~head~0.offset)) sll_create_~head~0.base) sll_create_~head~0.offset)))} is VALID [2020-07-08 12:30:09,570 INFO L280 TraceCheckUtils]: 22: Hoare triple {4291#(and (= 0 (select (select (store |#memory_$Pointer$.base| sll_create_~new_head~0.base (store (select |#memory_$Pointer$.base| sll_create_~new_head~0.base) sll_create_~new_head~0.offset sll_create_~head~0.base)) sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select (store |#memory_$Pointer$.offset| sll_create_~new_head~0.base (store (select |#memory_$Pointer$.offset| sll_create_~new_head~0.base) sll_create_~new_head~0.offset sll_create_~head~0.offset)) sll_create_~head~0.base) sll_create_~head~0.offset)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4291#(and (= 0 (select (select (store |#memory_$Pointer$.base| sll_create_~new_head~0.base (store (select |#memory_$Pointer$.base| sll_create_~new_head~0.base) sll_create_~new_head~0.offset sll_create_~head~0.base)) sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select (store |#memory_$Pointer$.offset| sll_create_~new_head~0.base (store (select |#memory_$Pointer$.offset| sll_create_~new_head~0.base) sll_create_~new_head~0.offset sll_create_~head~0.offset)) sll_create_~head~0.base) sll_create_~head~0.offset)))} is VALID [2020-07-08 12:30:09,572 INFO L280 TraceCheckUtils]: 23: Hoare triple {4291#(and (= 0 (select (select (store |#memory_$Pointer$.base| sll_create_~new_head~0.base (store (select |#memory_$Pointer$.base| sll_create_~new_head~0.base) sll_create_~new_head~0.offset sll_create_~head~0.base)) sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select (store |#memory_$Pointer$.offset| sll_create_~new_head~0.base (store (select |#memory_$Pointer$.offset| sll_create_~new_head~0.base) sll_create_~new_head~0.offset sll_create_~head~0.offset)) sll_create_~head~0.base) sll_create_~head~0.offset)))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4292#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} is VALID [2020-07-08 12:30:09,574 INFO L280 TraceCheckUtils]: 24: Hoare triple {4292#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} #t~post2 := ~len;~len := #t~post2 - 1; {4292#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} is VALID [2020-07-08 12:30:09,575 INFO L280 TraceCheckUtils]: 25: Hoare triple {4292#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} assume !(#t~post2 > 0);havoc #t~post2; {4292#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} is VALID [2020-07-08 12:30:09,576 INFO L280 TraceCheckUtils]: 26: Hoare triple {4292#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {4293#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))))} is VALID [2020-07-08 12:30:09,577 INFO L280 TraceCheckUtils]: 27: Hoare triple {4293#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))))} assume true; {4293#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))))} is VALID [2020-07-08 12:30:09,578 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {4293#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))))} {4242#true} #166#return; {4268#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~ret15.base|) |main_#t~ret15.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~ret15.base|) |main_#t~ret15.offset|))))} is VALID [2020-07-08 12:30:09,579 INFO L280 TraceCheckUtils]: 29: Hoare triple {4268#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~ret15.base|) |main_#t~ret15.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~ret15.base|) |main_#t~ret15.offset|))))} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {4269#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} is VALID [2020-07-08 12:30:09,579 INFO L263 TraceCheckUtils]: 30: Hoare triple {4269#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {4242#true} is VALID [2020-07-08 12:30:09,579 INFO L280 TraceCheckUtils]: 31: Hoare triple {4242#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {4242#true} is VALID [2020-07-08 12:30:09,580 INFO L280 TraceCheckUtils]: 32: Hoare triple {4242#true} #t~short12 := ~len~1 < ~until; {4242#true} is VALID [2020-07-08 12:30:09,580 INFO L280 TraceCheckUtils]: 33: Hoare triple {4242#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {4242#true} is VALID [2020-07-08 12:30:09,580 INFO L280 TraceCheckUtils]: 34: Hoare triple {4242#true} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {4242#true} is VALID [2020-07-08 12:30:09,580 INFO L280 TraceCheckUtils]: 35: Hoare triple {4242#true} #res := ~len~1; {4242#true} is VALID [2020-07-08 12:30:09,580 INFO L280 TraceCheckUtils]: 36: Hoare triple {4242#true} assume true; {4242#true} is VALID [2020-07-08 12:30:09,582 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {4242#true} {4269#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} #168#return; {4269#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} is VALID [2020-07-08 12:30:09,583 INFO L280 TraceCheckUtils]: 38: Hoare triple {4269#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {4269#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} is VALID [2020-07-08 12:30:09,584 INFO L280 TraceCheckUtils]: 39: Hoare triple {4269#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} #t~short18 := ~i~0 < ~k~0; {4269#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} is VALID [2020-07-08 12:30:09,585 INFO L280 TraceCheckUtils]: 40: Hoare triple {4269#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} assume !#t~short18; {4269#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} is VALID [2020-07-08 12:30:09,586 INFO L280 TraceCheckUtils]: 41: Hoare triple {4269#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {4269#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} is VALID [2020-07-08 12:30:09,587 INFO L280 TraceCheckUtils]: 42: Hoare triple {4269#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {4277#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~mem21.base|) |main_#t~mem21.offset|))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~mem21.base|) |main_#t~mem21.offset|))))} is VALID [2020-07-08 12:30:09,588 INFO L263 TraceCheckUtils]: 43: Hoare triple {4277#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~mem21.base|) |main_#t~mem21.offset|))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~mem21.base|) |main_#t~mem21.offset|))))} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {4242#true} is VALID [2020-07-08 12:30:09,588 INFO L280 TraceCheckUtils]: 44: Hoare triple {4242#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {4294#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} is VALID [2020-07-08 12:30:09,589 INFO L280 TraceCheckUtils]: 45: Hoare triple {4294#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {4295#(and (= (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base))} is VALID [2020-07-08 12:30:09,591 INFO L280 TraceCheckUtils]: 46: Hoare triple {4295#(and (= (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {4296#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.base))} is VALID [2020-07-08 12:30:09,592 INFO L280 TraceCheckUtils]: 47: Hoare triple {4296#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {4297#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} is VALID [2020-07-08 12:30:09,592 INFO L280 TraceCheckUtils]: 48: Hoare triple {4297#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} assume !(~head.base != 0 || ~head.offset != 0); {4297#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} is VALID [2020-07-08 12:30:09,594 INFO L280 TraceCheckUtils]: 49: Hoare triple {4297#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} #res := ~len~0; {4297#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} is VALID [2020-07-08 12:30:09,594 INFO L280 TraceCheckUtils]: 50: Hoare triple {4297#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} assume true; {4297#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} is VALID [2020-07-08 12:30:09,596 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4297#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} {4277#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~mem21.base|) |main_#t~mem21.offset|))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~mem21.base|) |main_#t~mem21.offset|))))} #174#return; {4243#false} is VALID [2020-07-08 12:30:09,596 INFO L280 TraceCheckUtils]: 52: Hoare triple {4243#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {4243#false} is VALID [2020-07-08 12:30:09,596 INFO L280 TraceCheckUtils]: 53: Hoare triple {4243#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~ret22;havoc #t~mem21.base, #t~mem21.offset; {4243#false} is VALID [2020-07-08 12:30:09,597 INFO L280 TraceCheckUtils]: 54: Hoare triple {4243#false} assume !false; {4243#false} is VALID [2020-07-08 12:30:09,609 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2020-07-08 12:30:09,610 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [963219648] [2020-07-08 12:30:09,610 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [841377734] [2020-07-08 12:30:09,610 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:30:09,733 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2020-07-08 12:30:09,733 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-08 12:30:09,736 INFO L264 TraceCheckSpWp]: Trace formula consists of 229 conjuncts, 63 conjunts are in the unsatisfiable core [2020-07-08 12:30:09,755 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:09,757 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-08 12:30:09,785 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2020-07-08 12:30:09,786 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:30:09,794 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:30:09,795 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2020-07-08 12:30:09,795 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2020-07-08 12:30:09,799 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:30:09,799 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#valid_25|]. (and (= 0 sll_create_~head~0.offset) (= |#valid| (store |v_#valid_25| sll_create_~new_head~0.base 1)) (= sll_create_~new_head~0.offset 0) (= 0 sll_create_~head~0.base)) [2020-07-08 12:30:09,799 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= sll_create_~new_head~0.offset 0) (= 0 sll_create_~head~0.base)) [2020-07-08 12:30:09,858 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2020-07-08 12:30:09,859 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:30:09,868 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:30:09,873 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2020-07-08 12:30:09,873 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-08 12:30:09,882 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:30:09,883 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-08 12:30:09,883 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:31, output treesize:23 [2020-07-08 12:30:09,964 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:30:09,965 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 15 [2020-07-08 12:30:09,968 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-08 12:30:09,971 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:30:09,981 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:30:09,982 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2020-07-08 12:30:09,982 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:31, output treesize:25 [2020-07-08 12:30:10,077 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 18 [2020-07-08 12:30:10,079 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:30:10,091 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:30:10,107 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 18 [2020-07-08 12:30:10,109 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-08 12:30:10,119 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:30:10,127 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-08 12:30:10,128 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:44, output treesize:41 [2020-07-08 12:30:14,556 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-08 12:30:14,596 INFO L263 TraceCheckUtils]: 0: Hoare triple {4242#true} call ULTIMATE.init(); {4242#true} is VALID [2020-07-08 12:30:14,597 INFO L280 TraceCheckUtils]: 1: Hoare triple {4242#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4242#true} is VALID [2020-07-08 12:30:14,597 INFO L280 TraceCheckUtils]: 2: Hoare triple {4242#true} assume true; {4242#true} is VALID [2020-07-08 12:30:14,597 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4242#true} {4242#true} #180#return; {4242#true} is VALID [2020-07-08 12:30:14,597 INFO L263 TraceCheckUtils]: 4: Hoare triple {4242#true} call #t~ret24 := main(); {4242#true} is VALID [2020-07-08 12:30:14,597 INFO L263 TraceCheckUtils]: 5: Hoare triple {4242#true} call #t~ret14 := _get_nondet_int(2, 5); {4242#true} is VALID [2020-07-08 12:30:14,597 INFO L280 TraceCheckUtils]: 6: Hoare triple {4242#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {4242#true} is VALID [2020-07-08 12:30:14,598 INFO L280 TraceCheckUtils]: 7: Hoare triple {4242#true} #t~short12 := ~len~1 < ~until; {4242#true} is VALID [2020-07-08 12:30:14,598 INFO L280 TraceCheckUtils]: 8: Hoare triple {4242#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {4242#true} is VALID [2020-07-08 12:30:14,598 INFO L280 TraceCheckUtils]: 9: Hoare triple {4242#true} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {4242#true} is VALID [2020-07-08 12:30:14,598 INFO L280 TraceCheckUtils]: 10: Hoare triple {4242#true} #res := ~len~1; {4242#true} is VALID [2020-07-08 12:30:14,598 INFO L280 TraceCheckUtils]: 11: Hoare triple {4242#true} assume true; {4242#true} is VALID [2020-07-08 12:30:14,598 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4242#true} {4242#true} #164#return; {4242#true} is VALID [2020-07-08 12:30:14,599 INFO L280 TraceCheckUtils]: 13: Hoare triple {4242#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {4242#true} is VALID [2020-07-08 12:30:14,599 INFO L263 TraceCheckUtils]: 14: Hoare triple {4242#true} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {4242#true} is VALID [2020-07-08 12:30:14,599 INFO L280 TraceCheckUtils]: 15: Hoare triple {4242#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {4288#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} is VALID [2020-07-08 12:30:14,600 INFO L280 TraceCheckUtils]: 16: Hoare triple {4288#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} #t~post2 := ~len;~len := #t~post2 - 1; {4288#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} is VALID [2020-07-08 12:30:14,601 INFO L280 TraceCheckUtils]: 17: Hoare triple {4288#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {4352#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base) (= sll_create_~new_head~0.offset 0))} is VALID [2020-07-08 12:30:14,602 INFO L280 TraceCheckUtils]: 18: Hoare triple {4352#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base) (= sll_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4352#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base) (= sll_create_~new_head~0.offset 0))} is VALID [2020-07-08 12:30:14,603 INFO L280 TraceCheckUtils]: 19: Hoare triple {4352#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base) (= sll_create_~new_head~0.offset 0))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4359#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 sll_create_~head~0.offset) (= 1 (select |#valid| sll_create_~head~0.base)))} is VALID [2020-07-08 12:30:14,604 INFO L280 TraceCheckUtils]: 20: Hoare triple {4359#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 sll_create_~head~0.offset) (= 1 (select |#valid| sll_create_~head~0.base)))} #t~post2 := ~len;~len := #t~post2 - 1; {4359#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 sll_create_~head~0.offset) (= 1 (select |#valid| sll_create_~head~0.base)))} is VALID [2020-07-08 12:30:14,604 INFO L280 TraceCheckUtils]: 21: Hoare triple {4359#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 sll_create_~head~0.offset) (= 1 (select |#valid| sll_create_~head~0.base)))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {4366#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 sll_create_~head~0.offset) (not (= sll_create_~head~0.base sll_create_~new_head~0.base)) (= sll_create_~new_head~0.offset 0))} is VALID [2020-07-08 12:30:14,605 INFO L280 TraceCheckUtils]: 22: Hoare triple {4366#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 sll_create_~head~0.offset) (not (= sll_create_~head~0.base sll_create_~new_head~0.base)) (= sll_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4366#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 sll_create_~head~0.offset) (not (= sll_create_~head~0.base sll_create_~new_head~0.base)) (= sll_create_~new_head~0.offset 0))} is VALID [2020-07-08 12:30:14,606 INFO L280 TraceCheckUtils]: 23: Hoare triple {4366#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 sll_create_~head~0.offset) (not (= sll_create_~head~0.base sll_create_~new_head~0.base)) (= sll_create_~new_head~0.offset 0))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4373#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (not (= sll_create_~head~0.base (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)))} is VALID [2020-07-08 12:30:14,607 INFO L280 TraceCheckUtils]: 24: Hoare triple {4373#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (not (= sll_create_~head~0.base (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)))} #t~post2 := ~len;~len := #t~post2 - 1; {4373#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (not (= sll_create_~head~0.base (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)))} is VALID [2020-07-08 12:30:14,608 INFO L280 TraceCheckUtils]: 25: Hoare triple {4373#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (not (= sll_create_~head~0.base (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)))} assume !(#t~post2 > 0);havoc #t~post2; {4373#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (not (= sll_create_~head~0.base (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)))} is VALID [2020-07-08 12:30:14,609 INFO L280 TraceCheckUtils]: 26: Hoare triple {4373#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (not (= sll_create_~head~0.base (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {4383#(and (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|) |sll_create_#res.base|)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) 0)) (= 0 |sll_create_#res.offset|) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|)))} is VALID [2020-07-08 12:30:14,615 INFO L280 TraceCheckUtils]: 27: Hoare triple {4383#(and (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|) |sll_create_#res.base|)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) 0)) (= 0 |sll_create_#res.offset|) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|)))} assume true; {4383#(and (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|) |sll_create_#res.base|)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) 0)) (= 0 |sll_create_#res.offset|) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|)))} is VALID [2020-07-08 12:30:14,617 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {4383#(and (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|) |sll_create_#res.base|)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) 0)) (= 0 |sll_create_#res.offset|) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|)))} {4242#true} #166#return; {4390#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) 0) |main_#t~ret15.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) 0)) 0) 0) (= |main_#t~ret15.offset| 0) (= 0 (select (select |#memory_$Pointer$.offset| |main_#t~ret15.base|) 0)))} is VALID [2020-07-08 12:30:14,617 INFO L280 TraceCheckUtils]: 29: Hoare triple {4390#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) 0) |main_#t~ret15.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) 0)) 0) 0) (= |main_#t~ret15.offset| 0) (= 0 (select (select |#memory_$Pointer$.offset| |main_#t~ret15.base|) 0)))} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {4394#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} is VALID [2020-07-08 12:30:14,619 INFO L263 TraceCheckUtils]: 30: Hoare triple {4394#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {4398#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} is VALID [2020-07-08 12:30:14,619 INFO L280 TraceCheckUtils]: 31: Hoare triple {4398#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} ~from := #in~from;~until := #in~until;~len~1 := ~from; {4398#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} is VALID [2020-07-08 12:30:14,620 INFO L280 TraceCheckUtils]: 32: Hoare triple {4398#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} #t~short12 := ~len~1 < ~until; {4398#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} is VALID [2020-07-08 12:30:14,621 INFO L280 TraceCheckUtils]: 33: Hoare triple {4398#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {4398#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} is VALID [2020-07-08 12:30:14,621 INFO L280 TraceCheckUtils]: 34: Hoare triple {4398#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {4398#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} is VALID [2020-07-08 12:30:14,622 INFO L280 TraceCheckUtils]: 35: Hoare triple {4398#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} #res := ~len~1; {4398#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} is VALID [2020-07-08 12:30:14,622 INFO L280 TraceCheckUtils]: 36: Hoare triple {4398#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} assume true; {4398#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} is VALID [2020-07-08 12:30:14,623 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {4398#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} {4394#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} #168#return; {4394#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} is VALID [2020-07-08 12:30:14,624 INFO L280 TraceCheckUtils]: 38: Hoare triple {4394#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {4394#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} is VALID [2020-07-08 12:30:14,625 INFO L280 TraceCheckUtils]: 39: Hoare triple {4394#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} #t~short18 := ~i~0 < ~k~0; {4394#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} is VALID [2020-07-08 12:30:14,625 INFO L280 TraceCheckUtils]: 40: Hoare triple {4394#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} assume !#t~short18; {4394#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} is VALID [2020-07-08 12:30:14,626 INFO L280 TraceCheckUtils]: 41: Hoare triple {4394#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {4394#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} is VALID [2020-07-08 12:30:14,627 INFO L280 TraceCheckUtils]: 42: Hoare triple {4394#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {4435#(exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~mem21.offset|) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~mem21.base|) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))))} is VALID [2020-07-08 12:30:14,629 INFO L263 TraceCheckUtils]: 43: Hoare triple {4435#(exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~mem21.offset|) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~mem21.base|) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))))} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {4398#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} is VALID [2020-07-08 12:30:14,630 INFO L280 TraceCheckUtils]: 44: Hoare triple {4398#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {4442#(and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} is VALID [2020-07-08 12:30:14,631 INFO L280 TraceCheckUtils]: 45: Hoare triple {4442#(and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {4446#(and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (= (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base))} is VALID [2020-07-08 12:30:14,632 INFO L280 TraceCheckUtils]: 46: Hoare triple {4446#(and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (= (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {4450#(and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.base))} is VALID [2020-07-08 12:30:14,633 INFO L280 TraceCheckUtils]: 47: Hoare triple {4450#(and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {4454#(or (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))) (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))))} is VALID [2020-07-08 12:30:14,634 INFO L280 TraceCheckUtils]: 48: Hoare triple {4454#(or (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))) (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))))} assume !(~head.base != 0 || ~head.offset != 0); {4454#(or (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))) (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))))} is VALID [2020-07-08 12:30:14,635 INFO L280 TraceCheckUtils]: 49: Hoare triple {4454#(or (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))) (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))))} #res := ~len~0; {4454#(or (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))) (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))))} is VALID [2020-07-08 12:30:14,635 INFO L280 TraceCheckUtils]: 50: Hoare triple {4454#(or (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))) (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))))} assume true; {4454#(or (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))) (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))))} is VALID [2020-07-08 12:30:14,637 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4454#(or (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))) (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))))} {4435#(exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~mem21.offset|) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~mem21.base|) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))))} #174#return; {4243#false} is VALID [2020-07-08 12:30:14,637 INFO L280 TraceCheckUtils]: 52: Hoare triple {4243#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {4243#false} is VALID [2020-07-08 12:30:14,637 INFO L280 TraceCheckUtils]: 53: Hoare triple {4243#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~ret22;havoc #t~mem21.base, #t~mem21.offset; {4243#false} is VALID [2020-07-08 12:30:14,637 INFO L280 TraceCheckUtils]: 54: Hoare triple {4243#false} assume !false; {4243#false} is VALID [2020-07-08 12:30:14,653 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 7 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 12:30:14,653 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-08 12:30:14,654 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 16] total 30 [2020-07-08 12:30:14,654 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1100906032] [2020-07-08 12:30:14,654 INFO L78 Accepts]: Start accepts. Automaton has 30 states. Word has length 55 [2020-07-08 12:30:14,655 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:30:14,655 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 30 states. [2020-07-08 12:30:14,796 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:30:14,797 INFO L459 AbstractCegarLoop]: Interpolant automaton has 30 states [2020-07-08 12:30:14,797 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:30:14,797 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2020-07-08 12:30:14,798 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=793, Unknown=0, NotChecked=0, Total=870 [2020-07-08 12:30:14,798 INFO L87 Difference]: Start difference. First operand 110 states and 135 transitions. Second operand 30 states. [2020-07-08 12:30:47,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:30:47,592 INFO L93 Difference]: Finished difference Result 192 states and 235 transitions. [2020-07-08 12:30:47,592 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2020-07-08 12:30:47,592 INFO L78 Accepts]: Start accepts. Automaton has 30 states. Word has length 55 [2020-07-08 12:30:47,595 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:30:47,595 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2020-07-08 12:30:47,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 143 transitions. [2020-07-08 12:30:47,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2020-07-08 12:30:47,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 143 transitions. [2020-07-08 12:30:47,605 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 143 transitions. [2020-07-08 12:30:47,854 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 143 edges. 143 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:30:47,860 INFO L225 Difference]: With dead ends: 192 [2020-07-08 12:30:47,860 INFO L226 Difference]: Without dead ends: 178 [2020-07-08 12:30:47,862 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 46 SyntacticMatches, 5 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 404 ImplicationChecksByTransitivity, 5.3s TimeCoverageRelationStatistics Valid=176, Invalid=1716, Unknown=0, NotChecked=0, Total=1892 [2020-07-08 12:30:47,863 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 178 states. [2020-07-08 12:30:48,102 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 178 to 152. [2020-07-08 12:30:48,102 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:30:48,102 INFO L82 GeneralOperation]: Start isEquivalent. First operand 178 states. Second operand 152 states. [2020-07-08 12:30:48,102 INFO L74 IsIncluded]: Start isIncluded. First operand 178 states. Second operand 152 states. [2020-07-08 12:30:48,102 INFO L87 Difference]: Start difference. First operand 178 states. Second operand 152 states. [2020-07-08 12:30:48,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:30:48,114 INFO L93 Difference]: Finished difference Result 178 states and 218 transitions. [2020-07-08 12:30:48,114 INFO L276 IsEmpty]: Start isEmpty. Operand 178 states and 218 transitions. [2020-07-08 12:30:48,116 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:30:48,116 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:30:48,116 INFO L74 IsIncluded]: Start isIncluded. First operand 152 states. Second operand 178 states. [2020-07-08 12:30:48,117 INFO L87 Difference]: Start difference. First operand 152 states. Second operand 178 states. [2020-07-08 12:30:48,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:30:48,128 INFO L93 Difference]: Finished difference Result 178 states and 218 transitions. [2020-07-08 12:30:48,129 INFO L276 IsEmpty]: Start isEmpty. Operand 178 states and 218 transitions. [2020-07-08 12:30:48,133 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:30:48,133 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:30:48,133 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:30:48,133 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:30:48,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 152 states. [2020-07-08 12:30:48,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 152 states to 152 states and 188 transitions. [2020-07-08 12:30:48,140 INFO L78 Accepts]: Start accepts. Automaton has 152 states and 188 transitions. Word has length 55 [2020-07-08 12:30:48,141 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:30:48,141 INFO L479 AbstractCegarLoop]: Abstraction has 152 states and 188 transitions. [2020-07-08 12:30:48,141 INFO L480 AbstractCegarLoop]: Interpolant automaton has 30 states. [2020-07-08 12:30:48,141 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 188 transitions. [2020-07-08 12:30:48,142 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2020-07-08 12:30:48,142 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:30:48,143 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 3, 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] [2020-07-08 12:30:48,357 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:30:48,358 INFO L427 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:30:48,359 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:30:48,359 INFO L82 PathProgramCache]: Analyzing trace with hash 1162383005, now seen corresponding path program 1 times [2020-07-08 12:30:48,360 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:30:48,360 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [723555380] [2020-07-08 12:30:48,360 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:30:48,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:48,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:48,431 INFO L280 TraceCheckUtils]: 0: Hoare triple {5365#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {5320#true} is VALID [2020-07-08 12:30:48,432 INFO L280 TraceCheckUtils]: 1: Hoare triple {5320#true} assume true; {5320#true} is VALID [2020-07-08 12:30:48,432 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {5320#true} {5320#true} #180#return; {5320#true} is VALID [2020-07-08 12:30:48,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:48,481 INFO L280 TraceCheckUtils]: 0: Hoare triple {5320#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {5366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:30:48,482 INFO L280 TraceCheckUtils]: 1: Hoare triple {5366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #t~short12 := ~len~1 < ~until; {5366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:30:48,483 INFO L280 TraceCheckUtils]: 2: Hoare triple {5366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {5366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:30:48,483 INFO L280 TraceCheckUtils]: 3: Hoare triple {5366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {5366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:30:48,484 INFO L280 TraceCheckUtils]: 4: Hoare triple {5366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #res := ~len~1; {5367#(or (<= |_get_nondet_int_#res| 2) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:30:48,485 INFO L280 TraceCheckUtils]: 5: Hoare triple {5367#(or (<= |_get_nondet_int_#res| 2) (not (= 2 |_get_nondet_int_#in~from|)))} assume true; {5367#(or (<= |_get_nondet_int_#res| 2) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:30:48,487 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {5367#(or (<= |_get_nondet_int_#res| 2) (not (= 2 |_get_nondet_int_#in~from|)))} {5320#true} #164#return; {5332#(<= |main_#t~ret14| 2)} is VALID [2020-07-08 12:30:48,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:48,519 INFO L280 TraceCheckUtils]: 0: Hoare triple {5368#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {5320#true} is VALID [2020-07-08 12:30:48,519 INFO L280 TraceCheckUtils]: 1: Hoare triple {5320#true} #t~post2 := ~len;~len := #t~post2 - 1; {5320#true} is VALID [2020-07-08 12:30:48,519 INFO L280 TraceCheckUtils]: 2: Hoare triple {5320#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {5320#true} is VALID [2020-07-08 12:30:48,519 INFO L280 TraceCheckUtils]: 3: Hoare triple {5320#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5320#true} is VALID [2020-07-08 12:30:48,520 INFO L280 TraceCheckUtils]: 4: Hoare triple {5320#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {5320#true} is VALID [2020-07-08 12:30:48,520 INFO L280 TraceCheckUtils]: 5: Hoare triple {5320#true} #t~post2 := ~len;~len := #t~post2 - 1; {5320#true} is VALID [2020-07-08 12:30:48,520 INFO L280 TraceCheckUtils]: 6: Hoare triple {5320#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {5320#true} is VALID [2020-07-08 12:30:48,521 INFO L280 TraceCheckUtils]: 7: Hoare triple {5320#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5320#true} is VALID [2020-07-08 12:30:48,521 INFO L280 TraceCheckUtils]: 8: Hoare triple {5320#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {5320#true} is VALID [2020-07-08 12:30:48,521 INFO L280 TraceCheckUtils]: 9: Hoare triple {5320#true} #t~post2 := ~len;~len := #t~post2 - 1; {5320#true} is VALID [2020-07-08 12:30:48,521 INFO L280 TraceCheckUtils]: 10: Hoare triple {5320#true} assume !(#t~post2 > 0);havoc #t~post2; {5320#true} is VALID [2020-07-08 12:30:48,522 INFO L280 TraceCheckUtils]: 11: Hoare triple {5320#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {5320#true} is VALID [2020-07-08 12:30:48,522 INFO L280 TraceCheckUtils]: 12: Hoare triple {5320#true} assume true; {5320#true} is VALID [2020-07-08 12:30:48,523 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {5320#true} {5333#(<= main_~len~2 2)} #166#return; {5333#(<= main_~len~2 2)} is VALID [2020-07-08 12:30:48,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:48,654 INFO L280 TraceCheckUtils]: 0: Hoare triple {5320#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {5369#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} is VALID [2020-07-08 12:30:48,655 INFO L280 TraceCheckUtils]: 1: Hoare triple {5369#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} #t~short12 := ~len~1 < ~until; {5369#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} is VALID [2020-07-08 12:30:48,656 INFO L280 TraceCheckUtils]: 2: Hoare triple {5369#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {5369#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} is VALID [2020-07-08 12:30:48,657 INFO L280 TraceCheckUtils]: 3: Hoare triple {5369#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} assume !!#t~short12;havoc #t~nondet11;havoc #t~short12;#t~post13 := ~len~1;~len~1 := 1 + #t~post13;havoc #t~post13; {5370#(or (and (<= 1 _get_nondet_int_~len~1) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (not (= 0 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:30:48,658 INFO L280 TraceCheckUtils]: 4: Hoare triple {5370#(or (and (<= 1 _get_nondet_int_~len~1) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (not (= 0 |_get_nondet_int_#in~from|)))} #t~short12 := ~len~1 < ~until; {5371#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|) (not |_get_nondet_int_#t~short12|))} is VALID [2020-07-08 12:30:48,659 INFO L280 TraceCheckUtils]: 5: Hoare triple {5371#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|) (not |_get_nondet_int_#t~short12|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {5372#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} is VALID [2020-07-08 12:30:48,659 INFO L280 TraceCheckUtils]: 6: Hoare triple {5372#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {5372#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} is VALID [2020-07-08 12:30:48,660 INFO L280 TraceCheckUtils]: 7: Hoare triple {5372#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} #res := ~len~1; {5372#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} is VALID [2020-07-08 12:30:48,661 INFO L280 TraceCheckUtils]: 8: Hoare triple {5372#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} assume true; {5372#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} is VALID [2020-07-08 12:30:48,662 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {5372#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} {5333#(<= main_~len~2 2)} #168#return; {5321#false} is VALID [2020-07-08 12:30:48,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:48,669 INFO L280 TraceCheckUtils]: 0: Hoare triple {5320#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {5320#true} is VALID [2020-07-08 12:30:48,669 INFO L280 TraceCheckUtils]: 1: Hoare triple {5320#true} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {5320#true} is VALID [2020-07-08 12:30:48,670 INFO L280 TraceCheckUtils]: 2: Hoare triple {5320#true} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {5320#true} is VALID [2020-07-08 12:30:48,670 INFO L280 TraceCheckUtils]: 3: Hoare triple {5320#true} assume !(~head.base != 0 || ~head.offset != 0); {5320#true} is VALID [2020-07-08 12:30:48,670 INFO L280 TraceCheckUtils]: 4: Hoare triple {5320#true} #res := ~len~0; {5320#true} is VALID [2020-07-08 12:30:48,670 INFO L280 TraceCheckUtils]: 5: Hoare triple {5320#true} assume true; {5320#true} is VALID [2020-07-08 12:30:48,671 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {5320#true} {5321#false} #174#return; {5321#false} is VALID [2020-07-08 12:30:48,671 INFO L263 TraceCheckUtils]: 0: Hoare triple {5320#true} call ULTIMATE.init(); {5365#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:30:48,672 INFO L280 TraceCheckUtils]: 1: Hoare triple {5365#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {5320#true} is VALID [2020-07-08 12:30:48,672 INFO L280 TraceCheckUtils]: 2: Hoare triple {5320#true} assume true; {5320#true} is VALID [2020-07-08 12:30:48,672 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {5320#true} {5320#true} #180#return; {5320#true} is VALID [2020-07-08 12:30:48,672 INFO L263 TraceCheckUtils]: 4: Hoare triple {5320#true} call #t~ret24 := main(); {5320#true} is VALID [2020-07-08 12:30:48,672 INFO L263 TraceCheckUtils]: 5: Hoare triple {5320#true} call #t~ret14 := _get_nondet_int(2, 5); {5320#true} is VALID [2020-07-08 12:30:48,673 INFO L280 TraceCheckUtils]: 6: Hoare triple {5320#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {5366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:30:48,674 INFO L280 TraceCheckUtils]: 7: Hoare triple {5366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #t~short12 := ~len~1 < ~until; {5366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:30:48,674 INFO L280 TraceCheckUtils]: 8: Hoare triple {5366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {5366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:30:48,675 INFO L280 TraceCheckUtils]: 9: Hoare triple {5366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {5366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-08 12:30:48,675 INFO L280 TraceCheckUtils]: 10: Hoare triple {5366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #res := ~len~1; {5367#(or (<= |_get_nondet_int_#res| 2) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:30:48,676 INFO L280 TraceCheckUtils]: 11: Hoare triple {5367#(or (<= |_get_nondet_int_#res| 2) (not (= 2 |_get_nondet_int_#in~from|)))} assume true; {5367#(or (<= |_get_nondet_int_#res| 2) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:30:48,677 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {5367#(or (<= |_get_nondet_int_#res| 2) (not (= 2 |_get_nondet_int_#in~from|)))} {5320#true} #164#return; {5332#(<= |main_#t~ret14| 2)} is VALID [2020-07-08 12:30:48,678 INFO L280 TraceCheckUtils]: 13: Hoare triple {5332#(<= |main_#t~ret14| 2)} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {5333#(<= main_~len~2 2)} is VALID [2020-07-08 12:30:48,679 INFO L263 TraceCheckUtils]: 14: Hoare triple {5333#(<= main_~len~2 2)} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {5368#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-08 12:30:48,679 INFO L280 TraceCheckUtils]: 15: Hoare triple {5368#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {5320#true} is VALID [2020-07-08 12:30:48,679 INFO L280 TraceCheckUtils]: 16: Hoare triple {5320#true} #t~post2 := ~len;~len := #t~post2 - 1; {5320#true} is VALID [2020-07-08 12:30:48,680 INFO L280 TraceCheckUtils]: 17: Hoare triple {5320#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {5320#true} is VALID [2020-07-08 12:30:48,680 INFO L280 TraceCheckUtils]: 18: Hoare triple {5320#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5320#true} is VALID [2020-07-08 12:30:48,680 INFO L280 TraceCheckUtils]: 19: Hoare triple {5320#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {5320#true} is VALID [2020-07-08 12:30:48,680 INFO L280 TraceCheckUtils]: 20: Hoare triple {5320#true} #t~post2 := ~len;~len := #t~post2 - 1; {5320#true} is VALID [2020-07-08 12:30:48,680 INFO L280 TraceCheckUtils]: 21: Hoare triple {5320#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {5320#true} is VALID [2020-07-08 12:30:48,680 INFO L280 TraceCheckUtils]: 22: Hoare triple {5320#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5320#true} is VALID [2020-07-08 12:30:48,681 INFO L280 TraceCheckUtils]: 23: Hoare triple {5320#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {5320#true} is VALID [2020-07-08 12:30:48,681 INFO L280 TraceCheckUtils]: 24: Hoare triple {5320#true} #t~post2 := ~len;~len := #t~post2 - 1; {5320#true} is VALID [2020-07-08 12:30:48,681 INFO L280 TraceCheckUtils]: 25: Hoare triple {5320#true} assume !(#t~post2 > 0);havoc #t~post2; {5320#true} is VALID [2020-07-08 12:30:48,681 INFO L280 TraceCheckUtils]: 26: Hoare triple {5320#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {5320#true} is VALID [2020-07-08 12:30:48,681 INFO L280 TraceCheckUtils]: 27: Hoare triple {5320#true} assume true; {5320#true} is VALID [2020-07-08 12:30:48,682 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {5320#true} {5333#(<= main_~len~2 2)} #166#return; {5333#(<= main_~len~2 2)} is VALID [2020-07-08 12:30:48,683 INFO L280 TraceCheckUtils]: 29: Hoare triple {5333#(<= main_~len~2 2)} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {5333#(<= main_~len~2 2)} is VALID [2020-07-08 12:30:48,683 INFO L263 TraceCheckUtils]: 30: Hoare triple {5333#(<= main_~len~2 2)} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {5320#true} is VALID [2020-07-08 12:30:48,684 INFO L280 TraceCheckUtils]: 31: Hoare triple {5320#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {5369#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} is VALID [2020-07-08 12:30:48,685 INFO L280 TraceCheckUtils]: 32: Hoare triple {5369#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} #t~short12 := ~len~1 < ~until; {5369#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} is VALID [2020-07-08 12:30:48,686 INFO L280 TraceCheckUtils]: 33: Hoare triple {5369#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {5369#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} is VALID [2020-07-08 12:30:48,687 INFO L280 TraceCheckUtils]: 34: Hoare triple {5369#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} assume !!#t~short12;havoc #t~nondet11;havoc #t~short12;#t~post13 := ~len~1;~len~1 := 1 + #t~post13;havoc #t~post13; {5370#(or (and (<= 1 _get_nondet_int_~len~1) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (not (= 0 |_get_nondet_int_#in~from|)))} is VALID [2020-07-08 12:30:48,688 INFO L280 TraceCheckUtils]: 35: Hoare triple {5370#(or (and (<= 1 _get_nondet_int_~len~1) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (not (= 0 |_get_nondet_int_#in~from|)))} #t~short12 := ~len~1 < ~until; {5371#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|) (not |_get_nondet_int_#t~short12|))} is VALID [2020-07-08 12:30:48,689 INFO L280 TraceCheckUtils]: 36: Hoare triple {5371#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|) (not |_get_nondet_int_#t~short12|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {5372#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} is VALID [2020-07-08 12:30:48,690 INFO L280 TraceCheckUtils]: 37: Hoare triple {5372#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {5372#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} is VALID [2020-07-08 12:30:48,690 INFO L280 TraceCheckUtils]: 38: Hoare triple {5372#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} #res := ~len~1; {5372#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} is VALID [2020-07-08 12:30:48,691 INFO L280 TraceCheckUtils]: 39: Hoare triple {5372#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} assume true; {5372#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} is VALID [2020-07-08 12:30:48,692 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {5372#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} {5333#(<= main_~len~2 2)} #168#return; {5321#false} is VALID [2020-07-08 12:30:48,693 INFO L280 TraceCheckUtils]: 41: Hoare triple {5321#false} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {5321#false} is VALID [2020-07-08 12:30:48,693 INFO L280 TraceCheckUtils]: 42: Hoare triple {5321#false} #t~short18 := ~i~0 < ~k~0; {5321#false} is VALID [2020-07-08 12:30:48,693 INFO L280 TraceCheckUtils]: 43: Hoare triple {5321#false} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {5321#false} is VALID [2020-07-08 12:30:48,693 INFO L280 TraceCheckUtils]: 44: Hoare triple {5321#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {5321#false} is VALID [2020-07-08 12:30:48,693 INFO L280 TraceCheckUtils]: 45: Hoare triple {5321#false} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {5321#false} is VALID [2020-07-08 12:30:48,693 INFO L263 TraceCheckUtils]: 46: Hoare triple {5321#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {5320#true} is VALID [2020-07-08 12:30:48,694 INFO L280 TraceCheckUtils]: 47: Hoare triple {5320#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {5320#true} is VALID [2020-07-08 12:30:48,694 INFO L280 TraceCheckUtils]: 48: Hoare triple {5320#true} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {5320#true} is VALID [2020-07-08 12:30:48,694 INFO L280 TraceCheckUtils]: 49: Hoare triple {5320#true} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {5320#true} is VALID [2020-07-08 12:30:48,694 INFO L280 TraceCheckUtils]: 50: Hoare triple {5320#true} assume !(~head.base != 0 || ~head.offset != 0); {5320#true} is VALID [2020-07-08 12:30:48,694 INFO L280 TraceCheckUtils]: 51: Hoare triple {5320#true} #res := ~len~0; {5320#true} is VALID [2020-07-08 12:30:48,695 INFO L280 TraceCheckUtils]: 52: Hoare triple {5320#true} assume true; {5320#true} is VALID [2020-07-08 12:30:48,695 INFO L275 TraceCheckUtils]: 53: Hoare quadruple {5320#true} {5321#false} #174#return; {5321#false} is VALID [2020-07-08 12:30:48,695 INFO L280 TraceCheckUtils]: 54: Hoare triple {5321#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {5321#false} is VALID [2020-07-08 12:30:48,695 INFO L280 TraceCheckUtils]: 55: Hoare triple {5321#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~ret22;havoc #t~mem21.base, #t~mem21.offset; {5321#false} is VALID [2020-07-08 12:30:48,695 INFO L280 TraceCheckUtils]: 56: Hoare triple {5321#false} assume !false; {5321#false} is VALID [2020-07-08 12:30:48,700 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2020-07-08 12:30:48,701 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [723555380] [2020-07-08 12:30:48,701 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1390788265] [2020-07-08 12:30:48,701 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:30:48,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:48,812 INFO L264 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 14 conjunts are in the unsatisfiable core [2020-07-08 12:30:48,826 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:30:48,828 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-08 12:30:49,022 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-08 12:30:49,034 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-08 12:30:49,077 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-08 12:30:49,140 INFO L263 TraceCheckUtils]: 0: Hoare triple {5320#true} call ULTIMATE.init(); {5320#true} is VALID [2020-07-08 12:30:49,140 INFO L280 TraceCheckUtils]: 1: Hoare triple {5320#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {5320#true} is VALID [2020-07-08 12:30:49,140 INFO L280 TraceCheckUtils]: 2: Hoare triple {5320#true} assume true; {5320#true} is VALID [2020-07-08 12:30:49,141 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {5320#true} {5320#true} #180#return; {5320#true} is VALID [2020-07-08 12:30:49,141 INFO L263 TraceCheckUtils]: 4: Hoare triple {5320#true} call #t~ret24 := main(); {5320#true} is VALID [2020-07-08 12:30:49,141 INFO L263 TraceCheckUtils]: 5: Hoare triple {5320#true} call #t~ret14 := _get_nondet_int(2, 5); {5320#true} is VALID [2020-07-08 12:30:49,142 INFO L280 TraceCheckUtils]: 6: Hoare triple {5320#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {5394#(<= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-08 12:30:49,142 INFO L280 TraceCheckUtils]: 7: Hoare triple {5394#(<= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} #t~short12 := ~len~1 < ~until; {5394#(<= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-08 12:30:49,142 INFO L280 TraceCheckUtils]: 8: Hoare triple {5394#(<= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {5394#(<= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-08 12:30:49,143 INFO L280 TraceCheckUtils]: 9: Hoare triple {5394#(<= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {5394#(<= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-08 12:30:49,143 INFO L280 TraceCheckUtils]: 10: Hoare triple {5394#(<= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} #res := ~len~1; {5407#(<= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} is VALID [2020-07-08 12:30:49,143 INFO L280 TraceCheckUtils]: 11: Hoare triple {5407#(<= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} assume true; {5407#(<= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} is VALID [2020-07-08 12:30:49,144 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {5407#(<= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} {5320#true} #164#return; {5332#(<= |main_#t~ret14| 2)} is VALID [2020-07-08 12:30:49,145 INFO L280 TraceCheckUtils]: 13: Hoare triple {5332#(<= |main_#t~ret14| 2)} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {5333#(<= main_~len~2 2)} is VALID [2020-07-08 12:30:49,145 INFO L263 TraceCheckUtils]: 14: Hoare triple {5333#(<= main_~len~2 2)} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {5320#true} is VALID [2020-07-08 12:30:49,145 INFO L280 TraceCheckUtils]: 15: Hoare triple {5320#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {5320#true} is VALID [2020-07-08 12:30:49,145 INFO L280 TraceCheckUtils]: 16: Hoare triple {5320#true} #t~post2 := ~len;~len := #t~post2 - 1; {5320#true} is VALID [2020-07-08 12:30:49,145 INFO L280 TraceCheckUtils]: 17: Hoare triple {5320#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {5320#true} is VALID [2020-07-08 12:30:49,145 INFO L280 TraceCheckUtils]: 18: Hoare triple {5320#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5320#true} is VALID [2020-07-08 12:30:49,146 INFO L280 TraceCheckUtils]: 19: Hoare triple {5320#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {5320#true} is VALID [2020-07-08 12:30:49,146 INFO L280 TraceCheckUtils]: 20: Hoare triple {5320#true} #t~post2 := ~len;~len := #t~post2 - 1; {5320#true} is VALID [2020-07-08 12:30:49,146 INFO L280 TraceCheckUtils]: 21: Hoare triple {5320#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {5320#true} is VALID [2020-07-08 12:30:49,146 INFO L280 TraceCheckUtils]: 22: Hoare triple {5320#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5320#true} is VALID [2020-07-08 12:30:49,146 INFO L280 TraceCheckUtils]: 23: Hoare triple {5320#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {5320#true} is VALID [2020-07-08 12:30:49,146 INFO L280 TraceCheckUtils]: 24: Hoare triple {5320#true} #t~post2 := ~len;~len := #t~post2 - 1; {5320#true} is VALID [2020-07-08 12:30:49,146 INFO L280 TraceCheckUtils]: 25: Hoare triple {5320#true} assume !(#t~post2 > 0);havoc #t~post2; {5320#true} is VALID [2020-07-08 12:30:49,146 INFO L280 TraceCheckUtils]: 26: Hoare triple {5320#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {5320#true} is VALID [2020-07-08 12:30:49,147 INFO L280 TraceCheckUtils]: 27: Hoare triple {5320#true} assume true; {5320#true} is VALID [2020-07-08 12:30:49,147 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {5320#true} {5333#(<= main_~len~2 2)} #166#return; {5333#(<= main_~len~2 2)} is VALID [2020-07-08 12:30:49,148 INFO L280 TraceCheckUtils]: 29: Hoare triple {5333#(<= main_~len~2 2)} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {5333#(<= main_~len~2 2)} is VALID [2020-07-08 12:30:49,148 INFO L263 TraceCheckUtils]: 30: Hoare triple {5333#(<= main_~len~2 2)} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {5320#true} is VALID [2020-07-08 12:30:49,148 INFO L280 TraceCheckUtils]: 31: Hoare triple {5320#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {5471#(and (<= _get_nondet_int_~until |_get_nondet_int_#in~until|) (<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1))} is VALID [2020-07-08 12:30:49,149 INFO L280 TraceCheckUtils]: 32: Hoare triple {5471#(and (<= _get_nondet_int_~until |_get_nondet_int_#in~until|) (<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1))} #t~short12 := ~len~1 < ~until; {5471#(and (<= _get_nondet_int_~until |_get_nondet_int_#in~until|) (<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1))} is VALID [2020-07-08 12:30:49,150 INFO L280 TraceCheckUtils]: 33: Hoare triple {5471#(and (<= _get_nondet_int_~until |_get_nondet_int_#in~until|) (<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {5471#(and (<= _get_nondet_int_~until |_get_nondet_int_#in~until|) (<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1))} is VALID [2020-07-08 12:30:49,150 INFO L280 TraceCheckUtils]: 34: Hoare triple {5471#(and (<= _get_nondet_int_~until |_get_nondet_int_#in~until|) (<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1))} assume !!#t~short12;havoc #t~nondet11;havoc #t~short12;#t~post13 := ~len~1;~len~1 := 1 + #t~post13;havoc #t~post13; {5481#(and (<= _get_nondet_int_~until |_get_nondet_int_#in~until|) (<= (+ |_get_nondet_int_#in~from| 1) _get_nondet_int_~len~1))} is VALID [2020-07-08 12:30:49,151 INFO L280 TraceCheckUtils]: 35: Hoare triple {5481#(and (<= _get_nondet_int_~until |_get_nondet_int_#in~until|) (<= (+ |_get_nondet_int_#in~from| 1) _get_nondet_int_~len~1))} #t~short12 := ~len~1 < ~until; {5485#(or (<= (+ |_get_nondet_int_#in~from| 2) |_get_nondet_int_#in~until|) (not |_get_nondet_int_#t~short12|))} is VALID [2020-07-08 12:30:49,152 INFO L280 TraceCheckUtils]: 36: Hoare triple {5485#(or (<= (+ |_get_nondet_int_#in~from| 2) |_get_nondet_int_#in~until|) (not |_get_nondet_int_#t~short12|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {5489#(<= (+ |_get_nondet_int_#in~from| 2) |_get_nondet_int_#in~until|)} is VALID [2020-07-08 12:30:49,152 INFO L280 TraceCheckUtils]: 37: Hoare triple {5489#(<= (+ |_get_nondet_int_#in~from| 2) |_get_nondet_int_#in~until|)} assume !#t~short12;havoc #t~nondet11;havoc #t~short12; {5489#(<= (+ |_get_nondet_int_#in~from| 2) |_get_nondet_int_#in~until|)} is VALID [2020-07-08 12:30:49,152 INFO L280 TraceCheckUtils]: 38: Hoare triple {5489#(<= (+ |_get_nondet_int_#in~from| 2) |_get_nondet_int_#in~until|)} #res := ~len~1; {5489#(<= (+ |_get_nondet_int_#in~from| 2) |_get_nondet_int_#in~until|)} is VALID [2020-07-08 12:30:49,153 INFO L280 TraceCheckUtils]: 39: Hoare triple {5489#(<= (+ |_get_nondet_int_#in~from| 2) |_get_nondet_int_#in~until|)} assume true; {5489#(<= (+ |_get_nondet_int_#in~from| 2) |_get_nondet_int_#in~until|)} is VALID [2020-07-08 12:30:49,154 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {5489#(<= (+ |_get_nondet_int_#in~from| 2) |_get_nondet_int_#in~until|)} {5333#(<= main_~len~2 2)} #168#return; {5321#false} is VALID [2020-07-08 12:30:49,154 INFO L280 TraceCheckUtils]: 41: Hoare triple {5321#false} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {5321#false} is VALID [2020-07-08 12:30:49,154 INFO L280 TraceCheckUtils]: 42: Hoare triple {5321#false} #t~short18 := ~i~0 < ~k~0; {5321#false} is VALID [2020-07-08 12:30:49,154 INFO L280 TraceCheckUtils]: 43: Hoare triple {5321#false} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {5321#false} is VALID [2020-07-08 12:30:49,154 INFO L280 TraceCheckUtils]: 44: Hoare triple {5321#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {5321#false} is VALID [2020-07-08 12:30:49,154 INFO L280 TraceCheckUtils]: 45: Hoare triple {5321#false} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {5321#false} is VALID [2020-07-08 12:30:49,155 INFO L263 TraceCheckUtils]: 46: Hoare triple {5321#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {5321#false} is VALID [2020-07-08 12:30:49,155 INFO L280 TraceCheckUtils]: 47: Hoare triple {5321#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {5321#false} is VALID [2020-07-08 12:30:49,155 INFO L280 TraceCheckUtils]: 48: Hoare triple {5321#false} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {5321#false} is VALID [2020-07-08 12:30:49,155 INFO L280 TraceCheckUtils]: 49: Hoare triple {5321#false} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {5321#false} is VALID [2020-07-08 12:30:49,155 INFO L280 TraceCheckUtils]: 50: Hoare triple {5321#false} assume !(~head.base != 0 || ~head.offset != 0); {5321#false} is VALID [2020-07-08 12:30:49,155 INFO L280 TraceCheckUtils]: 51: Hoare triple {5321#false} #res := ~len~0; {5321#false} is VALID [2020-07-08 12:30:49,156 INFO L280 TraceCheckUtils]: 52: Hoare triple {5321#false} assume true; {5321#false} is VALID [2020-07-08 12:30:49,156 INFO L275 TraceCheckUtils]: 53: Hoare quadruple {5321#false} {5321#false} #174#return; {5321#false} is VALID [2020-07-08 12:30:49,156 INFO L280 TraceCheckUtils]: 54: Hoare triple {5321#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {5321#false} is VALID [2020-07-08 12:30:49,158 INFO L280 TraceCheckUtils]: 55: Hoare triple {5321#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~ret22;havoc #t~mem21.base, #t~mem21.offset; {5321#false} is VALID [2020-07-08 12:30:49,159 INFO L280 TraceCheckUtils]: 56: Hoare triple {5321#false} assume !false; {5321#false} is VALID [2020-07-08 12:30:49,162 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 1 proven. 11 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2020-07-08 12:30:49,162 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-08 12:30:49,163 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 18 [2020-07-08 12:30:49,163 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [324609587] [2020-07-08 12:30:49,163 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 57 [2020-07-08 12:30:49,165 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:30:49,165 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-08 12:30:49,264 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 12:30:49,265 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-08 12:30:49,265 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:30:49,265 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-08 12:30:49,266 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=266, Unknown=0, NotChecked=0, Total=306 [2020-07-08 12:30:49,266 INFO L87 Difference]: Start difference. First operand 152 states and 188 transitions. Second operand 18 states. [2020-07-08 12:30:53,635 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:30:53,635 INFO L93 Difference]: Finished difference Result 315 states and 408 transitions. [2020-07-08 12:30:53,635 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-08 12:30:53,636 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 57 [2020-07-08 12:30:53,636 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:30:53,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-08 12:30:53,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 168 transitions. [2020-07-08 12:30:53,640 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-08 12:30:53,644 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 168 transitions. [2020-07-08 12:30:53,644 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 168 transitions. [2020-07-08 12:30:53,958 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 168 edges. 168 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:30:53,966 INFO L225 Difference]: With dead ends: 315 [2020-07-08 12:30:53,966 INFO L226 Difference]: Without dead ends: 214 [2020-07-08 12:30:53,967 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 60 SyntacticMatches, 0 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 109 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=203, Invalid=789, Unknown=0, NotChecked=0, Total=992 [2020-07-08 12:30:53,968 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 214 states. [2020-07-08 12:30:54,268 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 214 to 176. [2020-07-08 12:30:54,268 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:30:54,268 INFO L82 GeneralOperation]: Start isEquivalent. First operand 214 states. Second operand 176 states. [2020-07-08 12:30:54,268 INFO L74 IsIncluded]: Start isIncluded. First operand 214 states. Second operand 176 states. [2020-07-08 12:30:54,268 INFO L87 Difference]: Start difference. First operand 214 states. Second operand 176 states. [2020-07-08 12:30:54,290 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:30:54,290 INFO L93 Difference]: Finished difference Result 214 states and 283 transitions. [2020-07-08 12:30:54,290 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 283 transitions. [2020-07-08 12:30:54,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:30:54,294 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:30:54,294 INFO L74 IsIncluded]: Start isIncluded. First operand 176 states. Second operand 214 states. [2020-07-08 12:30:54,294 INFO L87 Difference]: Start difference. First operand 176 states. Second operand 214 states. [2020-07-08 12:30:54,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:30:54,303 INFO L93 Difference]: Finished difference Result 214 states and 283 transitions. [2020-07-08 12:30:54,303 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 283 transitions. [2020-07-08 12:30:54,304 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:30:54,305 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:30:54,305 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:30:54,305 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:30:54,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 176 states. [2020-07-08 12:30:54,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 176 states to 176 states and 223 transitions. [2020-07-08 12:30:54,311 INFO L78 Accepts]: Start accepts. Automaton has 176 states and 223 transitions. Word has length 57 [2020-07-08 12:30:54,311 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:30:54,311 INFO L479 AbstractCegarLoop]: Abstraction has 176 states and 223 transitions. [2020-07-08 12:30:54,311 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-08 12:30:54,311 INFO L276 IsEmpty]: Start isEmpty. Operand 176 states and 223 transitions. [2020-07-08 12:30:54,314 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2020-07-08 12:30:54,314 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:30:54,314 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 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] [2020-07-08 12:30:54,528 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:30:54,529 INFO L427 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:30:54,530 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:30:54,530 INFO L82 PathProgramCache]: Analyzing trace with hash 1585084831, now seen corresponding path program 1 times [2020-07-08 12:30:54,530 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:30:54,531 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [11123683] [2020-07-08 12:30:54,531 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:30:54,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-08 12:30:54,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-08 12:30:54,629 INFO L174 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2020-07-08 12:30:54,632 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-08 12:30:54,632 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-08 12:30:54,721 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-08 12:30:54,721 WARN L170 areAnnotationChecker]: myexitENTRY has no Hoare annotation [2020-07-08 12:30:54,721 WARN L170 areAnnotationChecker]: sll_destroyENTRY has no Hoare annotation [2020-07-08 12:30:54,721 WARN L170 areAnnotationChecker]: _get_nondet_intENTRY has no Hoare annotation [2020-07-08 12:30:54,721 WARN L170 areAnnotationChecker]: __bswap_32ENTRY has no Hoare annotation [2020-07-08 12:30:54,721 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-08 12:30:54,721 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-08 12:30:54,721 WARN L170 areAnnotationChecker]: __bswap_64ENTRY has no Hoare annotation [2020-07-08 12:30:54,722 WARN L170 areAnnotationChecker]: sll_createENTRY has no Hoare annotation [2020-07-08 12:30:54,722 WARN L170 areAnnotationChecker]: sll_insertENTRY has no Hoare annotation [2020-07-08 12:30:54,722 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-08 12:30:54,722 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-08 12:30:54,722 WARN L170 areAnnotationChecker]: sll_lengthENTRY has no Hoare annotation [2020-07-08 12:30:54,722 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-08 12:30:54,722 WARN L170 areAnnotationChecker]: L561 has no Hoare annotation [2020-07-08 12:30:54,722 WARN L170 areAnnotationChecker]: L584-2 has no Hoare annotation [2020-07-08 12:30:54,722 WARN L170 areAnnotationChecker]: L584-2 has no Hoare annotation [2020-07-08 12:30:54,722 WARN L170 areAnnotationChecker]: L584-2 has no Hoare annotation [2020-07-08 12:30:54,722 WARN L170 areAnnotationChecker]: L610-5 has no Hoare annotation [2020-07-08 12:30:54,723 WARN L170 areAnnotationChecker]: L610-5 has no Hoare annotation [2020-07-08 12:30:54,724 WARN L170 areAnnotationChecker]: __bswap_32FINAL has no Hoare annotation [2020-07-08 12:30:54,724 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-08 12:30:54,724 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-08 12:30:54,724 WARN L170 areAnnotationChecker]: __bswap_64FINAL has no Hoare annotation [2020-07-08 12:30:54,724 WARN L170 areAnnotationChecker]: L565-3 has no Hoare annotation [2020-07-08 12:30:54,724 WARN L170 areAnnotationChecker]: L565-3 has no Hoare annotation [2020-07-08 12:30:54,724 WARN L170 areAnnotationChecker]: L592 has no Hoare annotation [2020-07-08 12:30:54,724 WARN L170 areAnnotationChecker]: L592 has no Hoare annotation [2020-07-08 12:30:54,725 WARN L170 areAnnotationChecker]: L616 has no Hoare annotation [2020-07-08 12:30:54,725 WARN L170 areAnnotationChecker]: L577-2 has no Hoare annotation [2020-07-08 12:30:54,725 WARN L170 areAnnotationChecker]: L577-2 has no Hoare annotation [2020-07-08 12:30:54,725 WARN L170 areAnnotationChecker]: L577-2 has no Hoare annotation [2020-07-08 12:30:54,725 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-08 12:30:54,725 WARN L170 areAnnotationChecker]: L584-3 has no Hoare annotation [2020-07-08 12:30:54,725 WARN L170 areAnnotationChecker]: L610-6 has no Hoare annotation [2020-07-08 12:30:54,725 WARN L170 areAnnotationChecker]: L610-1 has no Hoare annotation [2020-07-08 12:30:54,725 WARN L170 areAnnotationChecker]: L610-1 has no Hoare annotation [2020-07-08 12:30:54,725 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-08 12:30:54,726 WARN L170 areAnnotationChecker]: L565-4 has no Hoare annotation [2020-07-08 12:30:54,726 WARN L170 areAnnotationChecker]: L565-1 has no Hoare annotation [2020-07-08 12:30:54,726 WARN L170 areAnnotationChecker]: L565-1 has no Hoare annotation [2020-07-08 12:30:54,726 WARN L170 areAnnotationChecker]: L593 has no Hoare annotation [2020-07-08 12:30:54,726 WARN L170 areAnnotationChecker]: L593 has no Hoare annotation [2020-07-08 12:30:54,726 WARN L170 areAnnotationChecker]: L592-1 has no Hoare annotation [2020-07-08 12:30:54,726 WARN L170 areAnnotationChecker]: L617 has no Hoare annotation [2020-07-08 12:30:54,726 WARN L170 areAnnotationChecker]: L617 has no Hoare annotation [2020-07-08 12:30:54,726 WARN L170 areAnnotationChecker]: L577-3 has no Hoare annotation [2020-07-08 12:30:54,726 WARN L170 areAnnotationChecker]: sll_destroyEXIT has no Hoare annotation [2020-07-08 12:30:54,727 WARN L170 areAnnotationChecker]: _get_nondet_intFINAL has no Hoare annotation [2020-07-08 12:30:54,727 WARN L170 areAnnotationChecker]: L610-3 has no Hoare annotation [2020-07-08 12:30:54,727 WARN L170 areAnnotationChecker]: L610-3 has no Hoare annotation [2020-07-08 12:30:54,727 WARN L170 areAnnotationChecker]: sll_createFINAL has no Hoare annotation [2020-07-08 12:30:54,727 WARN L170 areAnnotationChecker]: L567 has no Hoare annotation [2020-07-08 12:30:54,727 WARN L170 areAnnotationChecker]: L567 has no Hoare annotation [2020-07-08 12:30:54,727 WARN L170 areAnnotationChecker]: L597-3 has no Hoare annotation [2020-07-08 12:30:54,727 WARN L170 areAnnotationChecker]: L597-3 has no Hoare annotation [2020-07-08 12:30:54,727 WARN L170 areAnnotationChecker]: L617-1 has no Hoare annotation [2020-07-08 12:30:54,727 WARN L170 areAnnotationChecker]: sll_lengthFINAL has no Hoare annotation [2020-07-08 12:30:54,728 WARN L170 areAnnotationChecker]: L628-1 has no Hoare annotation [2020-07-08 12:30:54,728 WARN L170 areAnnotationChecker]: _get_nondet_intEXIT has no Hoare annotation [2020-07-08 12:30:54,728 WARN L170 areAnnotationChecker]: _get_nondet_intEXIT has no Hoare annotation [2020-07-08 12:30:54,728 WARN L170 areAnnotationChecker]: _get_nondet_intEXIT has no Hoare annotation [2020-07-08 12:30:54,728 WARN L170 areAnnotationChecker]: sll_createEXIT has no Hoare annotation [2020-07-08 12:30:54,728 WARN L170 areAnnotationChecker]: L568 has no Hoare annotation [2020-07-08 12:30:54,728 WARN L170 areAnnotationChecker]: L568 has no Hoare annotation [2020-07-08 12:30:54,728 WARN L170 areAnnotationChecker]: L567-1 has no Hoare annotation [2020-07-08 12:30:54,728 WARN L170 areAnnotationChecker]: L597-4 has no Hoare annotation [2020-07-08 12:30:54,729 WARN L170 areAnnotationChecker]: L597-1 has no Hoare annotation [2020-07-08 12:30:54,729 WARN L170 areAnnotationChecker]: L597-1 has no Hoare annotation [2020-07-08 12:30:54,729 WARN L170 areAnnotationChecker]: L618 has no Hoare annotation [2020-07-08 12:30:54,729 WARN L170 areAnnotationChecker]: L618 has no Hoare annotation [2020-07-08 12:30:54,729 WARN L170 areAnnotationChecker]: sll_lengthEXIT has no Hoare annotation [2020-07-08 12:30:54,729 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-08 12:30:54,729 WARN L170 areAnnotationChecker]: L618-1 has no Hoare annotation [2020-07-08 12:30:54,729 WARN L170 areAnnotationChecker]: L621-1 has no Hoare annotation [2020-07-08 12:30:54,729 WARN L170 areAnnotationChecker]: L602 has no Hoare annotation [2020-07-08 12:30:54,730 WARN L170 areAnnotationChecker]: L602 has no Hoare annotation [2020-07-08 12:30:54,730 WARN L170 areAnnotationChecker]: L625-1 has no Hoare annotation [2020-07-08 12:30:54,730 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-08 12:30:54,730 WARN L170 areAnnotationChecker]: L620-5 has no Hoare annotation [2020-07-08 12:30:54,730 WARN L170 areAnnotationChecker]: L620-5 has no Hoare annotation [2020-07-08 12:30:54,730 WARN L170 areAnnotationChecker]: L622 has no Hoare annotation [2020-07-08 12:30:54,730 WARN L170 areAnnotationChecker]: L622 has no Hoare annotation [2020-07-08 12:30:54,730 WARN L170 areAnnotationChecker]: L602-2 has no Hoare annotation [2020-07-08 12:30:54,730 WARN L170 areAnnotationChecker]: L625-2 has no Hoare annotation [2020-07-08 12:30:54,730 WARN L170 areAnnotationChecker]: L625-2 has no Hoare annotation [2020-07-08 12:30:54,731 WARN L170 areAnnotationChecker]: L620-6 has no Hoare annotation [2020-07-08 12:30:54,731 WARN L170 areAnnotationChecker]: L620-1 has no Hoare annotation [2020-07-08 12:30:54,731 WARN L170 areAnnotationChecker]: L620-1 has no Hoare annotation [2020-07-08 12:30:54,731 WARN L170 areAnnotationChecker]: L622-1 has no Hoare annotation [2020-07-08 12:30:54,731 WARN L170 areAnnotationChecker]: sll_insertEXIT has no Hoare annotation [2020-07-08 12:30:54,731 WARN L170 areAnnotationChecker]: L626 has no Hoare annotation [2020-07-08 12:30:54,731 WARN L170 areAnnotationChecker]: L626 has no Hoare annotation [2020-07-08 12:30:54,731 WARN L170 areAnnotationChecker]: L628 has no Hoare annotation [2020-07-08 12:30:54,731 WARN L170 areAnnotationChecker]: L628 has no Hoare annotation [2020-07-08 12:30:54,732 WARN L170 areAnnotationChecker]: L625 has no Hoare annotation [2020-07-08 12:30:54,732 WARN L170 areAnnotationChecker]: L625 has no Hoare annotation [2020-07-08 12:30:54,732 WARN L170 areAnnotationChecker]: L620-3 has no Hoare annotation [2020-07-08 12:30:54,732 WARN L170 areAnnotationChecker]: L620-3 has no Hoare annotation [2020-07-08 12:30:54,732 WARN L170 areAnnotationChecker]: L621 has no Hoare annotation [2020-07-08 12:30:54,732 WARN L170 areAnnotationChecker]: L621 has no Hoare annotation [2020-07-08 12:30:54,732 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 12:30:54,736 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.07 12:30:54 BoogieIcfgContainer [2020-07-08 12:30:54,736 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-08 12:30:54,738 INFO L168 Benchmark]: Toolchain (without parser) took 151430.28 ms. Allocated memory was 135.8 MB in the beginning and 408.9 MB in the end (delta: 273.2 MB). Free memory was 99.3 MB in the beginning and 266.1 MB in the end (delta: -166.8 MB). Peak memory consumption was 106.3 MB. Max. memory is 7.1 GB. [2020-07-08 12:30:54,739 INFO L168 Benchmark]: CDTParser took 0.54 ms. Allocated memory is still 135.8 MB. Free memory is still 118.5 MB. There was no memory consumed. Max. memory is 7.1 GB. [2020-07-08 12:30:54,742 INFO L168 Benchmark]: CACSL2BoogieTranslator took 655.46 ms. Allocated memory was 135.8 MB in the beginning and 199.8 MB in the end (delta: 64.0 MB). Free memory was 98.8 MB in the beginning and 161.0 MB in the end (delta: -62.1 MB). Peak memory consumption was 23.9 MB. Max. memory is 7.1 GB. [2020-07-08 12:30:54,748 INFO L168 Benchmark]: Boogie Preprocessor took 93.04 ms. Allocated memory is still 199.8 MB. Free memory was 161.0 MB in the beginning and 157.8 MB in the end (delta: 3.1 MB). Peak memory consumption was 3.1 MB. Max. memory is 7.1 GB. [2020-07-08 12:30:54,748 INFO L168 Benchmark]: RCFGBuilder took 916.46 ms. Allocated memory is still 199.8 MB. Free memory was 156.8 MB in the beginning and 87.7 MB in the end (delta: 69.0 MB). Peak memory consumption was 69.0 MB. Max. memory is 7.1 GB. [2020-07-08 12:30:54,749 INFO L168 Benchmark]: TraceAbstraction took 149756.21 ms. Allocated memory was 199.8 MB in the beginning and 408.9 MB in the end (delta: 209.2 MB). Free memory was 87.7 MB in the beginning and 266.1 MB in the end (delta: -178.4 MB). Peak memory consumption was 30.8 MB. Max. memory is 7.1 GB. [2020-07-08 12:30:54,757 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.54 ms. Allocated memory is still 135.8 MB. Free memory is still 118.5 MB. There was no memory consumed. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 655.46 ms. Allocated memory was 135.8 MB in the beginning and 199.8 MB in the end (delta: 64.0 MB). Free memory was 98.8 MB in the beginning and 161.0 MB in the end (delta: -62.1 MB). Peak memory consumption was 23.9 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 93.04 ms. Allocated memory is still 199.8 MB. Free memory was 161.0 MB in the beginning and 157.8 MB in the end (delta: 3.1 MB). Peak memory consumption was 3.1 MB. Max. memory is 7.1 GB. * RCFGBuilder took 916.46 ms. Allocated memory is still 199.8 MB. Free memory was 156.8 MB in the beginning and 87.7 MB in the end (delta: 69.0 MB). Peak memory consumption was 69.0 MB. Max. memory is 7.1 GB. * TraceAbstraction took 149756.21 ms. Allocated memory was 199.8 MB in the beginning and 408.9 MB in the end (delta: 209.2 MB). Free memory was 87.7 MB in the beginning and 266.1 MB in the end (delta: -178.4 MB). Peak memory consumption was 30.8 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 630]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L616] CALL, EXPR _get_nondet_int(2, 5) VAL [\old(from)=2, \old(until)=5] [L609] int len = from; VAL [\old(from)=2, \old(until)=5, from=2, len=2, until=5] [L610] len < until && __VERIFIER_nondet_int() [L610] len < until && __VERIFIER_nondet_int() VAL [\old(from)=2, \old(until)=5, __VERIFIER_nondet_int()=0, from=2, len=2, len < until && __VERIFIER_nondet_int()=0, until=5] [L610] COND FALSE !(len < until && __VERIFIER_nondet_int()) [L613] return len; VAL [\old(from)=2, \old(until)=5, \result=2, from=2, len=2, until=5] [L616] RET, EXPR _get_nondet_int(2, 5) VAL [_get_nondet_int(2, 5)=2] [L616] const int len = _get_nondet_int(2, 5); [L617] SLL s = sll_create(len); VAL [len=2, s={2:0}] [L617] CALL, EXPR sll_create(len) VAL [\old(len)=2] [L564] SLL head = ((void *)0); VAL [\old(len)=2, head={0:0}, len=2] [L565] EXPR len-- VAL [\old(len)=2, head={0:0}, len=1, len--=2] [L565] COND TRUE len-- > 0 [L566] SLL new_head = (SLL) malloc(sizeof(struct node)); VAL [\old(len)=2, head={0:0}, len=1, malloc(sizeof(struct node))={-1:0}, new_head={-1:0}] [L567] COND FALSE !(((void *)0) == new_head) VAL [\old(len)=2, head={0:0}, len=1, malloc(sizeof(struct node))={-1:0}, new_head={-1:0}] [L570] new_head->next = head [L571] head = new_head VAL [\old(len)=2, head={-1:0}, len=1, malloc(sizeof(struct node))={-1:0}, new_head={-1:0}] [L565] EXPR len-- VAL [\old(len)=2, head={-1:0}, len=0, len--=1, malloc(sizeof(struct node))={-1:0}, new_head={-1:0}] [L565] COND TRUE len-- > 0 [L566] SLL new_head = (SLL) malloc(sizeof(struct node)); VAL [\old(len)=2, head={-1:0}, len=0, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L567] COND FALSE !(((void *)0) == new_head) VAL [\old(len)=2, head={-1:0}, len=0, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L570] new_head->next = head [L571] head = new_head VAL [\old(len)=2, head={-2:0}, len=0, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L565] EXPR len-- VAL [\old(len)=2, head={-2:0}, len=-1, len--=0, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L565] COND FALSE !(len-- > 0) [L573] return head; VAL [\old(len)=2, \result={-2:0}, head={-2:0}, len=-1, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L617] RET, EXPR sll_create(len) VAL [len=2, s={2:0}, sll_create(len)={-2:0}] [L617] SLL s = sll_create(len); [L618] CALL, EXPR _get_nondet_int(0, len - 1) VAL [\old(from)=0, \old(until)=1] [L609] int len = from; VAL [\old(from)=0, \old(until)=1, from=0, len=0, until=1] [L610] len < until && __VERIFIER_nondet_int() [L610] len < until && __VERIFIER_nondet_int() VAL [\old(from)=0, \old(until)=1, __VERIFIER_nondet_int()=3, from=0, len=0, len < until && __VERIFIER_nondet_int()=1, until=1] [L610] COND TRUE len < until && __VERIFIER_nondet_int() [L611] len++ VAL [\old(from)=0, \old(until)=1, from=0, len=1, until=1] [L610] len < until && __VERIFIER_nondet_int() VAL [\old(from)=0, \old(until)=1, from=0, len=1, len < until && __VERIFIER_nondet_int()=0, until=1] [L610] COND FALSE !(len < until && __VERIFIER_nondet_int()) [L613] return len; VAL [\old(from)=0, \old(until)=1, \result=1, from=0, len=1, until=1] [L618] RET, EXPR _get_nondet_int(0, len - 1) VAL [_get_nondet_int(0, len - 1)=1, len=2, s={2:0}] [L618] const int k = _get_nondet_int(0, len - 1); [L619] int i = 0; VAL [i=0, k=1, len=2, s={2:0}] [L620] i < k && __VERIFIER_nondet_int() [L620] i < k && __VERIFIER_nondet_int() VAL [__VERIFIER_nondet_int()=0, i=0, i < k && __VERIFIER_nondet_int()=0, k=1, len=2, s={2:0}] [L620] COND FALSE !(i < k && __VERIFIER_nondet_int()) [L625] EXPR \read(s) VAL [\read(s)={-2:0}, i=0, k=1, len=2, s={2:0}] [L625] CALL, EXPR sll_length(s) VAL [head={-2:0}] [L576] int len = 0; VAL [head={-2:0}, head={-2:0}, len=0] [L577] COND TRUE \read(head) [L578] len++ [L579] EXPR head->next [L579] head = head->next [L577] COND TRUE \read(head) [L578] len++ [L579] EXPR head->next [L579] head = head->next [L577] COND FALSE !(\read(head)) VAL [head={-2:0}, head={0:0}, len=2] [L581] return len; VAL [\result=2, head={-2:0}, head={0:0}, len=2] [L625] RET, EXPR sll_length(s) VAL [\read(s)={-2:0}, i=0, k=1, len=2, s={2:0}, sll_length(s)=2] [L625] COND TRUE k + len != sll_length(s) [L630] __VERIFIER_error() VAL [i=0, k=1, len=2, s={2:0}] - StatisticsResult: Ultimate Automizer benchmark data CFG has 11 procedures, 74 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 149.5s, OverallIterations: 10, TraceHistogramMax: 3, AutomataDifference: 128.3s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 527 SDtfs, 777 SDslu, 3327 SDs, 0 SdLazy, 4501 SolverSat, 351 SolverUnsat, 6 SolverUnknown, 0 SolverNotchecked, 21.7s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 581 GetRequests, 361 SyntacticMatches, 9 SemanticMatches, 211 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 1005 ImplicationChecksByTransitivity, 16.4s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=176occurred in iteration=9, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.4s AutomataMinimizationTime, 9 MinimizatonAttempts, 190 StatesRemovedByMinimization, 8 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 16.3s InterpolantComputationTime, 821 NumberOfCodeBlocks, 821 NumberOfCodeBlocksAsserted, 20 NumberOfCheckSat, 749 ConstructedInterpolants, 30 QuantifiedInterpolants, 304989 SizeOfPredicates, 51 NumberOfNonLiveVariables, 1249 ConjunctsInSsa, 178 ConjunctsInUnsatCore, 15 InterpolantComputations, 4 PerfectInterpolantSequences, 138/226 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! [MP z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forcibly destroying the process Received shutdown request...