java -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data --generate-csv --csv-dir csv -tc ../../../trunk/examples/toolchains/AutomizerBplTransformed.xml -s ../../../trunk/examples/settings/heapseparator/heapsep-2018-09-18.epf -i ../../../trunk/examples/programs/20181010-MemSafetyPathprograms/lis_unsafe_false-valid-deref.i_11.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.23-b8f97f7-m [2018-10-10 16:38:07,093 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-10-10 16:38:07,096 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-10-10 16:38:07,108 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-10-10 16:38:07,108 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-10-10 16:38:07,111 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-10-10 16:38:07,112 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-10-10 16:38:07,115 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-10-10 16:38:07,118 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-10-10 16:38:07,120 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-10-10 16:38:07,121 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-10-10 16:38:07,123 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-10-10 16:38:07,124 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-10-10 16:38:07,127 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-10-10 16:38:07,130 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-10-10 16:38:07,131 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-10-10 16:38:07,132 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-10-10 16:38:07,134 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-10-10 16:38:07,142 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-10-10 16:38:07,149 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-10-10 16:38:07,150 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-10-10 16:38:07,154 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-10-10 16:38:07,157 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-10-10 16:38:07,157 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-10-10 16:38:07,157 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-10-10 16:38:07,159 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-10-10 16:38:07,160 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-10-10 16:38:07,162 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-10-10 16:38:07,163 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-10-10 16:38:07,167 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-10-10 16:38:07,167 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-10-10 16:38:07,168 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-10-10 16:38:07,168 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-10-10 16:38:07,169 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-10-10 16:38:07,170 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-10-10 16:38:07,172 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-10-10 16:38:07,173 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/heapseparator/heapsep-2018-09-18.epf [2018-10-10 16:38:07,188 INFO L110 SettingsManager]: Loading preferences was successful [2018-10-10 16:38:07,188 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-10-10 16:38:07,190 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-10-10 16:38:07,190 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=VPDomain [2018-10-10 16:38:07,191 INFO L133 SettingsManager]: * Parallel states before merging=1 [2018-10-10 16:38:07,191 INFO L133 SettingsManager]: * Use the RCFG-of-the-future interface=true [2018-10-10 16:38:07,194 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-10-10 16:38:07,195 INFO L133 SettingsManager]: * Size of a code block=SingleStatement [2018-10-10 16:38:07,195 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-10-10 16:38:07,195 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_TreeInterpolation [2018-10-10 16:38:07,195 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-10-10 16:38:07,196 INFO L133 SettingsManager]: * Order in Petri net unfolding=Ken McMillan [2018-10-10 16:38:07,196 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2018-10-10 16:38:07,198 INFO L131 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2018-10-10 16:38:07,198 INFO L133 SettingsManager]: * TransformationType=HEAP_SEPARATOR [2018-10-10 16:38:07,268 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-10-10 16:38:07,286 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-10-10 16:38:07,294 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-10-10 16:38:07,296 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2018-10-10 16:38:07,297 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2018-10-10 16:38:07,298 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/20181010-MemSafetyPathprograms/lis_unsafe_false-valid-deref.i_11.bpl [2018-10-10 16:38:07,298 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/20181010-MemSafetyPathprograms/lis_unsafe_false-valid-deref.i_11.bpl' [2018-10-10 16:38:07,369 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-10-10 16:38:07,371 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-10-10 16:38:07,371 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-10-10 16:38:07,372 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-10-10 16:38:07,372 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-10-10 16:38:07,399 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "lis_unsafe_false-valid-deref.i_11.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.10 04:38:07" (1/1) ... [2018-10-10 16:38:07,401 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "lis_unsafe_false-valid-deref.i_11.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.10 04:38:07" (1/1) ... [2018-10-10 16:38:07,414 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "lis_unsafe_false-valid-deref.i_11.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.10 04:38:07" (1/1) ... [2018-10-10 16:38:07,414 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "lis_unsafe_false-valid-deref.i_11.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.10 04:38:07" (1/1) ... [2018-10-10 16:38:07,421 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "lis_unsafe_false-valid-deref.i_11.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.10 04:38:07" (1/1) ... [2018-10-10 16:38:07,423 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "lis_unsafe_false-valid-deref.i_11.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.10 04:38:07" (1/1) ... [2018-10-10 16:38:07,425 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "lis_unsafe_false-valid-deref.i_11.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.10 04:38:07" (1/1) ... [2018-10-10 16:38:07,427 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-10-10 16:38:07,428 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-10-10 16:38:07,429 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-10-10 16:38:07,429 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-10-10 16:38:07,430 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "lis_unsafe_false-valid-deref.i_11.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.10 04:38:07" (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:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-10-10 16:38:07,496 INFO L124 BoogieDeclarations]: Specification and implementation of procedure ULTIMATE.start given in one single declaration [2018-10-10 16:38:07,496 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-10-10 16:38:07,497 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-10-10 16:38:08,050 INFO L341 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-10-10 16:38:08,050 INFO L202 PluginConnector]: Adding new model lis_unsafe_false-valid-deref.i_11.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.10 04:38:08 BoogieIcfgContainer [2018-10-10 16:38:08,050 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-10-10 16:38:08,051 INFO L113 PluginConnector]: ------------------------IcfgTransformer---------------------------- [2018-10-10 16:38:08,051 INFO L271 PluginConnector]: Initializing IcfgTransformer... [2018-10-10 16:38:08,052 INFO L276 PluginConnector]: IcfgTransformer initialized [2018-10-10 16:38:08,055 INFO L185 PluginConnector]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "lis_unsafe_false-valid-deref.i_11.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.10 04:38:08" (1/1) ... [2018-10-10 16:38:08,065 INFO L137 apSepIcfgTransformer]: HeapSepIcfgTransformer: Starting heap partitioning [2018-10-10 16:38:08,065 INFO L138 apSepIcfgTransformer]: To be partitioned heap arrays found [#memory_int] [2018-10-10 16:38:08,107 INFO L191 apSepIcfgTransformer]: Heap separator: starting loc-array-style preprocessing [2018-10-10 16:38:08,151 INFO L217 apSepIcfgTransformer]: finished MemlocArrayUpdater [2018-10-10 16:38:08,168 INFO L280 apSepIcfgTransformer]: finished preprocessing for the equality analysis [2018-10-10 16:38:08,268 INFO L101 FixpointEngine]: Starting fixpoint engine with domain VPDomain (maxUnwinding=3, maxParallelStates=1) [2018-10-10 16:38:45,273 INFO L315 AbstractInterpreter]: Visited 72 different actions 142 times. Merged at 28 different actions 67 times. Widened at 1 different actions 1 times. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-10-10 16:38:45,277 INFO L304 apSepIcfgTransformer]: finished equality analysis [2018-10-10 16:38:45,280 INFO L316 apSepIcfgTransformer]: Finished detection of select terms ("array reads") [2018-10-10 16:38:45,338 WARN L152 HeapPartitionManager]: No literal set constraint found for loc-array access (select |v_#locv_ULTIMATE.start_write~int_old_#memory_int_2_1_1| |v_ULTIMATE.start_write~int_#ptr.base_6|) at (assume #memory_int == write~int_old_#memory_int[write~int_#ptr.base := write~int_old_#memory_int[write~int_#ptr.base][write~int_#ptr.offset := write~int_#value]];) [2018-10-10 16:38:45,389 WARN L152 HeapPartitionManager]: No literal set constraint found for loc-array access (select |v_#locv_ULTIMATE.start_write~int_old_#memory_int_4_1_1| |v_ULTIMATE.start_write~int_#ptr.base_12|) at (assume write~int_old_#memory_int[write~int_#ptr.base := write~int_old_#memory_int[write~int_#ptr.base][write~int_#ptr.offset := write~int_#value]] == #memory_int;) [2018-10-10 16:38:45,390 INFO L232 HeapPartitionManager]: partitioning result: [2018-10-10 16:38:45,390 INFO L237 HeapPartitionManager]: location blocks for array group [#memory_int, ULTIMATE.start_write~int_old_#memory_int] [2018-10-10 16:38:45,391 INFO L246 HeapPartitionManager]: at dimension 1 [2018-10-10 16:38:45,391 INFO L247 HeapPartitionManager]: # array writes (possibly including 1 dummy write/NoStoreIndexInfo) : 2 [2018-10-10 16:38:45,391 INFO L248 HeapPartitionManager]: # location blocks :1 [2018-10-10 16:38:45,391 INFO L246 HeapPartitionManager]: at dimension 2 [2018-10-10 16:38:45,391 INFO L247 HeapPartitionManager]: # array writes (possibly including 1 dummy write/NoStoreIndexInfo) : 0 [2018-10-10 16:38:45,392 INFO L248 HeapPartitionManager]: # location blocks :0 [2018-10-10 16:38:45,392 INFO L237 HeapPartitionManager]: location blocks for array group [#memory_int, ULTIMATE.start_write~int_old_#memory_int] [2018-10-10 16:38:45,392 INFO L246 HeapPartitionManager]: at dimension 1 [2018-10-10 16:38:45,392 INFO L247 HeapPartitionManager]: # array writes (possibly including 1 dummy write/NoStoreIndexInfo) : 2 [2018-10-10 16:38:45,392 INFO L248 HeapPartitionManager]: # location blocks :1 [2018-10-10 16:38:45,393 INFO L246 HeapPartitionManager]: at dimension 2 [2018-10-10 16:38:45,393 INFO L247 HeapPartitionManager]: # array writes (possibly including 1 dummy write/NoStoreIndexInfo) : 0 [2018-10-10 16:38:45,393 INFO L248 HeapPartitionManager]: # location blocks :0 [2018-10-10 16:38:45,394 INFO L145 ransitionTransformer]: executing heap partitioning transformation [2018-10-10 16:38:45,410 INFO L202 PluginConnector]: Adding new model lis_unsafe_false-valid-deref.i_11.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 10.10 04:38:45 BasicIcfg [2018-10-10 16:38:45,411 INFO L132 PluginConnector]: ------------------------ END IcfgTransformer---------------------------- [2018-10-10 16:38:45,412 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-10-10 16:38:45,412 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-10-10 16:38:45,416 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-10-10 16:38:45,416 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "lis_unsafe_false-valid-deref.i_11.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 10.10 04:38:07" (1/3) ... [2018-10-10 16:38:45,417 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4f1e1006 and model type lis_unsafe_false-valid-deref.i_11.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.10 04:38:45, skipping insertion in model container [2018-10-10 16:38:45,417 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "lis_unsafe_false-valid-deref.i_11.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.10 04:38:08" (2/3) ... [2018-10-10 16:38:45,418 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4f1e1006 and model type lis_unsafe_false-valid-deref.i_11.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 10.10 04:38:45, skipping insertion in model container [2018-10-10 16:38:45,418 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "lis_unsafe_false-valid-deref.i_11.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 10.10 04:38:45" (3/3) ... [2018-10-10 16:38:45,419 INFO L112 eAbstractionObserver]: Analyzing ICFG memPartitionedIcfg [2018-10-10 16:38:45,429 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:Craig_TreeInterpolation Determinization: PREDICATE_ABSTRACTION [2018-10-10 16:38:45,438 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-10-10 16:38:45,456 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-10-10 16:38:45,482 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-10-10 16:38:45,483 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-10-10 16:38:45,483 INFO L383 AbstractCegarLoop]: Hoare is false [2018-10-10 16:38:45,483 INFO L384 AbstractCegarLoop]: Compute interpolants for Craig_TreeInterpolation [2018-10-10 16:38:45,483 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-10-10 16:38:45,484 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-10-10 16:38:45,484 INFO L387 AbstractCegarLoop]: Difference is false [2018-10-10 16:38:45,484 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-10-10 16:38:45,484 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-10-10 16:38:45,498 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states. [2018-10-10 16:38:45,505 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2018-10-10 16:38:45,505 INFO L367 BasicCegarLoop]: Found error trace [2018-10-10 16:38:45,506 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-10-10 16:38:45,507 INFO L424 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-10-10 16:38:45,512 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-10-10 16:38:45,512 INFO L82 PathProgramCache]: Analyzing trace with hash 1524235966, now seen corresponding path program 1 times [2018-10-10 16:38:45,563 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2018-10-10 16:38:45,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-10-10 16:38:45,966 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-10-10 16:38:45,968 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-10-10 16:38:45,969 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-10-10 16:38:45,973 INFO L460 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-10-10 16:38:45,986 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-10-10 16:38:45,986 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2018-10-10 16:38:45,989 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 5 states. [2018-10-10 16:38:46,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-10-10 16:38:46,310 INFO L93 Difference]: Finished difference Result 91 states and 91 transitions. [2018-10-10 16:38:46,311 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-10-10 16:38:46,380 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 50 [2018-10-10 16:38:46,382 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-10-10 16:38:46,393 INFO L225 Difference]: With dead ends: 91 [2018-10-10 16:38:46,393 INFO L226 Difference]: Without dead ends: 89 [2018-10-10 16:38:46,395 INFO L605 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2018-10-10 16:38:46,414 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2018-10-10 16:38:46,435 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 71. [2018-10-10 16:38:46,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 71 states. [2018-10-10 16:38:46,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 71 transitions. [2018-10-10 16:38:46,439 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 71 transitions. Word has length 50 [2018-10-10 16:38:46,440 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-10-10 16:38:46,440 INFO L481 AbstractCegarLoop]: Abstraction has 71 states and 71 transitions. [2018-10-10 16:38:46,440 INFO L482 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-10-10 16:38:46,440 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 71 transitions. [2018-10-10 16:38:46,443 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 71 [2018-10-10 16:38:46,443 INFO L367 BasicCegarLoop]: Found error trace [2018-10-10 16:38:46,443 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-10-10 16:38:46,443 INFO L424 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-10-10 16:38:46,444 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-10-10 16:38:46,444 INFO L82 PathProgramCache]: Analyzing trace with hash 2062483597, now seen corresponding path program 1 times [2018-10-10 16:38:46,447 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2018-10-10 16:38:46,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-10-10 16:38:46,807 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-10-10 16:38:46,807 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-10-10 16:38:46,807 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2018-10-10 16:38:46,809 INFO L460 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-10-10 16:38:46,809 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-10-10 16:38:46,810 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=38, Unknown=0, NotChecked=0, Total=56 [2018-10-10 16:38:46,810 INFO L87 Difference]: Start difference. First operand 71 states and 71 transitions. Second operand 8 states. [2018-10-10 16:38:47,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-10-10 16:38:47,102 INFO L93 Difference]: Finished difference Result 113 states and 113 transitions. [2018-10-10 16:38:47,106 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-10-10 16:38:47,106 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 70 [2018-10-10 16:38:47,107 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-10-10 16:38:47,110 INFO L225 Difference]: With dead ends: 113 [2018-10-10 16:38:47,111 INFO L226 Difference]: Without dead ends: 109 [2018-10-10 16:38:47,114 INFO L605 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=47, Invalid=109, Unknown=0, NotChecked=0, Total=156 [2018-10-10 16:38:47,114 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2018-10-10 16:38:47,130 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 91. [2018-10-10 16:38:47,130 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2018-10-10 16:38:47,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 91 transitions. [2018-10-10 16:38:47,132 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 91 transitions. Word has length 70 [2018-10-10 16:38:47,132 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-10-10 16:38:47,132 INFO L481 AbstractCegarLoop]: Abstraction has 91 states and 91 transitions. [2018-10-10 16:38:47,133 INFO L482 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-10-10 16:38:47,134 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 91 transitions. [2018-10-10 16:38:47,136 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2018-10-10 16:38:47,136 INFO L367 BasicCegarLoop]: Found error trace [2018-10-10 16:38:47,137 INFO L375 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-10-10 16:38:47,137 INFO L424 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-10-10 16:38:47,137 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-10-10 16:38:47,138 INFO L82 PathProgramCache]: Analyzing trace with hash -2027420452, now seen corresponding path program 2 times [2018-10-10 16:38:47,139 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2018-10-10 16:38:47,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-10-10 16:38:47,225 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-10-10 16:38:47,280 INFO L442 BasicCegarLoop]: Counterexample might be feasible [2018-10-10 16:38:47,341 INFO L202 PluginConnector]: Adding new model lis_unsafe_false-valid-deref.i_11.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 10.10 04:38:47 BasicIcfg [2018-10-10 16:38:47,341 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-10-10 16:38:47,342 INFO L168 Benchmark]: Toolchain (without parser) took 39972.77 ms. Allocated memory was 1.5 GB in the beginning and 4.1 GB in the end (delta: 2.6 GB). Free memory was 1.5 GB in the beginning and 4.0 GB in the end (delta: -2.5 GB). Peak memory consumption was 22.6 MB. Max. memory is 7.1 GB. [2018-10-10 16:38:47,344 INFO L168 Benchmark]: Boogie PL CUP Parser took 0.23 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-10-10 16:38:47,344 INFO L168 Benchmark]: Boogie Preprocessor took 56.48 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-10-10 16:38:47,345 INFO L168 Benchmark]: RCFGBuilder took 622.12 ms. Allocated memory is still 1.5 GB. Free memory was 1.5 GB in the beginning and 1.4 GB in the end (delta: 31.7 MB). Peak memory consumption was 31.7 MB. Max. memory is 7.1 GB. [2018-10-10 16:38:47,347 INFO L168 Benchmark]: IcfgTransformer took 37360.14 ms. Allocated memory was 1.5 GB in the beginning and 3.5 GB in the end (delta: 2.0 GB). Free memory was 1.4 GB in the beginning and 1.9 GB in the end (delta: -450.6 MB). Peak memory consumption was 1.6 GB. Max. memory is 7.1 GB. [2018-10-10 16:38:47,348 INFO L168 Benchmark]: TraceAbstraction took 1929.15 ms. Allocated memory was 3.5 GB in the beginning and 4.1 GB in the end (delta: 547.4 MB). Free memory was 1.9 GB in the beginning and 4.0 GB in the end (delta: -2.1 GB). There was no memory consumed. Max. memory is 7.1 GB. [2018-10-10 16:38:47,353 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Boogie PL CUP Parser took 0.23 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Preprocessor took 56.48 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * RCFGBuilder took 622.12 ms. Allocated memory is still 1.5 GB. Free memory was 1.5 GB in the beginning and 1.4 GB in the end (delta: 31.7 MB). Peak memory consumption was 31.7 MB. Max. memory is 7.1 GB. * IcfgTransformer took 37360.14 ms. Allocated memory was 1.5 GB in the beginning and 3.5 GB in the end (delta: 2.0 GB). Free memory was 1.4 GB in the beginning and 1.9 GB in the end (delta: -450.6 MB). Peak memory consumption was 1.6 GB. Max. memory is 7.1 GB. * TraceAbstraction took 1929.15 ms. Allocated memory was 3.5 GB in the beginning and 4.1 GB in the end (delta: 547.4 MB). Free memory was 1.9 GB in the beginning and 4.0 GB in the end (delta: -2.1 GB). There was no memory consumed. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2: - StatisticsResult: ArrayEqualityDomainStatistics #Locations : 70 LocStat_MAX_WEQGRAPH_SIZE : 7 LocStat_MAX_SIZEOF_WEQEDGELABEL : 4 LocStat_NO_SUPPORTING_EQUALITIES : 1629 LocStat_NO_SUPPORTING_DISEQUALITIES : 291 LocStat_NO_DISJUNCTIONS : -140 LocStat_MAX_NO_DISJUNCTIONS : -1 #Transitions : 72 TransStat_MAX_WEQGRAPH_SIZE : 3 TransStat_MAX_SIZEOF_WEQEDGELABEL : 1 TransStat_NO_SUPPORTING_EQUALITIES : 69 TransStat_NO_SUPPORTING_DISEQUALITIES : 3 TransStat_NO_DISJUNCTIONS : 71 TransStat_MAX_NO_DISJUNCTIONS : 1 - StatisticsResult: EqPostOperator statistics APPLY_NORMAL(MILLISECONDS) : 9061.85 APPLY_RETURN(MILLISECONDS) : 0.00 #APPLY_NORMAL : 142 #APPLY_RETURN : 0 * Results from de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation: - StatisticsResult: Abstract Interpretation statistics Visited 72 different actions 142 times. Merged at 28 different actions 67 times. Widened at 1 different actions 1 times. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. - StatisticsResult: HeapSeparatorStatistics #COUNT_NEW_ARRAY_VARS_[#memory_int, ULTIMATE.start_write~int_old_#memory_int] : 0 COUNT_ARRAY_WRITES_for_[#memory_int, ULTIMATE.start_write~int_old_#memory_int]_at_dim_0 : null COUNT_BLOCKS_for_[#memory_int, ULTIMATE.start_write~int_old_#memory_int]_at_dim_0 : null COUNT_ARRAY_WRITES_for_[#memory_int, ULTIMATE.start_write~int_old_#memory_int]_at_dim_1 : 2 COUNT_BLOCKS_for_[#memory_int, ULTIMATE.start_write~int_old_#memory_int]_at_dim_1 : 1 COUNT_ARRAY_READS for [#memory_int, ULTIMATE.start_write~int_old_#memory_int] : null * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 145]: assertion can be violated assertion can be violated We found a FailurePath: [L66] #NULL.offset, #NULL.base := 0, 0; VAL [#NULL.base=0, #NULL.offset=0] [L67] #valid := #valid[0 := 0]; VAL [#NULL.base=0, #NULL.offset=0] [L68] main_old_#valid := #valid; VAL [#NULL.base=0, #NULL.offset=0] [L69] havoc main_#res; VAL [#NULL.base=0, #NULL.offset=0] [L70] havoc main_#t~ret17, main_~a~0.offset, main_#t~nondet16, main_~N~0, main_~a~0.base; VAL [#NULL.base=0, #NULL.offset=0] [L71] havoc main_~a~0.offset, main_~a~0.base; VAL [#NULL.base=0, #NULL.offset=0] [L72] assume 0 <= main_#t~nondet16 + 2147483648 && main_#t~nondet16 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, main_#t~nondet16=2] [L73] main_~N~0 := main_#t~nondet16; VAL [#NULL.base=0, #NULL.offset=0, main_#t~nondet16=2, main_~N~0=2] [L74] havoc main_#t~nondet16; VAL [#NULL.base=0, #NULL.offset=0, main_~N~0=2] [L75] lis_#in~a.offset, lis_#in~N, lis_#in~a.base := main_~a~0.offset, main_~N~0, main_~a~0.base; VAL [#NULL.base=0, #NULL.offset=0, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L76] havoc lis_#res; VAL [#NULL.base=0, #NULL.offset=0, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L77] havoc lis_~best~0.base, lis_#t~malloc2.offset, lis_#t~post5, lis_~max~0, lis_#t~post6, lis_~a.base, lis_~best~0.offset, lis_#t~mem10, lis_~N, lis_~prev~0.base, lis_~prev~0.offset, lis_#t~mem7, lis_#t~mem9, lis_#t~short11, lis_#t~post13, lis_~j~0, lis_#t~mem8, lis_~a.offset, lis_#t~mem12, lis_#t~malloc3.base, lis_#t~mem14, lis_~i~0, lis_#t~mem15, lis_#t~post4, lis_#t~malloc2.base, lis_#t~malloc3.offset; VAL [#NULL.base=0, #NULL.offset=0, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L78] lis_~a.base, lis_~a.offset := lis_#in~a.base, lis_#in~a.offset; VAL [#NULL.base=0, #NULL.offset=0, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_~a.base=9, lis_~a.offset=-4, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L79] lis_~N := lis_#in~N; VAL [#NULL.base=0, #NULL.offset=0, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_~a.base=9, lis_~a.offset=-4, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L80] havoc lis_~best~0.base, lis_~best~0.offset; VAL [#NULL.base=0, #NULL.offset=0, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_~a.base=9, lis_~a.offset=-4, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L81] havoc lis_~prev~0.base, lis_~prev~0.offset; VAL [#NULL.base=0, #NULL.offset=0, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_~a.base=9, lis_~a.offset=-4, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L82] havoc lis_~i~0; VAL [#NULL.base=0, #NULL.offset=0, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_~a.base=9, lis_~a.offset=-4, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L83] havoc lis_~j~0; VAL [#NULL.base=0, #NULL.offset=0, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_~a.base=9, lis_~a.offset=-4, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L84] lis_~max~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_~a.base=9, lis_~a.offset=-4, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L85] #Ultimate.alloc_old_#valid, #Ultimate.alloc_old_#length := #valid, #length; VAL [#NULL.base=0, #NULL.offset=0, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_~a.base=9, lis_~a.offset=-4, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L86] #Ultimate.alloc_~size := 4 * lis_~N; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_~a.base=9, lis_~a.offset=-4, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L87] havoc #Ultimate.alloc_#res.offset, #Ultimate.alloc_#res.base; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_~a.base=9, lis_~a.offset=-4, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L88] havoc #valid, #length; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_~a.base=9, lis_~a.offset=-4, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L89] assume 0 == #Ultimate.alloc_old_#valid[#Ultimate.alloc_#res.base]; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=12, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_~a.base=9, lis_~a.offset=-4, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L90] assume #Ultimate.alloc_old_#valid[#Ultimate.alloc_#res.base := 1] == #valid; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=12, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_~a.base=9, lis_~a.offset=-4, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L91] assume #Ultimate.alloc_#res.offset == 0; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=12, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_~a.base=9, lis_~a.offset=-4, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L92] assume !(0 == #Ultimate.alloc_#res.base); VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=12, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_~a.base=9, lis_~a.offset=-4, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L93] assume #Ultimate.alloc_old_#length[#Ultimate.alloc_#res.base := #Ultimate.alloc_~size] == #length; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=12, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_~a.base=9, lis_~a.offset=-4, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L94] lis_#t~malloc2.offset, lis_#t~malloc2.base := #Ultimate.alloc_#res.offset, #Ultimate.alloc_#res.base; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=12, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L95] lis_~best~0.base, lis_~best~0.offset := lis_#t~malloc2.base, lis_#t~malloc2.offset; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=12, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L96] #Ultimate.alloc_old_#valid, #Ultimate.alloc_old_#length := #valid, #length; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=12, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L97] #Ultimate.alloc_~size := 4 * lis_~N; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=12, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L98] havoc #Ultimate.alloc_#res.offset, #Ultimate.alloc_#res.base; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L99] havoc #valid, #length; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L100] assume 0 == #Ultimate.alloc_old_#valid[#Ultimate.alloc_#res.base]; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L101] assume #valid == #Ultimate.alloc_old_#valid[#Ultimate.alloc_#res.base := 1]; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L102] assume #Ultimate.alloc_#res.offset == 0; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L103] assume !(0 == #Ultimate.alloc_#res.base); VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L104] assume #length == #Ultimate.alloc_old_#length[#Ultimate.alloc_#res.base := #Ultimate.alloc_~size]; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L105] lis_#t~malloc3.base, lis_#t~malloc3.offset := #Ultimate.alloc_#res.base, #Ultimate.alloc_#res.offset; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~max~0=0, lis_~N=2, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L106] lis_~prev~0.base, lis_~prev~0.offset := lis_#t~malloc3.base, lis_#t~malloc3.offset; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L107] lis_~i~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L123] assume lis_~i~0 < lis_~N; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L124] write~int_old_#memory_int := #memory_int; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2] [L125] write~int_#sizeOfWrittenType, write~int_#ptr.base, write~int_#value, write~int_#ptr.offset := 4, lis_~best~0.base, 1, 4 * lis_~i~0 + lis_~best~0.offset; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=12, write~int_#ptr.offset=0, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L126] assume #valid[write~int_#ptr.base] == 1; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=12, write~int_#ptr.offset=0, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L127] assume 0 <= write~int_#ptr.offset && write~int_#sizeOfWrittenType + write~int_#ptr.offset <= #length[write~int_#ptr.base]; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=12, write~int_#ptr.offset=0, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L128] assume 1 == #valid[write~int_#ptr.base]; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=12, write~int_#ptr.offset=0, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L129] assume write~int_#sizeOfWrittenType + write~int_#ptr.offset <= #length[write~int_#ptr.base] && 0 <= write~int_#ptr.offset; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=12, write~int_#ptr.offset=0, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L130] havoc #memory_int; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=12, write~int_#ptr.offset=0, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L131] assume #memory_int == write~int_old_#memory_int[write~int_#ptr.base := write~int_old_#memory_int[write~int_#ptr.base][write~int_#ptr.offset := write~int_#value]]; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=12, write~int_#ptr.offset=0, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L132] write~int_old_#memory_int := #memory_int; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=12, write~int_#ptr.offset=0, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L133] write~int_#sizeOfWrittenType, write~int_#ptr.base, write~int_#value, write~int_#ptr.offset := 4, lis_~prev~0.base, lis_~i~0, 4 * lis_~i~0 + lis_~prev~0.offset; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=0, write~int_#sizeOfWrittenType=4, write~int_#value=0] [L134] assume #valid[write~int_#ptr.base] == 1; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=0, write~int_#sizeOfWrittenType=4, write~int_#value=0] [L135] assume 0 <= write~int_#ptr.offset && write~int_#ptr.offset + write~int_#sizeOfWrittenType <= #length[write~int_#ptr.base]; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=0, write~int_#sizeOfWrittenType=4, write~int_#value=0] [L136] assume #valid[write~int_#ptr.base] == 1; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=0, write~int_#sizeOfWrittenType=4, write~int_#value=0] [L137] assume write~int_#sizeOfWrittenType + write~int_#ptr.offset <= #length[write~int_#ptr.base] && 0 <= write~int_#ptr.offset; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=0, write~int_#sizeOfWrittenType=4, write~int_#value=0] [L138] havoc #memory_int; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=0, write~int_#sizeOfWrittenType=4, write~int_#value=0] [L139] assume write~int_old_#memory_int[write~int_#ptr.base := write~int_old_#memory_int[write~int_#ptr.base][write~int_#ptr.offset := write~int_#value]] == #memory_int; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=0, write~int_#sizeOfWrittenType=4, write~int_#value=0] [L140] lis_#t~post4 := lis_~i~0; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_#t~post4=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=0, write~int_#sizeOfWrittenType=4, write~int_#value=0] [L141] lis_~i~0 := lis_#t~post4 + 1; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_#t~post4=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=0, write~int_#sizeOfWrittenType=4, write~int_#value=0] [L142] havoc lis_#t~post4; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=0, write~int_#sizeOfWrittenType=4, write~int_#value=0] [L123] assume lis_~i~0 < lis_~N; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=0, write~int_#sizeOfWrittenType=4, write~int_#value=0] [L124] write~int_old_#memory_int := #memory_int; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=0, write~int_#sizeOfWrittenType=4, write~int_#value=0] [L125] write~int_#sizeOfWrittenType, write~int_#ptr.base, write~int_#value, write~int_#ptr.offset := 4, lis_~best~0.base, 1, 4 * lis_~i~0 + lis_~best~0.offset; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=12, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L126] assume #valid[write~int_#ptr.base] == 1; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=12, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L127] assume 0 <= write~int_#ptr.offset && write~int_#sizeOfWrittenType + write~int_#ptr.offset <= #length[write~int_#ptr.base]; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=12, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L128] assume 1 == #valid[write~int_#ptr.base]; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=12, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L129] assume write~int_#sizeOfWrittenType + write~int_#ptr.offset <= #length[write~int_#ptr.base] && 0 <= write~int_#ptr.offset; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=12, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L130] havoc #memory_int; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=12, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L131] assume #memory_int == write~int_old_#memory_int[write~int_#ptr.base := write~int_old_#memory_int[write~int_#ptr.base][write~int_#ptr.offset := write~int_#value]]; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=12, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L132] write~int_old_#memory_int := #memory_int; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=12, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L133] write~int_#sizeOfWrittenType, write~int_#ptr.base, write~int_#value, write~int_#ptr.offset := 4, lis_~prev~0.base, lis_~i~0, 4 * lis_~i~0 + lis_~prev~0.offset; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L134] assume #valid[write~int_#ptr.base] == 1; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L135] assume 0 <= write~int_#ptr.offset && write~int_#ptr.offset + write~int_#sizeOfWrittenType <= #length[write~int_#ptr.base]; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L136] assume #valid[write~int_#ptr.base] == 1; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L137] assume write~int_#sizeOfWrittenType + write~int_#ptr.offset <= #length[write~int_#ptr.base] && 0 <= write~int_#ptr.offset; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L138] havoc #memory_int; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L139] assume write~int_old_#memory_int[write~int_#ptr.base := write~int_old_#memory_int[write~int_#ptr.base][write~int_#ptr.offset := write~int_#value]] == #memory_int; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L140] lis_#t~post4 := lis_~i~0; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_#t~post4=1, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L141] lis_~i~0 := lis_#t~post4 + 1; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_#t~post4=1, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=2, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L142] havoc lis_#t~post4; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=2, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L114] assume !(lis_~i~0 < lis_~N); VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=2, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L115] lis_~i~0 := 1; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L116] assume lis_~i~0 < lis_~N; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L117] lis_~j~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~j~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L118] assume lis_~j~0 < lis_~i~0; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~j~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, write~int_#ptr.base=10, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L119] read~int_#ptr.base, read~int_#ptr.offset, read~int_#sizeOfReadType := lis_~a.base, lis_~a.offset + 4 * lis_~i~0, 4; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~j~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, read~int_#ptr.base=9, read~int_#ptr.offset=0, read~int_#sizeOfReadType=4, write~int_#ptr.base=10, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L120] assume !(1 == #valid[read~int_#ptr.base]); VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~j~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, read~int_#ptr.base=9, read~int_#ptr.offset=0, read~int_#sizeOfReadType=4, write~int_#ptr.base=10, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] [L145] assert false; VAL [#NULL.base=0, #NULL.offset=0, #Ultimate.alloc_#res.base=10, #Ultimate.alloc_#res.offset=0, #Ultimate.alloc_~size=8, lis_#in~a.base=9, lis_#in~a.offset=-4, lis_#in~N=2, lis_#t~malloc2.base=12, lis_#t~malloc2.offset=0, lis_#t~malloc3.base=10, lis_#t~malloc3.offset=0, lis_~a.base=9, lis_~a.offset=-4, lis_~best~0.base=12, lis_~best~0.offset=0, lis_~i~0=1, lis_~j~0=0, lis_~max~0=0, lis_~N=2, lis_~prev~0.base=10, lis_~prev~0.offset=0, main_~a~0.base=9, main_~a~0.offset=-4, main_~N~0=2, read~int_#ptr.base=9, read~int_#ptr.offset=0, read~int_#sizeOfReadType=4, write~int_#ptr.base=10, write~int_#ptr.offset=4, write~int_#sizeOfWrittenType=4, write~int_#value=1] - StatisticsResult: Ultimate Automizer benchmark data CFG has 1 procedures, 72 locations, 1 error locations. UNSAFE Result, 1.8s OverallTime, 3 OverallIterations, 2 TraceHistogramMax, 0.7s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 126 SDtfs, 85 SDslu, 376 SDs, 0 SdLazy, 97 SolverSat, 5 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.2s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 20 GetRequests, 4 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.7s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=91occurred in iteration=2, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 2 MinimizatonAttempts, 36 StatesRemovedByMinimization, 2 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 0.6s InterpolantComputationTime, 210 NumberOfCodeBlocks, 210 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 118 ConstructedInterpolants, 0 QuantifiedInterpolants, 11378 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 2 InterpolantComputations, 1 PerfectInterpolantSequences, 0/1 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! Written .csv to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/csv/lis_unsafe_false-valid-deref.i_11.bpl_heapsep-2018-09-18.epf_AutomizerBplTransformed.xml/Csv-Benchmark-0-2018-10-10_16-38-47-371.csv Written .csv to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/csv/lis_unsafe_false-valid-deref.i_11.bpl_heapsep-2018-09-18.epf_AutomizerBplTransformed.xml/Csv-VPDomainBenchmark-0-2018-10-10_16-38-47-371.csv Written .csv to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/csv/lis_unsafe_false-valid-deref.i_11.bpl_heapsep-2018-09-18.epf_AutomizerBplTransformed.xml/Csv-BenchmarkWithCounters-0-2018-10-10_16-38-47-371.csv The toolchain threw an exception: class java.lang.RuntimeException: java.lang.IllegalAccessException: Class de.uni_freiburg.informatik.ultimate.util.csv.SimpleCsvProvider can not access a member of class de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.algorithm.AbsIntBenchmark with modifiers "private" RESULT: An exception occured during the execution of Ultimate: The toolchain threw an exception java.lang.RuntimeException: java.lang.IllegalAccessException: Class de.uni_freiburg.informatik.ultimate.util.csv.SimpleCsvProvider can not access a member of class de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.algorithm.AbsIntBenchmark with modifiers "private" at de.uni_freiburg.informatik.ultimate.util.csv.SimpleCsvProvider.constructCsvProviderReflectively(SimpleCsvProvider.java:283) at de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.algorithm.AbsIntBenchmark.createCsvProvider(AbsIntBenchmark.java:42) at de.uni_freiburg.informatik.ultimate.cli.CommandLineController.writeCsvLogs(CommandLineController.java:342) at de.uni_freiburg.informatik.ultimate.cli.CommandLineController.displayToolchainResults(CommandLineController.java:325) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:343) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) Caused by: java.lang.IllegalAccessException: Class de.uni_freiburg.informatik.ultimate.util.csv.SimpleCsvProvider can not access a member of class de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.algorithm.AbsIntBenchmark with modifiers "private" at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:102) at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(AccessibleObject.java:296) at java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:288) at java.lang.reflect.Field.get(Field.java:390) at de.uni_freiburg.informatik.ultimate.util.csv.SimpleCsvProvider.constructCsvProviderReflectively(SimpleCsvProvider.java:275) ... 6 more Received shutdown request...