java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AbstractInterpretationInline.xml -s ../../../trunk/examples/settings/ai/array-bench/reach_32bit_array_compound_oct_cong.epf -i ../../../trunk/examples/programs/toy/tooDifficultLoopInvariant/PointerIncrement-simplified02.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-b7bd044-m [2019-01-18 15:36:37,237 INFO L170 SettingsManager]: Resetting all preferences to default values... [2019-01-18 15:36:37,239 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2019-01-18 15:36:37,251 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2019-01-18 15:36:37,252 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2019-01-18 15:36:37,253 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2019-01-18 15:36:37,254 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2019-01-18 15:36:37,256 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2019-01-18 15:36:37,258 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2019-01-18 15:36:37,259 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2019-01-18 15:36:37,259 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2019-01-18 15:36:37,260 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2019-01-18 15:36:37,261 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2019-01-18 15:36:37,263 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2019-01-18 15:36:37,265 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2019-01-18 15:36:37,267 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2019-01-18 15:36:37,268 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2019-01-18 15:36:37,269 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2019-01-18 15:36:37,271 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2019-01-18 15:36:37,273 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2019-01-18 15:36:37,274 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2019-01-18 15:36:37,275 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2019-01-18 15:36:37,277 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2019-01-18 15:36:37,277 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2019-01-18 15:36:37,278 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2019-01-18 15:36:37,279 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2019-01-18 15:36:37,280 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2019-01-18 15:36:37,281 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2019-01-18 15:36:37,281 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2019-01-18 15:36:37,283 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2019-01-18 15:36:37,283 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2019-01-18 15:36:37,283 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2019-01-18 15:36:37,284 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2019-01-18 15:36:37,284 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2019-01-18 15:36:37,285 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2019-01-18 15:36:37,286 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2019-01-18 15:36:37,286 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/ai/array-bench/reach_32bit_array_compound_oct_cong.epf [2019-01-18 15:36:37,299 INFO L110 SettingsManager]: Loading preferences was successful [2019-01-18 15:36:37,299 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2019-01-18 15:36:37,300 INFO L131 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2019-01-18 15:36:37,300 INFO L133 SettingsManager]: * Show backtranslation warnings=false [2019-01-18 15:36:37,300 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2019-01-18 15:36:37,300 INFO L133 SettingsManager]: * User list type=DISABLED [2019-01-18 15:36:37,301 INFO L133 SettingsManager]: * Inline calls to unimplemented procedures=true [2019-01-18 15:36:37,301 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2019-01-18 15:36:37,301 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2019-01-18 15:36:37,301 INFO L133 SettingsManager]: * Abstract domain=ArrayDomain [2019-01-18 15:36:37,301 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2019-01-18 15:36:37,302 INFO L133 SettingsManager]: * Interval Domain=false [2019-01-18 15:36:37,302 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2019-01-18 15:36:37,303 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2019-01-18 15:36:37,303 INFO L133 SettingsManager]: * Use SBE=true [2019-01-18 15:36:37,303 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2019-01-18 15:36:37,303 INFO L133 SettingsManager]: * sizeof long=4 [2019-01-18 15:36:37,303 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2019-01-18 15:36:37,304 INFO L133 SettingsManager]: * sizeof POINTER=4 [2019-01-18 15:36:37,304 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2019-01-18 15:36:37,304 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2019-01-18 15:36:37,304 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2019-01-18 15:36:37,304 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2019-01-18 15:36:37,305 INFO L133 SettingsManager]: * sizeof long double=12 [2019-01-18 15:36:37,305 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2019-01-18 15:36:37,305 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2019-01-18 15:36:37,305 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2019-01-18 15:36:37,305 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2019-01-18 15:36:37,306 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2019-01-18 15:36:37,306 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2019-01-18 15:36:37,306 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2019-01-18 15:36:37,306 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2019-01-18 15:36:37,306 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2019-01-18 15:36:37,307 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2019-01-18 15:36:37,307 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2019-01-18 15:36:37,307 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2019-01-18 15:36:37,307 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2019-01-18 15:36:37,307 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2019-01-18 15:36:37,337 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2019-01-18 15:36:37,349 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2019-01-18 15:36:37,353 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2019-01-18 15:36:37,355 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2019-01-18 15:36:37,355 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2019-01-18 15:36:37,356 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/toy/tooDifficultLoopInvariant/PointerIncrement-simplified02.bpl [2019-01-18 15:36:37,356 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/toy/tooDifficultLoopInvariant/PointerIncrement-simplified02.bpl' [2019-01-18 15:36:37,404 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2019-01-18 15:36:37,406 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2019-01-18 15:36:37,406 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2019-01-18 15:36:37,407 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2019-01-18 15:36:37,407 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2019-01-18 15:36:37,423 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "PointerIncrement-simplified02.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 03:36:37" (1/1) ... [2019-01-18 15:36:37,435 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "PointerIncrement-simplified02.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 03:36:37" (1/1) ... [2019-01-18 15:36:37,442 WARN L165 Inliner]: Program contained no entry procedure! [2019-01-18 15:36:37,443 WARN L168 Inliner]: Missing entry procedures: [ULTIMATE.start] [2019-01-18 15:36:37,443 WARN L175 Inliner]: Fallback enabled. All procedures will be processed. [2019-01-18 15:36:37,460 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2019-01-18 15:36:37,461 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2019-01-18 15:36:37,461 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2019-01-18 15:36:37,461 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2019-01-18 15:36:37,473 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "PointerIncrement-simplified02.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 03:36:37" (1/1) ... [2019-01-18 15:36:37,474 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "PointerIncrement-simplified02.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 03:36:37" (1/1) ... [2019-01-18 15:36:37,475 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "PointerIncrement-simplified02.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 03:36:37" (1/1) ... [2019-01-18 15:36:37,475 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "PointerIncrement-simplified02.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 03:36:37" (1/1) ... [2019-01-18 15:36:37,482 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "PointerIncrement-simplified02.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 03:36:37" (1/1) ... [2019-01-18 15:36:37,488 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "PointerIncrement-simplified02.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 03:36:37" (1/1) ... [2019-01-18 15:36:37,491 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "PointerIncrement-simplified02.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 03:36:37" (1/1) ... [2019-01-18 15:36:37,493 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2019-01-18 15:36:37,493 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2019-01-18 15:36:37,493 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2019-01-18 15:36:37,493 INFO L276 PluginConnector]: RCFGBuilder initialized [2019-01-18 15:36:37,497 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "PointerIncrement-simplified02.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.01 03:36:37" (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 [2019-01-18 15:36:37,571 INFO L130 BoogieDeclarations]: Found specification of procedure main [2019-01-18 15:36:37,572 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2019-01-18 15:36:37,572 INFO L130 BoogieDeclarations]: Found specification of procedure ~malloc [2019-01-18 15:36:37,982 INFO L278 CfgBuilder]: Using library mode [2019-01-18 15:36:37,983 INFO L286 CfgBuilder]: Removed 3 assue(true) statements. [2019-01-18 15:36:37,984 INFO L202 PluginConnector]: Adding new model PointerIncrement-simplified02.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.01 03:36:37 BoogieIcfgContainer [2019-01-18 15:36:37,984 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2019-01-18 15:36:37,985 INFO L113 PluginConnector]: ------------------------Abstract Interpretation---------------------------- [2019-01-18 15:36:37,985 INFO L271 PluginConnector]: Initializing Abstract Interpretation... [2019-01-18 15:36:37,985 INFO L276 PluginConnector]: Abstract Interpretation initialized [2019-01-18 15:36:37,986 INFO L185 PluginConnector]: Executing the observer AbstractInterpretationRcfgObserver from plugin Abstract Interpretation for "PointerIncrement-simplified02.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.01 03:36:37" (1/1) ... [2019-01-18 15:36:38,050 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-18 15:36:40,227 WARN L212 ngHoareTripleChecker]: Soundness check inconclusive for the following hoare triple [2019-01-18 15:36:40,227 WARN L217 ngHoareTripleChecker]: Expected: VALID Actual: UNKNOWN [2019-01-18 15:36:40,229 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-01-18 15:36:40,230 WARN L223 ngHoareTripleChecker]: -- [2019-01-18 15:36:40,231 WARN L224 ngHoareTripleChecker]: Pre: {2147483647#(forall ((v_idx_7 Int) (v_idx_8 Int) (v_idx_9 Int) (v_idx_3 Int) (v_idx_10 Int) (v_idx_4 Int) (v_idx_5 Int) (v_idx_6 Int) (v_idx_1 Int) (v_idx_2 Int)) (exists ((v_v_8_1 Int) (v_v_3_1 Bool) (v_v_4_1 Bool) (v_v_0_1 Int) (v_v_7_1 (Array Int Int)) (v_v_1_1 Int) (v_v_2_1 Int) (v_v_5_1 (Array Int Int)) (v_v_9_1 Bool) (v_v_6_1 Int)) (and (= (select |c_old(#length)| v_idx_9) v_v_2_1) (= (select v_v_5_1 v_idx_3) v_v_6_1) (= (select |c_main_~malloc_old_#length| v_idx_2) v_v_0_1) (= (select |c_old(#valid)| v_idx_5) v_v_4_1) (= v_v_9_1 (select |c_main_~malloc_old_#valid| v_idx_10)) (= (select |c_#length| v_idx_8) v_v_1_1) (= (select v_v_7_1 v_idx_1) v_v_8_1) (= v_v_5_1 (select |c_#memory_int| v_idx_6)) (= v_v_3_1 (select |c_#valid| v_idx_4)) (= (select |c_old(#memory_int)| v_idx_7) v_v_7_1))))} [2019-01-18 15:36:40,239 WARN L228 ngHoareTripleChecker]: Action: ~malloc_old_#length, ~malloc_old_#valid := #length, #valid;~malloc_~size := 400;havoc ~malloc_#res.base, ~malloc_#res.offset;havoc #valid, #length;assume ~malloc_old_#valid[~malloc_#res.base] == false;assume #valid == ~malloc_old_#valid[~malloc_#res.base := true];assume ~malloc_#res.offset == 0;assume ~malloc_#res.base != 0;assume #length == ~malloc_old_#length[~malloc_#res.base := ~malloc_~size];p.base, p.offset := ~malloc_#res.base, ~malloc_#res.offset;q.base, q.offset := p.base, p.offset; [2019-01-18 15:36:40,240 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (and (not (select |c_main_~malloc_old_#valid_primed| |c_main_~malloc_#res.base_primed|)) (= c_main_p.offset_primed |c_main_~malloc_#res.offset_primed|) (= (store |c_main_~malloc_old_#length_primed| |c_main_~malloc_#res.base_primed| c_main_~malloc_~size_primed) |c_#length_primed|) (= |c_main_~malloc_old_#valid_primed| |c_#valid|) (= c_main_p.base_primed |c_main_~malloc_#res.base_primed|) (= |c_main_~malloc_old_#length_primed| |c_#length|) (= c_main_~malloc_~size_primed 400) (= c_main_q.offset_primed c_main_p.offset_primed) (= c_main_q.base_primed c_main_p.base_primed) (= (store |c_main_~malloc_old_#valid_primed| |c_main_~malloc_#res.base_primed| true) |c_#valid_primed|) (= 0 |c_main_~malloc_#res.offset_primed|) (not (= |c_main_~malloc_#res.base_primed| 0))) [2019-01-18 15:36:40,244 WARN L230 ngHoareTripleChecker]: Post: {2147483646#(forall ((v_idx_14 Int) (v_idx_15 Int) (v_idx_23 Int) (v_idx_12 Int) (v_idx_24 Int) (v_idx_13 Int) (v_idx_21 Int) (v_idx_22 Int) (v_idx_11 Int) (v_idx_20 Int) (v_idx_18 Int) (v_idx_19 Int) (v_idx_16 Int) (v_idx_17 Int)) (exists ((v_v_24_1 Int) (v_v_4_1 Bool) (v_v_26_1 Int) (v_v_8_1 Int) (v_v_19_1 Bool) (v_v_18_1 Bool) (v_v_12_1 Bool) (v_v_7_1 (Array Int Int)) (v_v_1_1 Int) (v_v_2_1 Int) (v_v_5_1 (Array Int Int)) (v_v_6_1 Int) (v_v_20_1 Bool)) (and (<= (- c_main_q.offset (- |c_main_~malloc_#res.offset|)) 0) (or (<= (+ |c_main_~malloc_#res.base| 1) v_idx_16) (= (select |c_#valid| v_idx_16) v_v_19_1) (< v_idx_16 |c_main_~malloc_#res.base|)) (not (= |c_main_~malloc_#res.base| 0)) (<= (+ |c_main_~malloc_#res.offset| c_main_p.offset) 0) (<= (- (- |c_main_~malloc_#res.offset|) c_main_~malloc_~size) (- 400)) (<= (- |c_main_~malloc_#res.offset| (- c_main_~malloc_~size)) 400) v_v_19_1 (<= c_main_q.offset c_main_p.offset) (or (= (select |c_#valid| v_idx_15) v_v_18_1) (<= |c_main_~malloc_#res.base| v_idx_15)) (<= (- (- c_main_p.offset) c_main_p.offset) 0) (<= (- c_main_p.offset c_main_q.offset) 0) (= (select |c_old(#length)| v_idx_20) v_v_2_1) (<= (- (- c_main_p.offset) (- c_main_q.offset)) 0) (= 400 (+ c_main_p.offset 400)) (= c_main_q.offset 0) (or (= v_v_20_1 (select |c_#valid| v_idx_17)) (< v_idx_17 (+ |c_main_~malloc_#res.base| 1))) (= c_main_~malloc_~size 400) (<= (- (- |c_main_~malloc_#res.offset|) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset c_main_~malloc_~size) (- 400)) (= (select |c_main_~malloc_old_#valid| v_idx_24) v_v_12_1) (<= (- (- c_main_p.offset) c_main_q.offset) 0) (<= (- c_main_p.offset (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_~malloc_~size)) 400) (<= (- |c_main_~malloc_#res.offset| c_main_~malloc_~size) (- 400)) (not (= c_main_q.base 0)) (<= 0 (+ |c_main_~malloc_#res.offset| c_main_p.offset)) (= v_v_5_1 (select |c_#memory_int| v_idx_18)) (= v_v_7_1 (select |c_old(#memory_int)| v_idx_19)) (<= (- c_main_q.offset (- c_main_q.offset)) 0) (or (< v_idx_22 |c_main_~malloc_#res.base|) (= (select |c_#length| v_idx_22) (+ c_main_p.offset 400)) (<= (+ |c_main_~malloc_#res.base| 1) v_idx_22)) (<= (+ c_main_~malloc_~size c_main_p.offset) 400) (<= (- (- c_main_q.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (+ c_main_q.offset c_main_p.offset) 0) (<= (- (- c_main_q.offset) (- c_main_~malloc_~size)) 400) (<= (- (- |c_main_~malloc_#res.offset|) |c_main_~malloc_#res.offset|) 0) (<= 0 (+ c_main_q.offset c_main_p.offset)) (= |c_main_~malloc_#res.offset| 0) (or (= (select |c_#length| v_idx_21) v_v_24_1) (<= |c_main_~malloc_#res.base| v_idx_21)) (= (select v_v_7_1 v_idx_11) v_v_8_1) (<= (- c_main_p.offset (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- c_main_~malloc_~size)) 800) (<= c_main_p.offset |c_main_~malloc_#res.offset|) (<= (- c_main_p.offset (- c_main_p.offset)) 0) (<= (* 2 c_main_p.offset) 0) (= (select |c_old(#valid)| v_idx_14) v_v_4_1) (<= c_main_p.offset c_main_q.offset) (<= |c_main_~malloc_#res.offset| c_main_p.offset) (<= (- (- c_main_~malloc_~size) c_main_~malloc_~size) (- 800)) (<= (- (- c_main_p.offset) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset |c_main_~malloc_#res.offset|) 0) (<= (+ c_main_p.offset 400) c_main_~malloc_~size) (= v_v_6_1 (select v_v_5_1 v_idx_13)) (= (select |c_main_~malloc_old_#length| v_idx_12) v_v_1_1) (<= (- (- c_main_q.offset) |c_main_~malloc_#res.offset|) 0) (<= (- |c_main_~malloc_#res.offset| (- |c_main_~malloc_#res.offset|)) 0) (or (= (select |c_#length| v_idx_23) v_v_26_1) (< v_idx_23 (+ |c_main_~malloc_#res.base| 1))) (<= (- (- c_main_p.offset) |c_main_~malloc_#res.offset|) 0) (= c_main_p.offset 0) (<= (- (- c_main_q.offset) c_main_q.offset) 0) (<= (- c_main_q.offset c_main_~malloc_~size) (- 400)) (<= (- c_main_p.offset (- c_main_q.offset)) 0) (<= 0 (* 2 c_main_p.offset)) (<= (- c_main_q.offset |c_main_~malloc_#res.offset|) 0) (not (= c_main_p.base 0)) (<= (- (- c_main_p.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_q.offset) c_main_~malloc_~size) (- 400)) (<= c_main_~malloc_~size (+ c_main_p.offset 400)) (<= 400 (+ c_main_~malloc_~size c_main_p.offset)))))} [2019-01-18 15:36:40,245 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-01-18 15:36:40,247 WARN L268 ngHoareTripleChecker]: -- [2019-01-18 15:36:40,247 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-01-18 15:36:40,436 WARN L270 ngHoareTripleChecker]: Pre: {2147483647#true} [2019-01-18 15:36:40,436 WARN L274 ngHoareTripleChecker]: Action: ~malloc_old_#length, ~malloc_old_#valid := #length, #valid;~malloc_~size := 400;havoc ~malloc_#res.base, ~malloc_#res.offset;havoc #valid, #length;assume ~malloc_old_#valid[~malloc_#res.base] == false;assume #valid == ~malloc_old_#valid[~malloc_#res.base := true];assume ~malloc_#res.offset == 0;assume ~malloc_#res.base != 0;assume #length == ~malloc_old_#length[~malloc_#res.base := ~malloc_~size];p.base, p.offset := ~malloc_#res.base, ~malloc_#res.offset;q.base, q.offset := p.base, p.offset; [2019-01-18 15:36:40,437 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (and (not (select |c_main_~malloc_old_#valid_primed| |c_main_~malloc_#res.base_primed|)) (= c_main_p.offset_primed |c_main_~malloc_#res.offset_primed|) (= (store |c_main_~malloc_old_#length_primed| |c_main_~malloc_#res.base_primed| c_main_~malloc_~size_primed) |c_#length_primed|) (= |c_main_~malloc_old_#valid_primed| |c_#valid|) (= c_main_p.base_primed |c_main_~malloc_#res.base_primed|) (= |c_main_~malloc_old_#length_primed| |c_#length|) (= c_main_~malloc_~size_primed 400) (= c_main_q.offset_primed c_main_p.offset_primed) (= c_main_q.base_primed c_main_p.base_primed) (= (store |c_main_~malloc_old_#valid_primed| |c_main_~malloc_#res.base_primed| true) |c_#valid_primed|) (= 0 |c_main_~malloc_#res.offset_primed|) (not (= |c_main_~malloc_#res.base_primed| 0))) [2019-01-18 15:36:42,164 WARN L276 ngHoareTripleChecker]: Post: {2147483646#(and (<= (- main_q.offset (- |main_~malloc_#res.offset|)) 0) (not (= |main_~malloc_#res.base| 0)) (<= (+ |main_~malloc_#res.offset| main_p.offset) 0) (<= (- (- |main_~malloc_#res.offset|) main_~malloc_~size) (- 400)) (<= (- |main_~malloc_#res.offset| (- main_~malloc_~size)) 400) (<= main_q.offset main_p.offset) (<= (- (- main_p.offset) main_p.offset) 0) (<= (- main_p.offset main_q.offset) 0) (<= (- (- main_p.offset) (- main_q.offset)) 0) (= 400 (+ main_p.offset 400)) (forall ((v_idx_16 Int)) (or (<= (+ |main_~malloc_#res.base| 1) v_idx_16) (select |#valid| v_idx_16) (< v_idx_16 |main_~malloc_#res.base|))) (= main_q.offset 0) (= main_~malloc_~size 400) (<= (- (- |main_~malloc_#res.offset|) (- main_~malloc_~size)) 400) (<= (- main_p.offset main_~malloc_~size) (- 400)) (<= (- (- main_p.offset) main_q.offset) 0) (<= (- main_p.offset (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_~malloc_~size)) 400) (<= (- |main_~malloc_#res.offset| main_~malloc_~size) (- 400)) (not (= main_q.base 0)) (<= 0 (+ |main_~malloc_#res.offset| main_p.offset)) (<= (- main_q.offset (- main_q.offset)) 0) (<= (+ main_~malloc_~size main_p.offset) 400) (<= (- (- main_q.offset) (- |main_~malloc_#res.offset|)) 0) (<= (+ main_q.offset main_p.offset) 0) (<= (- (- main_q.offset) (- main_~malloc_~size)) 400) (<= (- (- |main_~malloc_#res.offset|) |main_~malloc_#res.offset|) 0) (<= 0 (+ main_q.offset main_p.offset)) (= |main_~malloc_#res.offset| 0) (<= (- main_p.offset (- main_~malloc_~size)) 400) (<= (- main_~malloc_~size (- main_~malloc_~size)) 800) (<= main_p.offset |main_~malloc_#res.offset|) (<= (- main_p.offset (- main_p.offset)) 0) (<= (* 2 main_p.offset) 0) (<= main_p.offset main_q.offset) (<= |main_~malloc_#res.offset| main_p.offset) (<= (- (- main_~malloc_~size) main_~malloc_~size) (- 800)) (<= (- (- main_p.offset) (- main_~malloc_~size)) 400) (<= (- main_p.offset |main_~malloc_#res.offset|) 0) (<= (+ main_p.offset 400) main_~malloc_~size) (<= (- (- main_q.offset) |main_~malloc_#res.offset|) 0) (forall ((v_idx_22 Int)) (or (< v_idx_22 |main_~malloc_#res.base|) (= (select |#length| v_idx_22) (+ main_p.offset 400)) (<= (+ |main_~malloc_#res.base| 1) v_idx_22))) (<= (- |main_~malloc_#res.offset| (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) |main_~malloc_#res.offset|) 0) (= main_p.offset 0) (<= (- (- main_q.offset) main_q.offset) 0) (<= (- main_q.offset main_~malloc_~size) (- 400)) (<= (- main_p.offset (- main_q.offset)) 0) (<= 0 (* 2 main_p.offset)) (<= (- main_q.offset |main_~malloc_#res.offset|) 0) (not (= main_p.base 0)) (<= (- (- main_p.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) main_~malloc_~size) (- 400)) (<= main_~malloc_~size (+ main_p.offset 400)) (<= 400 (+ main_~malloc_~size main_p.offset)))} [2019-01-18 15:36:43,276 WARN L212 ngHoareTripleChecker]: Soundness check inconclusive for the following hoare triple [2019-01-18 15:36:43,276 WARN L217 ngHoareTripleChecker]: Expected: VALID Actual: UNKNOWN [2019-01-18 15:36:43,277 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-01-18 15:36:43,277 WARN L223 ngHoareTripleChecker]: -- [2019-01-18 15:36:43,278 WARN L224 ngHoareTripleChecker]: Pre: {2147483645#(forall ((v_idx_25 Int) (v_idx_36 Int) (v_idx_26 Int) (v_idx_37 Int) (v_idx_34 Int) (v_idx_35 Int) (v_idx_32 Int) (v_idx_33 Int) (v_idx_30 Int) (v_idx_31 Int) (v_idx_29 Int) (v_idx_27 Int) (v_idx_38 Int) (v_idx_28 Int)) (exists ((v_v_24_1 Int) (v_v_4_1 Bool) (v_v_26_1 Int) (v_v_8_1 Int) (v_v_19_1 Bool) (v_v_18_1 Bool) (v_v_12_1 Bool) (v_v_7_1 (Array Int Int)) (v_v_1_1 Int) (v_v_5_1 (Array Int Int)) (v_v_2_1 Int) (v_v_6_1 Int) (v_v_20_1 Bool)) (and (= (select |c_main_~malloc_old_#valid| v_idx_38) v_v_12_1) (or (= (select |c_#length| v_idx_35) v_v_24_1) (<= |c_main_~malloc_#res.base| v_idx_35)) (<= (- c_main_q.offset (- |c_main_~malloc_#res.offset|)) 0) (not (= |c_main_~malloc_#res.base| 0)) (or (< v_idx_36 |c_main_~malloc_#res.base|) (= (select |c_#length| v_idx_36) (+ c_main_p.offset 400)) (<= (+ |c_main_~malloc_#res.base| 1) v_idx_36)) (= v_v_5_1 (select |c_#memory_int| v_idx_32)) (<= (+ |c_main_~malloc_#res.offset| c_main_p.offset) 0) (<= (- (- |c_main_~malloc_#res.offset|) c_main_~malloc_~size) (- 400)) (<= (- |c_main_~malloc_#res.offset| (- c_main_~malloc_~size)) 400) v_v_19_1 (<= c_main_q.offset c_main_p.offset) (or (< v_idx_37 (+ |c_main_~malloc_#res.base| 1)) (= (select |c_#length| v_idx_37) v_v_26_1)) (<= (- (- c_main_p.offset) c_main_p.offset) 0) (<= (- c_main_p.offset c_main_q.offset) 0) (<= (- (- c_main_p.offset) (- c_main_q.offset)) 0) (= 400 (+ c_main_p.offset 400)) (or (= (select |c_#valid| v_idx_30) v_v_19_1) (<= (+ |c_main_~malloc_#res.base| 1) v_idx_30) (< v_idx_30 |c_main_~malloc_#res.base|)) (= c_main_q.offset 0) (= c_main_~malloc_~size 400) (<= (- (- |c_main_~malloc_#res.offset|) (- c_main_~malloc_~size)) 400) (= v_v_7_1 (select |c_old(#memory_int)| v_idx_33)) (<= (- c_main_p.offset c_main_~malloc_~size) (- 400)) (<= (- (- c_main_p.offset) c_main_q.offset) 0) (<= (- c_main_p.offset (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_~malloc_~size)) 400) (<= (- |c_main_~malloc_#res.offset| c_main_~malloc_~size) (- 400)) (not (= c_main_q.base 0)) (<= 0 (+ |c_main_~malloc_#res.offset| c_main_p.offset)) (= v_v_1_1 (select |c_main_~malloc_old_#length| v_idx_26)) (<= (- c_main_q.offset (- c_main_q.offset)) 0) (<= (+ c_main_~malloc_~size c_main_p.offset) 400) (<= (- (- c_main_q.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (+ c_main_q.offset c_main_p.offset) 0) (<= (- (- c_main_q.offset) (- c_main_~malloc_~size)) 400) (<= (- (- |c_main_~malloc_#res.offset|) |c_main_~malloc_#res.offset|) 0) (<= 0 (+ c_main_q.offset c_main_p.offset)) (= (select |c_old(#length)| v_idx_34) v_v_2_1) (= |c_main_~malloc_#res.offset| 0) (<= (- c_main_p.offset (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- c_main_~malloc_~size)) 800) (<= c_main_p.offset |c_main_~malloc_#res.offset|) (<= (- c_main_p.offset (- c_main_p.offset)) 0) (<= (* 2 c_main_p.offset) 0) (<= c_main_p.offset c_main_q.offset) (<= |c_main_~malloc_#res.offset| c_main_p.offset) (<= (- (- c_main_~malloc_~size) c_main_~malloc_~size) (- 800)) (<= (- (- c_main_p.offset) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset |c_main_~malloc_#res.offset|) 0) (<= (+ c_main_p.offset 400) c_main_~malloc_~size) (<= (- (- c_main_q.offset) |c_main_~malloc_#res.offset|) 0) (<= (- |c_main_~malloc_#res.offset| (- |c_main_~malloc_#res.offset|)) 0) (= (select v_v_7_1 v_idx_25) v_v_8_1) (or (<= |c_main_~malloc_#res.base| v_idx_29) (= (select |c_#valid| v_idx_29) v_v_18_1)) (<= (- (- c_main_p.offset) |c_main_~malloc_#res.offset|) 0) (= c_main_p.offset 0) (<= (- (- c_main_q.offset) c_main_q.offset) 0) (<= (- c_main_q.offset c_main_~malloc_~size) (- 400)) (<= (- c_main_p.offset (- c_main_q.offset)) 0) (<= 0 (* 2 c_main_p.offset)) (or (= (select |c_#valid| v_idx_31) v_v_20_1) (< v_idx_31 (+ |c_main_~malloc_#res.base| 1))) (<= (- c_main_q.offset |c_main_~malloc_#res.offset|) 0) (not (= c_main_p.base 0)) (<= (- (- c_main_p.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_q.offset) c_main_~malloc_~size) (- 400)) (<= c_main_~malloc_~size (+ c_main_p.offset 400)) (= (select v_v_5_1 v_idx_27) v_v_6_1) (= v_v_4_1 (select |c_old(#valid)| v_idx_28)) (<= 400 (+ c_main_~malloc_~size c_main_p.offset)))))} [2019-01-18 15:36:43,278 WARN L228 ngHoareTripleChecker]: Action: #t~short2 := q.offset < p.offset + 400; [2019-01-18 15:36:43,278 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (or (and |c_main_#t~short2_primed| (< c_main_q.offset (+ c_main_p.offset 400))) (and (not |c_main_#t~short2_primed|) (not (< c_main_q.offset (+ c_main_p.offset 400))))) [2019-01-18 15:36:43,279 WARN L230 ngHoareTripleChecker]: Post: {2147483644#(forall ((v_idx_47 Int) (v_idx_48 Int) (v_idx_45 Int) (v_idx_46 Int) (v_idx_43 Int) (v_idx_44 Int) (v_idx_41 Int) (v_idx_52 Int) (v_idx_42 Int) (v_idx_50 Int) (v_idx_40 Int) (v_idx_51 Int) (v_idx_49 Int) (v_idx_39 Int)) (exists ((v_v_24_1 Int) (v_v_4_1 Bool) (v_v_26_1 Int) (v_v_8_1 Int) (v_v_19_1 Bool) (v_v_18_1 Bool) (v_v_12_1 Bool) (v_v_7_1 (Array Int Int)) (v_v_1_1 Int) (v_v_5_1 (Array Int Int)) (v_v_2_1 Int) (v_v_6_1 Int) (v_v_20_1 Bool)) (and (<= (- c_main_q.offset (- |c_main_~malloc_#res.offset|)) 0) (not (= |c_main_~malloc_#res.base| 0)) (= (select |c_old(#valid)| v_idx_42) v_v_4_1) (<= (+ |c_main_~malloc_#res.offset| c_main_p.offset) 0) (or (<= (+ |c_main_~malloc_#res.base| 1) v_idx_44) (= (select |c_#valid| v_idx_44) v_v_19_1) (< v_idx_44 |c_main_~malloc_#res.base|)) (<= (- (- |c_main_~malloc_#res.offset|) c_main_~malloc_~size) (- 400)) (<= (- |c_main_~malloc_#res.offset| (- c_main_~malloc_~size)) 400) v_v_19_1 (<= c_main_q.offset c_main_p.offset) (= (select v_v_5_1 v_idx_41) v_v_6_1) (<= (- (- c_main_p.offset) c_main_p.offset) 0) (= (select |c_#memory_int| v_idx_46) v_v_5_1) (<= (- c_main_p.offset c_main_q.offset) 0) (<= (- (- c_main_p.offset) (- c_main_q.offset)) 0) |c_main_#t~short2| (= 400 (+ c_main_p.offset 400)) (= c_main_q.offset 0) (= c_main_~malloc_~size 400) (<= (- (- |c_main_~malloc_#res.offset|) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset c_main_~malloc_~size) (- 400)) (= v_v_1_1 (select |c_main_~malloc_old_#length| v_idx_40)) (<= (- (- c_main_p.offset) c_main_q.offset) 0) (<= (- c_main_p.offset (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_~malloc_~size)) 400) (<= (- |c_main_~malloc_#res.offset| c_main_~malloc_~size) (- 400)) (not (= c_main_q.base 0)) (<= 0 (+ |c_main_~malloc_#res.offset| c_main_p.offset)) (or (< v_idx_50 |c_main_~malloc_#res.base|) (= (select |c_#length| v_idx_50) (+ c_main_p.offset 400)) (<= (+ |c_main_~malloc_#res.base| 1) v_idx_50)) (<= (- c_main_q.offset (- c_main_q.offset)) 0) (<= (+ c_main_~malloc_~size c_main_p.offset) 400) (<= (- (- c_main_q.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (+ c_main_q.offset c_main_p.offset) 0) (<= (- (- c_main_q.offset) (- c_main_~malloc_~size)) 400) (or (= (select |c_#length| v_idx_51) v_v_26_1) (< v_idx_51 (+ |c_main_~malloc_#res.base| 1))) (<= (- (- |c_main_~malloc_#res.offset|) |c_main_~malloc_#res.offset|) 0) (<= 0 (+ c_main_q.offset c_main_p.offset)) (= (select |c_old(#length)| v_idx_48) v_v_2_1) (= |c_main_~malloc_#res.offset| 0) (<= (- c_main_p.offset (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- c_main_~malloc_~size)) 800) (<= c_main_p.offset |c_main_~malloc_#res.offset|) (<= (- c_main_p.offset (- c_main_p.offset)) 0) (<= (* 2 c_main_p.offset) 0) (<= c_main_p.offset c_main_q.offset) (<= |c_main_~malloc_#res.offset| c_main_p.offset) (<= (- (- c_main_~malloc_~size) c_main_~malloc_~size) (- 800)) (<= (- (- c_main_p.offset) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset |c_main_~malloc_#res.offset|) 0) (<= (+ c_main_p.offset 400) c_main_~malloc_~size) (<= (- (- c_main_q.offset) |c_main_~malloc_#res.offset|) 0) (<= (- |c_main_~malloc_#res.offset| (- |c_main_~malloc_#res.offset|)) 0) (or (<= |c_main_~malloc_#res.base| v_idx_43) (= (select |c_#valid| v_idx_43) v_v_18_1)) (or (<= |c_main_~malloc_#res.base| v_idx_49) (= (select |c_#length| v_idx_49) v_v_24_1)) (<= (- (- c_main_p.offset) |c_main_~malloc_#res.offset|) 0) (= c_main_p.offset 0) (<= (- (- c_main_q.offset) c_main_q.offset) 0) (<= (- c_main_q.offset c_main_~malloc_~size) (- 400)) (= (select |c_main_~malloc_old_#valid| v_idx_52) v_v_12_1) (or (= (select |c_#valid| v_idx_45) v_v_20_1) (< v_idx_45 (+ |c_main_~malloc_#res.base| 1))) (<= (- c_main_p.offset (- c_main_q.offset)) 0) (<= 0 (* 2 c_main_p.offset)) (= (select v_v_7_1 v_idx_39) v_v_8_1) (= v_v_7_1 (select |c_old(#memory_int)| v_idx_47)) (<= (- c_main_q.offset |c_main_~malloc_#res.offset|) 0) (not (= c_main_p.base 0)) (<= (- (- c_main_p.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_q.offset) c_main_~malloc_~size) (- 400)) (<= c_main_~malloc_~size (+ c_main_p.offset 400)) (<= 400 (+ c_main_~malloc_~size c_main_p.offset)))))} [2019-01-18 15:36:43,279 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-01-18 15:36:43,281 WARN L268 ngHoareTripleChecker]: -- [2019-01-18 15:36:43,281 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-01-18 15:36:43,565 WARN L270 ngHoareTripleChecker]: Pre: {2147483645#(and (<= (- main_q.offset (- |main_~malloc_#res.offset|)) 0) (not (= |main_~malloc_#res.base| 0)) (<= (+ |main_~malloc_#res.offset| main_p.offset) 0) (forall ((v_idx_30 Int)) (or (<= (+ |main_~malloc_#res.base| 1) v_idx_30) (select |#valid| v_idx_30) (< v_idx_30 |main_~malloc_#res.base|))) (<= (- (- |main_~malloc_#res.offset|) main_~malloc_~size) (- 400)) (<= (- |main_~malloc_#res.offset| (- main_~malloc_~size)) 400) (<= main_q.offset main_p.offset) (<= (- (- main_p.offset) main_p.offset) 0) (<= (- main_p.offset main_q.offset) 0) (<= (- (- main_p.offset) (- main_q.offset)) 0) (= 400 (+ main_p.offset 400)) (= main_q.offset 0) (= main_~malloc_~size 400) (<= (- (- |main_~malloc_#res.offset|) (- main_~malloc_~size)) 400) (<= (- main_p.offset main_~malloc_~size) (- 400)) (<= (- (- main_p.offset) main_q.offset) 0) (<= (- main_p.offset (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_~malloc_~size)) 400) (<= (- |main_~malloc_#res.offset| main_~malloc_~size) (- 400)) (not (= main_q.base 0)) (<= 0 (+ |main_~malloc_#res.offset| main_p.offset)) (<= (- main_q.offset (- main_q.offset)) 0) (<= (+ main_~malloc_~size main_p.offset) 400) (<= (- (- main_q.offset) (- |main_~malloc_#res.offset|)) 0) (<= (+ main_q.offset main_p.offset) 0) (<= (- (- main_q.offset) (- main_~malloc_~size)) 400) (<= (- (- |main_~malloc_#res.offset|) |main_~malloc_#res.offset|) 0) (<= 0 (+ main_q.offset main_p.offset)) (= |main_~malloc_#res.offset| 0) (forall ((v_idx_36 Int)) (or (< v_idx_36 |main_~malloc_#res.base|) (= (select |#length| v_idx_36) (+ main_p.offset 400)) (<= (+ |main_~malloc_#res.base| 1) v_idx_36))) (<= (- main_p.offset (- main_~malloc_~size)) 400) (<= (- main_~malloc_~size (- main_~malloc_~size)) 800) (<= main_p.offset |main_~malloc_#res.offset|) (<= (- main_p.offset (- main_p.offset)) 0) (<= (* 2 main_p.offset) 0) (<= main_p.offset main_q.offset) (<= |main_~malloc_#res.offset| main_p.offset) (<= (- (- main_~malloc_~size) main_~malloc_~size) (- 800)) (<= (- (- main_p.offset) (- main_~malloc_~size)) 400) (<= (- main_p.offset |main_~malloc_#res.offset|) 0) (<= (+ main_p.offset 400) main_~malloc_~size) (<= (- (- main_q.offset) |main_~malloc_#res.offset|) 0) (<= (- |main_~malloc_#res.offset| (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) |main_~malloc_#res.offset|) 0) (= main_p.offset 0) (<= (- (- main_q.offset) main_q.offset) 0) (<= (- main_q.offset main_~malloc_~size) (- 400)) (<= (- main_p.offset (- main_q.offset)) 0) (<= 0 (* 2 main_p.offset)) (<= (- main_q.offset |main_~malloc_#res.offset|) 0) (not (= main_p.base 0)) (<= (- (- main_p.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) main_~malloc_~size) (- 400)) (<= main_~malloc_~size (+ main_p.offset 400)) (<= 400 (+ main_~malloc_~size main_p.offset)))} [2019-01-18 15:36:43,565 WARN L274 ngHoareTripleChecker]: Action: #t~short2 := q.offset < p.offset + 400; [2019-01-18 15:36:43,565 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (or (and |c_main_#t~short2_primed| (< c_main_q.offset (+ c_main_p.offset 400))) (and (not |c_main_#t~short2_primed|) (not (< c_main_q.offset (+ c_main_p.offset 400))))) [2019-01-18 15:36:43,778 WARN L276 ngHoareTripleChecker]: Post: {2147483644#(and (<= (- main_q.offset (- |main_~malloc_#res.offset|)) 0) (not (= |main_~malloc_#res.base| 0)) (<= (+ |main_~malloc_#res.offset| main_p.offset) 0) (<= (- (- |main_~malloc_#res.offset|) main_~malloc_~size) (- 400)) (<= (- |main_~malloc_#res.offset| (- main_~malloc_~size)) 400) (<= main_q.offset main_p.offset) (<= (- (- main_p.offset) main_p.offset) 0) (<= (- main_p.offset main_q.offset) 0) (<= (- (- main_p.offset) (- main_q.offset)) 0) |main_#t~short2| (= 400 (+ main_p.offset 400)) (forall ((v_idx_44 Int)) (or (<= (+ |main_~malloc_#res.base| 1) v_idx_44) (select |#valid| v_idx_44) (< v_idx_44 |main_~malloc_#res.base|))) (= main_q.offset 0) (= main_~malloc_~size 400) (<= (- (- |main_~malloc_#res.offset|) (- main_~malloc_~size)) 400) (<= (- main_p.offset main_~malloc_~size) (- 400)) (<= (- (- main_p.offset) main_q.offset) 0) (<= (- main_p.offset (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_~malloc_~size)) 400) (<= (- |main_~malloc_#res.offset| main_~malloc_~size) (- 400)) (not (= main_q.base 0)) (<= 0 (+ |main_~malloc_#res.offset| main_p.offset)) (<= (- main_q.offset (- main_q.offset)) 0) (<= (+ main_~malloc_~size main_p.offset) 400) (<= (- (- main_q.offset) (- |main_~malloc_#res.offset|)) 0) (<= (+ main_q.offset main_p.offset) 0) (<= (- (- main_q.offset) (- main_~malloc_~size)) 400) (<= (- (- |main_~malloc_#res.offset|) |main_~malloc_#res.offset|) 0) (forall ((v_idx_50 Int)) (or (< v_idx_50 |main_~malloc_#res.base|) (= (select |#length| v_idx_50) (+ main_p.offset 400)) (<= (+ |main_~malloc_#res.base| 1) v_idx_50))) (<= 0 (+ main_q.offset main_p.offset)) (= |main_~malloc_#res.offset| 0) (<= (- main_p.offset (- main_~malloc_~size)) 400) (<= (- main_~malloc_~size (- main_~malloc_~size)) 800) (<= main_p.offset |main_~malloc_#res.offset|) (<= (- main_p.offset (- main_p.offset)) 0) (<= (* 2 main_p.offset) 0) (<= main_p.offset main_q.offset) (<= |main_~malloc_#res.offset| main_p.offset) (<= (- (- main_~malloc_~size) main_~malloc_~size) (- 800)) (<= (- (- main_p.offset) (- main_~malloc_~size)) 400) (<= (- main_p.offset |main_~malloc_#res.offset|) 0) (<= (+ main_p.offset 400) main_~malloc_~size) (<= (- (- main_q.offset) |main_~malloc_#res.offset|) 0) (<= (- |main_~malloc_#res.offset| (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) |main_~malloc_#res.offset|) 0) (= main_p.offset 0) (<= (- (- main_q.offset) main_q.offset) 0) (<= (- main_q.offset main_~malloc_~size) (- 400)) (<= (- main_p.offset (- main_q.offset)) 0) (<= 0 (* 2 main_p.offset)) (<= (- main_q.offset |main_~malloc_#res.offset|) 0) (not (= main_p.base 0)) (<= (- (- main_p.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) main_~malloc_~size) (- 400)) (<= main_~malloc_~size (+ main_p.offset 400)) (<= 400 (+ main_~malloc_~size main_p.offset)))} [2019-01-18 15:36:44,177 WARN L212 ngHoareTripleChecker]: Soundness check inconclusive for the following hoare triple [2019-01-18 15:36:44,178 WARN L217 ngHoareTripleChecker]: Expected: VALID Actual: UNKNOWN [2019-01-18 15:36:44,178 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-01-18 15:36:44,178 WARN L223 ngHoareTripleChecker]: -- [2019-01-18 15:36:44,179 WARN L224 ngHoareTripleChecker]: Pre: {2147483641#(forall ((v_idx_69 Int) (v_idx_67 Int) (v_idx_78 Int) (v_idx_68 Int) (v_idx_79 Int) (v_idx_76 Int) (v_idx_77 Int) (v_idx_74 Int) (v_idx_75 Int) (v_idx_72 Int) (v_idx_73 Int) (v_idx_70 Int) (v_idx_71 Int) (v_idx_80 Int)) (exists ((v_v_24_1 Int) (v_v_4_1 Bool) (v_v_26_1 Int) (v_v_8_1 Int) (v_v_19_1 Bool) (v_v_18_1 Bool) (v_v_7_1 (Array Int Int)) (v_v_12_1 Bool) (v_v_1_1 Int) (v_v_5_1 (Array Int Int)) (v_v_2_1 Int) (v_v_6_1 Int) (v_v_20_1 Bool)) (and (<= (- c_main_q.offset (- |c_main_~malloc_#res.offset|)) 0) (= v_v_8_1 (select v_v_7_1 v_idx_67)) (not (= |c_main_~malloc_#res.base| 0)) (<= (+ |c_main_~malloc_#res.offset| c_main_p.offset) 0) (<= (- (- |c_main_~malloc_#res.offset|) c_main_~malloc_~size) (- 400)) (<= (- |c_main_~malloc_#res.offset| (- c_main_~malloc_~size)) 400) v_v_19_1 (<= c_main_q.offset c_main_p.offset) (= v_v_1_1 (select |c_main_~malloc_old_#length| v_idx_68)) (<= (- (- c_main_p.offset) c_main_p.offset) 0) (<= (- c_main_p.offset c_main_q.offset) 0) (<= (- (- c_main_p.offset) (- c_main_q.offset)) 0) |c_main_#t~short2| (= 400 (+ c_main_p.offset 400)) (= c_main_q.offset 0) (= c_main_~malloc_~size 400) (<= (- (- |c_main_~malloc_#res.offset|) (- c_main_~malloc_~size)) 400) (or (= (select |c_#valid| v_idx_73) v_v_20_1) (< v_idx_73 (+ |c_main_~malloc_#res.base| 1))) (<= (- c_main_p.offset c_main_~malloc_~size) (- 400)) (= v_v_7_1 (select |c_old(#memory_int)| v_idx_75)) (<= (- (- c_main_p.offset) c_main_q.offset) 0) (<= (- c_main_p.offset (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_~malloc_~size)) 400) (or (= (select |c_#length| v_idx_79) v_v_26_1) (< v_idx_79 (+ |c_main_~malloc_#res.base| 1))) (<= (- |c_main_~malloc_#res.offset| c_main_~malloc_~size) (- 400)) (not (= c_main_q.base 0)) (<= 0 (+ |c_main_~malloc_#res.offset| c_main_p.offset)) (<= (- c_main_q.offset (- c_main_q.offset)) 0) (<= (+ c_main_~malloc_~size c_main_p.offset) 400) (<= (- (- c_main_q.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (+ c_main_q.offset c_main_p.offset) 0) (<= (- (- c_main_q.offset) (- c_main_~malloc_~size)) 400) (<= (- (- |c_main_~malloc_#res.offset|) |c_main_~malloc_#res.offset|) 0) (or (< v_idx_72 |c_main_~malloc_#res.base|) (<= (+ |c_main_~malloc_#res.base| 1) v_idx_72) (= (select |c_#valid| v_idx_72) v_v_19_1)) (<= 0 (+ c_main_q.offset c_main_p.offset)) (= v_v_5_1 (select |c_#memory_int| v_idx_74)) (= |c_main_~malloc_#res.offset| 0) (= v_v_6_1 (select v_v_5_1 v_idx_69)) (or (<= |c_main_~malloc_#res.base| v_idx_71) (= (select |c_#valid| v_idx_71) v_v_18_1)) (<= (- c_main_p.offset (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- c_main_~malloc_~size)) 800) (or (= (select |c_#length| v_idx_77) v_v_24_1) (<= |c_main_~malloc_#res.base| v_idx_77)) (<= c_main_p.offset |c_main_~malloc_#res.offset|) (<= (- c_main_p.offset (- c_main_p.offset)) 0) (<= (* 2 c_main_p.offset) 0) (= (select |c_old(#length)| v_idx_76) v_v_2_1) (<= c_main_p.offset c_main_q.offset) (<= |c_main_~malloc_#res.offset| c_main_p.offset) (<= (- (- c_main_~malloc_~size) c_main_~malloc_~size) (- 800)) (<= (- (- c_main_p.offset) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset |c_main_~malloc_#res.offset|) 0) (<= (+ c_main_p.offset 400) c_main_~malloc_~size) (<= (- (- c_main_q.offset) |c_main_~malloc_#res.offset|) 0) (<= (- |c_main_~malloc_#res.offset| (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) |c_main_~malloc_#res.offset|) 0) (= c_main_p.offset 0) (<= (- (- c_main_q.offset) c_main_q.offset) 0) (<= (- c_main_q.offset c_main_~malloc_~size) (- 400)) (= (select |c_main_~malloc_old_#valid| v_idx_80) v_v_12_1) (<= (- c_main_p.offset (- c_main_q.offset)) 0) (= (select |c_old(#valid)| v_idx_70) v_v_4_1) (<= 0 (* 2 c_main_p.offset)) (or (< v_idx_78 |c_main_~malloc_#res.base|) (<= (+ |c_main_~malloc_#res.base| 1) v_idx_78) (= (select |c_#length| v_idx_78) (+ c_main_p.offset 400))) (<= (- c_main_q.offset |c_main_~malloc_#res.offset|) 0) (not (= c_main_p.base 0)) (<= (- (- c_main_p.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_q.offset) c_main_~malloc_~size) (- 400)) (<= c_main_~malloc_~size (+ c_main_p.offset 400)) (<= 400 (+ c_main_~malloc_~size c_main_p.offset)))))} [2019-01-18 15:36:44,179 WARN L228 ngHoareTripleChecker]: Action: assume #t~short2; [2019-01-18 15:36:44,179 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: |c_main_#t~short2| [2019-01-18 15:36:44,179 WARN L230 ngHoareTripleChecker]: Post: {2147483640#(forall ((v_idx_89 Int) (v_idx_87 Int) (v_idx_88 Int) (v_idx_85 Int) (v_idx_86 Int) (v_idx_83 Int) (v_idx_94 Int) (v_idx_84 Int) (v_idx_81 Int) (v_idx_92 Int) (v_idx_82 Int) (v_idx_93 Int) (v_idx_90 Int) (v_idx_91 Int)) (exists ((v_v_24_1 Int) (v_v_4_1 Bool) (v_v_26_1 Int) (v_v_8_1 Int) (v_v_19_1 Bool) (v_v_18_1 Bool) (v_v_7_1 (Array Int Int)) (v_v_12_1 Bool) (v_v_1_1 Int) (v_v_5_1 (Array Int Int)) (v_v_2_1 Int) (v_v_6_1 Int) (v_v_20_1 Bool)) (and (<= (- c_main_q.offset (- |c_main_~malloc_#res.offset|)) 0) (or (= (select |c_#valid| v_idx_87) v_v_20_1) (< v_idx_87 (+ |c_main_~malloc_#res.base| 1))) (not (= |c_main_~malloc_#res.base| 0)) (= (select v_v_7_1 v_idx_81) v_v_8_1) (<= (+ |c_main_~malloc_#res.offset| c_main_p.offset) 0) (= (select v_v_5_1 v_idx_83) v_v_6_1) (= v_v_2_1 (select |c_old(#length)| v_idx_90)) (= (select |c_main_~malloc_old_#valid| v_idx_94) v_v_12_1) (<= (- (- |c_main_~malloc_#res.offset|) c_main_~malloc_~size) (- 400)) (<= (- |c_main_~malloc_#res.offset| (- c_main_~malloc_~size)) 400) v_v_19_1 (<= c_main_q.offset c_main_p.offset) (<= (- (- c_main_p.offset) c_main_p.offset) 0) (<= (- c_main_p.offset c_main_q.offset) 0) (<= (- (- c_main_p.offset) (- c_main_q.offset)) 0) |c_main_#t~short2| (= 400 (+ c_main_p.offset 400)) (= v_v_1_1 (select |c_main_~malloc_old_#length| v_idx_82)) (= c_main_q.offset 0) (= c_main_~malloc_~size 400) (or (<= (+ |c_main_~malloc_#res.base| 1) v_idx_86) (< v_idx_86 |c_main_~malloc_#res.base|) (= (select |c_#valid| v_idx_86) v_v_19_1)) (<= (- (- |c_main_~malloc_#res.offset|) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset c_main_~malloc_~size) (- 400)) (<= (- (- c_main_p.offset) c_main_q.offset) 0) (<= (- c_main_p.offset (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_~malloc_~size)) 400) (<= (- |c_main_~malloc_#res.offset| c_main_~malloc_~size) (- 400)) (not (= c_main_q.base 0)) (<= 0 (+ |c_main_~malloc_#res.offset| c_main_p.offset)) (<= (- c_main_q.offset (- c_main_q.offset)) 0) (<= (+ c_main_~malloc_~size c_main_p.offset) 400) (<= (- (- c_main_q.offset) (- |c_main_~malloc_#res.offset|)) 0) (or (= (select |c_#length| v_idx_93) v_v_26_1) (< v_idx_93 (+ |c_main_~malloc_#res.base| 1))) (<= (+ c_main_q.offset c_main_p.offset) 0) (<= (- (- c_main_q.offset) (- c_main_~malloc_~size)) 400) (<= (- (- |c_main_~malloc_#res.offset|) |c_main_~malloc_#res.offset|) 0) (or (<= |c_main_~malloc_#res.base| v_idx_85) (= (select |c_#valid| v_idx_85) v_v_18_1)) (<= 0 (+ c_main_q.offset c_main_p.offset)) (= |c_main_~malloc_#res.offset| 0) (or (<= (+ |c_main_~malloc_#res.base| 1) v_idx_92) (= (select |c_#length| v_idx_92) (+ c_main_p.offset 400)) (< v_idx_92 |c_main_~malloc_#res.base|)) (or (<= |c_main_~malloc_#res.base| v_idx_91) (= (select |c_#length| v_idx_91) v_v_24_1)) (<= (- c_main_p.offset (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- c_main_~malloc_~size)) 800) (<= c_main_p.offset |c_main_~malloc_#res.offset|) (<= (- c_main_p.offset (- c_main_p.offset)) 0) (<= (* 2 c_main_p.offset) 0) (<= c_main_p.offset c_main_q.offset) (<= |c_main_~malloc_#res.offset| c_main_p.offset) (<= (- (- c_main_~malloc_~size) c_main_~malloc_~size) (- 800)) (<= (- (- c_main_p.offset) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset |c_main_~malloc_#res.offset|) 0) (<= (+ c_main_p.offset 400) c_main_~malloc_~size) (<= (- (- c_main_q.offset) |c_main_~malloc_#res.offset|) 0) (<= (- |c_main_~malloc_#res.offset| (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) |c_main_~malloc_#res.offset|) 0) (= c_main_p.offset 0) (<= (- (- c_main_q.offset) c_main_q.offset) 0) (<= (- c_main_q.offset c_main_~malloc_~size) (- 400)) (= (select |c_old(#valid)| v_idx_84) v_v_4_1) (= v_v_5_1 (select |c_#memory_int| v_idx_88)) (<= (- c_main_p.offset (- c_main_q.offset)) 0) (= v_v_7_1 (select |c_old(#memory_int)| v_idx_89)) (<= 0 (* 2 c_main_p.offset)) (<= (- c_main_q.offset |c_main_~malloc_#res.offset|) 0) (not (= c_main_p.base 0)) (<= (- (- c_main_p.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_q.offset) c_main_~malloc_~size) (- 400)) (<= c_main_~malloc_~size (+ c_main_p.offset 400)) (<= 400 (+ c_main_~malloc_~size c_main_p.offset)))))} [2019-01-18 15:36:44,180 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-01-18 15:36:44,181 WARN L268 ngHoareTripleChecker]: -- [2019-01-18 15:36:44,182 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-01-18 15:36:44,323 WARN L270 ngHoareTripleChecker]: Pre: {2147483641#(and (<= (- main_q.offset (- |main_~malloc_#res.offset|)) 0) (not (= |main_~malloc_#res.base| 0)) (forall ((v_idx_78 Int)) (or (< v_idx_78 |main_~malloc_#res.base|) (<= (+ |main_~malloc_#res.base| 1) v_idx_78) (= (select |#length| v_idx_78) (+ main_p.offset 400)))) (<= (+ |main_~malloc_#res.offset| main_p.offset) 0) (<= (- (- |main_~malloc_#res.offset|) main_~malloc_~size) (- 400)) (<= (- |main_~malloc_#res.offset| (- main_~malloc_~size)) 400) (<= main_q.offset main_p.offset) (<= (- (- main_p.offset) main_p.offset) 0) (<= (- main_p.offset main_q.offset) 0) (<= (- (- main_p.offset) (- main_q.offset)) 0) |main_#t~short2| (= 400 (+ main_p.offset 400)) (= main_q.offset 0) (= main_~malloc_~size 400) (<= (- (- |main_~malloc_#res.offset|) (- main_~malloc_~size)) 400) (<= (- main_p.offset main_~malloc_~size) (- 400)) (<= (- (- main_p.offset) main_q.offset) 0) (<= (- main_p.offset (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_~malloc_~size)) 400) (<= (- |main_~malloc_#res.offset| main_~malloc_~size) (- 400)) (not (= main_q.base 0)) (<= 0 (+ |main_~malloc_#res.offset| main_p.offset)) (<= (- main_q.offset (- main_q.offset)) 0) (<= (+ main_~malloc_~size main_p.offset) 400) (<= (- (- main_q.offset) (- |main_~malloc_#res.offset|)) 0) (<= (+ main_q.offset main_p.offset) 0) (<= (- (- main_q.offset) (- main_~malloc_~size)) 400) (<= (- (- |main_~malloc_#res.offset|) |main_~malloc_#res.offset|) 0) (<= 0 (+ main_q.offset main_p.offset)) (= |main_~malloc_#res.offset| 0) (forall ((v_idx_72 Int)) (or (< v_idx_72 |main_~malloc_#res.base|) (<= (+ |main_~malloc_#res.base| 1) v_idx_72) (select |#valid| v_idx_72))) (<= (- main_p.offset (- main_~malloc_~size)) 400) (<= (- main_~malloc_~size (- main_~malloc_~size)) 800) (<= main_p.offset |main_~malloc_#res.offset|) (<= (- main_p.offset (- main_p.offset)) 0) (<= (* 2 main_p.offset) 0) (<= main_p.offset main_q.offset) (<= |main_~malloc_#res.offset| main_p.offset) (<= (- (- main_~malloc_~size) main_~malloc_~size) (- 800)) (<= (- (- main_p.offset) (- main_~malloc_~size)) 400) (<= (- main_p.offset |main_~malloc_#res.offset|) 0) (<= (+ main_p.offset 400) main_~malloc_~size) (<= (- (- main_q.offset) |main_~malloc_#res.offset|) 0) (<= (- |main_~malloc_#res.offset| (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) |main_~malloc_#res.offset|) 0) (= main_p.offset 0) (<= (- (- main_q.offset) main_q.offset) 0) (<= (- main_q.offset main_~malloc_~size) (- 400)) (<= (- main_p.offset (- main_q.offset)) 0) (<= 0 (* 2 main_p.offset)) (<= (- main_q.offset |main_~malloc_#res.offset|) 0) (not (= main_p.base 0)) (<= (- (- main_p.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) main_~malloc_~size) (- 400)) (<= main_~malloc_~size (+ main_p.offset 400)) (<= 400 (+ main_~malloc_~size main_p.offset)))} [2019-01-18 15:36:44,324 WARN L274 ngHoareTripleChecker]: Action: assume #t~short2; [2019-01-18 15:36:44,324 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: |c_main_#t~short2| [2019-01-18 15:36:44,435 WARN L276 ngHoareTripleChecker]: Post: {2147483640#(and (<= (- main_q.offset (- |main_~malloc_#res.offset|)) 0) (not (= |main_~malloc_#res.base| 0)) (<= (+ |main_~malloc_#res.offset| main_p.offset) 0) (<= (- (- |main_~malloc_#res.offset|) main_~malloc_~size) (- 400)) (<= (- |main_~malloc_#res.offset| (- main_~malloc_~size)) 400) (<= main_q.offset main_p.offset) (<= (- (- main_p.offset) main_p.offset) 0) (<= (- main_p.offset main_q.offset) 0) (<= (- (- main_p.offset) (- main_q.offset)) 0) |main_#t~short2| (= 400 (+ main_p.offset 400)) (= main_q.offset 0) (= main_~malloc_~size 400) (<= (- (- |main_~malloc_#res.offset|) (- main_~malloc_~size)) 400) (<= (- main_p.offset main_~malloc_~size) (- 400)) (<= (- (- main_p.offset) main_q.offset) 0) (<= (- main_p.offset (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) main_~malloc_~size) (- 400)) (forall ((v_idx_86 Int)) (or (<= (+ |main_~malloc_#res.base| 1) v_idx_86) (< v_idx_86 |main_~malloc_#res.base|) (select |#valid| v_idx_86))) (<= (- main_q.offset (- main_~malloc_~size)) 400) (<= (- |main_~malloc_#res.offset| main_~malloc_~size) (- 400)) (not (= main_q.base 0)) (<= 0 (+ |main_~malloc_#res.offset| main_p.offset)) (<= (- main_q.offset (- main_q.offset)) 0) (<= (+ main_~malloc_~size main_p.offset) 400) (<= (- (- main_q.offset) (- |main_~malloc_#res.offset|)) 0) (<= (+ main_q.offset main_p.offset) 0) (<= (- (- main_q.offset) (- main_~malloc_~size)) 400) (<= (- (- |main_~malloc_#res.offset|) |main_~malloc_#res.offset|) 0) (<= 0 (+ main_q.offset main_p.offset)) (= |main_~malloc_#res.offset| 0) (<= (- main_p.offset (- main_~malloc_~size)) 400) (<= (- main_~malloc_~size (- main_~malloc_~size)) 800) (<= main_p.offset |main_~malloc_#res.offset|) (<= (- main_p.offset (- main_p.offset)) 0) (<= (* 2 main_p.offset) 0) (<= main_p.offset main_q.offset) (<= |main_~malloc_#res.offset| main_p.offset) (<= (- (- main_~malloc_~size) main_~malloc_~size) (- 800)) (<= (- (- main_p.offset) (- main_~malloc_~size)) 400) (forall ((v_idx_92 Int)) (or (<= (+ |main_~malloc_#res.base| 1) v_idx_92) (= (select |#length| v_idx_92) (+ main_p.offset 400)) (< v_idx_92 |main_~malloc_#res.base|))) (<= (- main_p.offset |main_~malloc_#res.offset|) 0) (<= (+ main_p.offset 400) main_~malloc_~size) (<= (- (- main_q.offset) |main_~malloc_#res.offset|) 0) (<= (- |main_~malloc_#res.offset| (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) |main_~malloc_#res.offset|) 0) (= main_p.offset 0) (<= (- (- main_q.offset) main_q.offset) 0) (<= (- main_q.offset main_~malloc_~size) (- 400)) (<= (- main_p.offset (- main_q.offset)) 0) (<= 0 (* 2 main_p.offset)) (<= (- main_q.offset |main_~malloc_#res.offset|) 0) (not (= main_p.base 0)) (<= (- (- main_p.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) main_~malloc_~size) (- 400)) (<= main_~malloc_~size (+ main_p.offset 400)) (<= 400 (+ main_~malloc_~size main_p.offset)))} [2019-01-18 15:36:44,704 WARN L212 ngHoareTripleChecker]: Soundness check inconclusive for the following hoare triple [2019-01-18 15:36:44,704 WARN L217 ngHoareTripleChecker]: Expected: VALID Actual: UNKNOWN [2019-01-18 15:36:44,705 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-01-18 15:36:44,705 WARN L223 ngHoareTripleChecker]: -- [2019-01-18 15:36:44,705 WARN L224 ngHoareTripleChecker]: Pre: {2147483637#(forall ((v_idx_115 Int) (v_idx_116 Int) (v_idx_113 Int) (v_idx_114 Int) (v_idx_119 Int) (v_idx_109 Int) (v_idx_117 Int) (v_idx_118 Int) (v_idx_122 Int) (v_idx_111 Int) (v_idx_112 Int) (v_idx_120 Int) (v_idx_121 Int) (v_idx_110 Int)) (exists ((v_v_24_1 Int) (v_v_4_1 Bool) (v_v_26_1 Int) (v_v_8_1 Int) (v_v_19_1 Bool) (v_v_18_1 Bool) (v_v_7_1 (Array Int Int)) (v_v_12_1 Bool) (v_v_1_1 Int) (v_v_2_1 Int) (v_v_5_1 (Array Int Int)) (v_v_6_1 Int) (v_v_20_1 Bool)) (and (<= (- c_main_q.offset (- |c_main_~malloc_#res.offset|)) 0) (not (= |c_main_~malloc_#res.base| 0)) (or (= (select |c_#length| v_idx_119) v_v_24_1) (<= |c_main_~malloc_#res.base| v_idx_119)) (<= (+ |c_main_~malloc_#res.offset| c_main_p.offset) 0) (= v_v_4_1 (select |c_old(#valid)| v_idx_112)) (<= (- (- |c_main_~malloc_#res.offset|) c_main_~malloc_~size) (- 400)) (<= (- |c_main_~malloc_#res.offset| (- c_main_~malloc_~size)) 400) v_v_19_1 (<= c_main_q.offset c_main_p.offset) (<= (- (- c_main_p.offset) c_main_p.offset) 0) (<= (- c_main_p.offset c_main_q.offset) 0) (<= (- (- c_main_p.offset) (- c_main_q.offset)) 0) |c_main_#t~short2| (= 400 (+ c_main_p.offset 400)) (= v_v_2_1 (select |c_old(#length)| v_idx_118)) (= c_main_q.offset 0) (= c_main_~malloc_~size 400) (<= (- (- |c_main_~malloc_#res.offset|) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset c_main_~malloc_~size) (- 400)) (<= (- (- c_main_p.offset) c_main_q.offset) 0) (<= (- c_main_p.offset (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_~malloc_~size)) 400) (<= (- |c_main_~malloc_#res.offset| c_main_~malloc_~size) (- 400)) (not (= c_main_q.base 0)) (<= 0 (+ |c_main_~malloc_#res.offset| c_main_p.offset)) (<= (- c_main_q.offset (- c_main_q.offset)) 0) (<= (+ c_main_~malloc_~size c_main_p.offset) 400) (<= (- (- c_main_q.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (+ c_main_q.offset c_main_p.offset) 0) (<= (- (- c_main_q.offset) (- c_main_~malloc_~size)) 400) (<= (- (- |c_main_~malloc_#res.offset|) |c_main_~malloc_#res.offset|) 0) (= v_v_7_1 (select |c_old(#memory_int)| v_idx_117)) (<= 0 (+ c_main_q.offset c_main_p.offset)) (= |c_main_~malloc_#res.offset| 0) (= (select |c_#memory_int| v_idx_116) v_v_5_1) (or (<= |c_main_~malloc_#res.base| v_idx_113) (= (select |c_#valid| v_idx_113) v_v_18_1)) (or (= (select |c_#length| v_idx_120) (+ c_main_p.offset 400)) (< v_idx_120 |c_main_~malloc_#res.base|) (<= (+ |c_main_~malloc_#res.base| 1) v_idx_120)) (or (= (select |c_#length| v_idx_121) v_v_26_1) (< v_idx_121 (+ |c_main_~malloc_#res.base| 1))) (<= (- c_main_p.offset (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- c_main_~malloc_~size)) 800) (<= c_main_p.offset |c_main_~malloc_#res.offset|) (<= (- c_main_p.offset (- c_main_p.offset)) 0) (or (= (select |c_#valid| v_idx_115) v_v_20_1) (< v_idx_115 (+ |c_main_~malloc_#res.base| 1))) (<= (* 2 c_main_p.offset) 0) (<= c_main_p.offset c_main_q.offset) (<= |c_main_~malloc_#res.offset| c_main_p.offset) (<= (- (- c_main_~malloc_~size) c_main_~malloc_~size) (- 800)) (<= (- (- c_main_p.offset) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset |c_main_~malloc_#res.offset|) 0) (<= (+ c_main_p.offset 400) c_main_~malloc_~size) (= v_v_1_1 (select |c_main_~malloc_old_#length| v_idx_110)) (= v_v_6_1 (select v_v_5_1 v_idx_111)) (<= (- (- c_main_q.offset) |c_main_~malloc_#res.offset|) 0) (<= (- |c_main_~malloc_#res.offset| (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) |c_main_~malloc_#res.offset|) 0) (= c_main_p.offset 0) (= v_v_12_1 (select |c_main_~malloc_old_#valid| v_idx_122)) (<= (- (- c_main_q.offset) c_main_q.offset) 0) (<= (- c_main_q.offset c_main_~malloc_~size) (- 400)) (= v_v_8_1 (select v_v_7_1 v_idx_109)) (<= (- c_main_p.offset (- c_main_q.offset)) 0) (<= 0 (* 2 c_main_p.offset)) (or (<= (+ |c_main_~malloc_#res.base| 1) v_idx_114) (< v_idx_114 |c_main_~malloc_#res.base|) (= v_v_19_1 (select |c_#valid| v_idx_114))) (<= (- c_main_q.offset |c_main_~malloc_#res.offset|) 0) (not (= c_main_p.base 0)) (<= (- (- c_main_p.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_q.offset) c_main_~malloc_~size) (- 400)) (<= c_main_~malloc_~size (+ c_main_p.offset 400)) (<= 400 (+ c_main_~malloc_~size c_main_p.offset)))))} [2019-01-18 15:36:44,705 WARN L228 ngHoareTripleChecker]: Action: assume !(4 + q.offset <= #length[q.base]); [2019-01-18 15:36:44,705 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (not (<= (+ c_main_q.offset 4) (select |c_#length| c_main_q.base))) [2019-01-18 15:36:44,706 WARN L230 ngHoareTripleChecker]: Post: {2147483636#(forall ((v_idx_126 Int) (v_idx_127 Int) (v_idx_124 Int) (v_idx_135 Int) (v_idx_125 Int) (v_idx_136 Int) (v_idx_128 Int) (v_idx_129 Int) (v_idx_130 Int) (v_idx_133 Int) (v_idx_123 Int) (v_idx_134 Int) (v_idx_131 Int) (v_idx_132 Int)) (exists ((v_v_4_1 Bool) (v_v_28_1 Int) (v_v_29_1 Int) (v_v_27_1 Int) (v_v_8_1 Int) (v_v_19_1 Bool) (v_v_18_1 Bool) (v_v_7_1 (Array Int Int)) (v_v_12_1 Bool) (v_v_1_1 Int) (v_v_5_1 (Array Int Int)) (v_v_2_1 Int) (v_v_6_1 Int) (v_v_20_1 Bool)) (and (<= (- |c_main_~malloc_#res.offset| (- v_v_28_1)) 3) (<= (- c_main_q.offset (- |c_main_~malloc_#res.offset|)) 0) (or (= (select |c_#valid| v_idx_129) v_v_20_1) (< v_idx_129 (+ |c_main_~malloc_#res.base| 1))) (not (= |c_main_~malloc_#res.base| 0)) (<= (- c_main_p.offset (- v_v_28_1)) 3) (<= (- (- |c_main_~malloc_#res.offset|) c_main_~malloc_~size) (- 400)) (<= (- |c_main_~malloc_#res.offset| (- c_main_~malloc_~size)) 400) v_v_19_1 (<= (- (- c_main_p.offset) c_main_p.offset) 0) (<= (- v_v_28_1 (- v_v_28_1)) 6) (<= (- c_main_p.offset c_main_q.offset) 0) (= (select |c_old(#valid)| v_idx_126) v_v_4_1) (<= (- (- c_main_p.offset) (- c_main_q.offset)) 0) |c_main_#t~short2| (<= (- (- c_main_p.offset) (- v_v_28_1)) 3) (<= (- (- c_main_q.offset) (- v_v_28_1)) 3) (= c_main_q.offset 0) (<= (- c_main_q.offset (- v_v_28_1)) 3) (= (select v_v_7_1 v_idx_123) v_v_8_1) (= v_v_7_1 (select |c_old(#memory_int)| v_idx_131)) (= c_main_~malloc_~size 400) (<= (- (- |c_main_~malloc_#res.offset|) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset c_main_~malloc_~size) (- 400)) (or (= v_v_29_1 (select |c_#length| v_idx_135)) (< v_idx_135 (+ c_main_q.base 1))) (<= (- (- c_main_~malloc_~size) (- v_v_28_1)) (- 397)) (<= (- (- c_main_p.offset) c_main_q.offset) 0) (<= (- c_main_p.offset (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_~malloc_~size)) 400) (<= (- |c_main_~malloc_#res.offset| c_main_~malloc_~size) (- 400)) (not (= c_main_q.base 0)) (<= (- c_main_q.offset (- c_main_q.offset)) 0) (= v_v_5_1 (select |c_#memory_int| v_idx_130)) (<= (- (- c_main_q.offset) (- |c_main_~malloc_#res.offset|)) 0) (= (select v_v_5_1 v_idx_125) v_v_6_1) (<= (- (- c_main_q.offset) (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- v_v_28_1)) 403) (or (<= (+ |c_main_~malloc_#res.base| 1) v_idx_128) (= (select |c_#valid| v_idx_128) v_v_19_1) (< v_idx_128 |c_main_~malloc_#res.base|)) (or (= (select |c_#length| v_idx_133) v_v_27_1) (<= c_main_q.base v_idx_133)) (<= (- (- |c_main_~malloc_#res.offset|) |c_main_~malloc_#res.offset|) 0) (= |c_main_~malloc_#res.offset| 0) (or (<= |c_main_~malloc_#res.base| v_idx_127) (= (select |c_#valid| v_idx_127) v_v_18_1)) (= v_v_1_1 (select |c_main_~malloc_old_#length| v_idx_124)) (<= (- c_main_p.offset (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- c_main_~malloc_~size)) 800) (<= (- c_main_p.offset (- c_main_p.offset)) 0) (<= (- (- |c_main_~malloc_#res.offset|) (- v_v_28_1)) 3) (or (<= (+ c_main_q.base 1) v_idx_134) (< v_idx_134 c_main_q.base) (= (select |c_#length| v_idx_134) v_v_28_1)) (<= (- (- c_main_~malloc_~size) c_main_~malloc_~size) (- 800)) (<= (- (- c_main_p.offset) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset |c_main_~malloc_#res.offset|) 0) (<= (- (- c_main_q.offset) |c_main_~malloc_#res.offset|) 0) (<= (- |c_main_~malloc_#res.offset| (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) |c_main_~malloc_#res.offset|) 0) (= c_main_p.offset 0) (<= (- (- c_main_q.offset) c_main_q.offset) 0) (<= (- c_main_q.offset c_main_~malloc_~size) (- 400)) (<= (- c_main_p.offset (- c_main_q.offset)) 0) (<= (- c_main_q.offset |c_main_~malloc_#res.offset|) 0) (not (= c_main_p.base 0)) (<= (- (- c_main_p.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_q.offset) c_main_~malloc_~size) (- 400)) (= (select |c_old(#length)| v_idx_132) v_v_2_1) (= v_v_12_1 (select |c_main_~malloc_old_#valid| v_idx_136)))))} [2019-01-18 15:36:44,706 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-01-18 15:36:44,706 WARN L268 ngHoareTripleChecker]: -- [2019-01-18 15:36:44,707 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-01-18 15:36:44,805 WARN L270 ngHoareTripleChecker]: Pre: {2147483637#(and (<= (- main_q.offset (- |main_~malloc_#res.offset|)) 0) (not (= |main_~malloc_#res.base| 0)) (<= (+ |main_~malloc_#res.offset| main_p.offset) 0) (<= (- (- |main_~malloc_#res.offset|) main_~malloc_~size) (- 400)) (<= (- |main_~malloc_#res.offset| (- main_~malloc_~size)) 400) (<= main_q.offset main_p.offset) (<= (- (- main_p.offset) main_p.offset) 0) (<= (- main_p.offset main_q.offset) 0) (<= (- (- main_p.offset) (- main_q.offset)) 0) |main_#t~short2| (= 400 (+ main_p.offset 400)) (= main_q.offset 0) (= main_~malloc_~size 400) (<= (- (- |main_~malloc_#res.offset|) (- main_~malloc_~size)) 400) (<= (- main_p.offset main_~malloc_~size) (- 400)) (<= (- (- main_p.offset) main_q.offset) 0) (<= (- main_p.offset (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_~malloc_~size)) 400) (<= (- |main_~malloc_#res.offset| main_~malloc_~size) (- 400)) (not (= main_q.base 0)) (<= 0 (+ |main_~malloc_#res.offset| main_p.offset)) (<= (- main_q.offset (- main_q.offset)) 0) (<= (+ main_~malloc_~size main_p.offset) 400) (<= (- (- main_q.offset) (- |main_~malloc_#res.offset|)) 0) (<= (+ main_q.offset main_p.offset) 0) (<= (- (- main_q.offset) (- main_~malloc_~size)) 400) (<= (- (- |main_~malloc_#res.offset|) |main_~malloc_#res.offset|) 0) (<= 0 (+ main_q.offset main_p.offset)) (= |main_~malloc_#res.offset| 0) (<= (- main_p.offset (- main_~malloc_~size)) 400) (<= (- main_~malloc_~size (- main_~malloc_~size)) 800) (forall ((v_idx_114 Int)) (or (<= (+ |main_~malloc_#res.base| 1) v_idx_114) (select |#valid| v_idx_114) (< v_idx_114 |main_~malloc_#res.base|))) (<= main_p.offset |main_~malloc_#res.offset|) (<= (- main_p.offset (- main_p.offset)) 0) (<= (* 2 main_p.offset) 0) (<= main_p.offset main_q.offset) (<= |main_~malloc_#res.offset| main_p.offset) (<= (- (- main_~malloc_~size) main_~malloc_~size) (- 800)) (<= (- (- main_p.offset) (- main_~malloc_~size)) 400) (<= (- main_p.offset |main_~malloc_#res.offset|) 0) (<= (+ main_p.offset 400) main_~malloc_~size) (<= (- (- main_q.offset) |main_~malloc_#res.offset|) 0) (<= (- |main_~malloc_#res.offset| (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) |main_~malloc_#res.offset|) 0) (= main_p.offset 0) (<= (- (- main_q.offset) main_q.offset) 0) (<= (- main_q.offset main_~malloc_~size) (- 400)) (<= (- main_p.offset (- main_q.offset)) 0) (<= 0 (* 2 main_p.offset)) (<= (- main_q.offset |main_~malloc_#res.offset|) 0) (not (= main_p.base 0)) (<= (- (- main_p.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) main_~malloc_~size) (- 400)) (<= main_~malloc_~size (+ main_p.offset 400)) (forall ((v_idx_120 Int)) (or (= (select |#length| v_idx_120) (+ main_p.offset 400)) (< v_idx_120 |main_~malloc_#res.base|) (<= (+ |main_~malloc_#res.base| 1) v_idx_120))) (<= 400 (+ main_~malloc_~size main_p.offset)))} [2019-01-18 15:36:44,806 WARN L274 ngHoareTripleChecker]: Action: assume !(4 + q.offset <= #length[q.base]); [2019-01-18 15:36:44,806 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (not (<= (+ c_main_q.offset 4) (select |c_#length| c_main_q.base))) [2019-01-18 15:36:45,015 WARN L276 ngHoareTripleChecker]: Post: {2147483636#(and (<= (- main_q.offset (- |main_~malloc_#res.offset|)) 0) (forall ((v_idx_134 Int)) (or (<= (+ main_q.base 1) v_idx_134) (< v_idx_134 main_q.base) (<= (+ (select |#length| v_idx_134) 397) main_~malloc_~size))) (not (= |main_~malloc_#res.base| 0)) (forall ((v_prenex_8 Int)) (or (< v_prenex_8 main_q.base) (<= (+ main_q.base 1) v_prenex_8) (<= (+ main_~malloc_~size (select |#length| v_prenex_8)) 403))) (forall ((v_prenex_1 Int)) (or (< v_prenex_1 main_q.base) (<= (select |#length| v_prenex_1) (+ |main_~malloc_#res.offset| 3)) (<= (+ main_q.base 1) v_prenex_1))) (forall ((v_prenex_7 Int)) (or (<= (+ main_q.base 1) v_prenex_7) (<= (select |#length| v_prenex_7) (+ main_p.offset 3)) (< v_prenex_7 main_q.base))) (<= (- (- |main_~malloc_#res.offset|) main_~malloc_~size) (- 400)) (<= (- |main_~malloc_#res.offset| (- main_~malloc_~size)) 400) (<= (- (- main_p.offset) main_p.offset) 0) (<= (- main_p.offset main_q.offset) 0) (<= (- (- main_p.offset) (- main_q.offset)) 0) |main_#t~short2| (= main_q.offset 0) (forall ((v_prenex_2 Int)) (or (<= (* 2 (select |#length| v_prenex_2)) 6) (<= (+ main_q.base 1) v_prenex_2) (< v_prenex_2 main_q.base))) (= main_~malloc_~size 400) (<= (- (- |main_~malloc_#res.offset|) (- main_~malloc_~size)) 400) (<= (- main_p.offset main_~malloc_~size) (- 400)) (<= (- (- main_p.offset) main_q.offset) 0) (<= (- main_p.offset (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_~malloc_~size)) 400) (forall ((v_prenex_3 Int)) (or (<= (+ main_q.base 1) v_prenex_3) (<= (+ |main_~malloc_#res.offset| (select |#length| v_prenex_3)) 3) (< v_prenex_3 main_q.base))) (<= (- |main_~malloc_#res.offset| main_~malloc_~size) (- 400)) (not (= main_q.base 0)) (<= (- main_q.offset (- main_q.offset)) 0) (<= (- (- main_q.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) (- main_~malloc_~size)) 400) (<= (- (- |main_~malloc_#res.offset|) |main_~malloc_#res.offset|) 0) (forall ((v_prenex_4 Int)) (or (<= (+ main_q.base 1) v_prenex_4) (<= (+ main_p.offset (select |#length| v_prenex_4)) 3) (< v_prenex_4 main_q.base))) (= |main_~malloc_#res.offset| 0) (forall ((v_prenex_6 Int)) (or (< v_prenex_6 main_q.base) (<= (+ main_q.base 1) v_prenex_6) (<= (+ main_q.offset (select |#length| v_prenex_6)) 3))) (<= (- main_p.offset (- main_~malloc_~size)) 400) (<= (- main_~malloc_~size (- main_~malloc_~size)) 800) (<= (- main_p.offset (- main_p.offset)) 0) (<= (- (- main_~malloc_~size) main_~malloc_~size) (- 800)) (<= (- (- main_p.offset) (- main_~malloc_~size)) 400) (<= (- main_p.offset |main_~malloc_#res.offset|) 0) (<= (- (- main_q.offset) |main_~malloc_#res.offset|) 0) (forall ((v_prenex_5 Int)) (or (<= (+ main_q.base 1) v_prenex_5) (<= (select |#length| v_prenex_5) (+ main_q.offset 3)) (< v_prenex_5 main_q.base))) (<= (- |main_~malloc_#res.offset| (- |main_~malloc_#res.offset|)) 0) (forall ((v_idx_128 Int)) (or (<= (+ |main_~malloc_#res.base| 1) v_idx_128) (< v_idx_128 |main_~malloc_#res.base|) (select |#valid| v_idx_128))) (<= (- (- main_p.offset) |main_~malloc_#res.offset|) 0) (= main_p.offset 0) (<= (- (- main_q.offset) main_q.offset) 0) (<= (- main_q.offset main_~malloc_~size) (- 400)) (<= (- main_p.offset (- main_q.offset)) 0) (<= (- main_q.offset |main_~malloc_#res.offset|) 0) (not (= main_p.base 0)) (<= (- (- main_p.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) main_~malloc_~size) (- 400)))} [2019-01-18 15:36:45,283 WARN L212 ngHoareTripleChecker]: Soundness check inconclusive for the following hoare triple [2019-01-18 15:36:45,283 WARN L217 ngHoareTripleChecker]: Expected: VALID Actual: UNKNOWN [2019-01-18 15:36:45,284 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-01-18 15:36:45,284 WARN L223 ngHoareTripleChecker]: -- [2019-01-18 15:36:45,284 WARN L224 ngHoareTripleChecker]: Pre: {2147483635#(forall ((v_idx_148 Int) (v_idx_137 Int) (v_idx_149 Int) (v_idx_138 Int) (v_idx_146 Int) (v_idx_147 Int) (v_idx_139 Int) (v_idx_140 Int) (v_idx_141 Int) (v_idx_150 Int) (v_idx_144 Int) (v_idx_145 Int) (v_idx_142 Int) (v_idx_143 Int)) (exists ((v_v_24_1 Int) (v_v_4_1 Bool) (v_v_26_1 Int) (v_v_8_1 Int) (v_v_19_1 Bool) (v_v_18_1 Bool) (v_v_7_1 (Array Int Int)) (v_v_12_1 Bool) (v_v_1_1 Int) (v_v_5_1 (Array Int Int)) (v_v_2_1 Int) (v_v_6_1 Int) (v_v_20_1 Bool)) (and (<= (- c_main_q.offset (- |c_main_~malloc_#res.offset|)) 0) (not (= |c_main_~malloc_#res.base| 0)) (<= (+ |c_main_~malloc_#res.offset| c_main_p.offset) 0) (= v_v_5_1 (select |c_#memory_int| v_idx_144)) (<= (- (- |c_main_~malloc_#res.offset|) c_main_~malloc_~size) (- 400)) (<= (- |c_main_~malloc_#res.offset| (- c_main_~malloc_~size)) 400) v_v_19_1 (<= c_main_q.offset c_main_p.offset) (= (select |c_main_~malloc_old_#length| v_idx_138) v_v_1_1) (<= (- (- c_main_p.offset) c_main_p.offset) 0) (<= (- c_main_p.offset c_main_q.offset) 0) (or (= (select |c_#length| v_idx_148) (+ c_main_p.offset 400)) (<= (+ |c_main_~malloc_#res.base| 1) v_idx_148) (< v_idx_148 |c_main_~malloc_#res.base|)) (or (= v_v_24_1 (select |c_#length| v_idx_147)) (<= |c_main_~malloc_#res.base| v_idx_147)) (<= (- (- c_main_p.offset) (- c_main_q.offset)) 0) |c_main_#t~short2| (= 400 (+ c_main_p.offset 400)) (= c_main_q.offset 0) (= c_main_~malloc_~size 400) (<= (- (- |c_main_~malloc_#res.offset|) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset c_main_~malloc_~size) (- 400)) (<= (- (- c_main_p.offset) c_main_q.offset) 0) (<= (- c_main_p.offset (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_~malloc_~size)) 400) (<= (- |c_main_~malloc_#res.offset| c_main_~malloc_~size) (- 400)) (not (= c_main_q.base 0)) (<= 0 (+ |c_main_~malloc_#res.offset| c_main_p.offset)) (<= (- c_main_q.offset (- c_main_q.offset)) 0) (<= (+ c_main_~malloc_~size c_main_p.offset) 400) (<= (- (- c_main_q.offset) (- |c_main_~malloc_#res.offset|)) 0) (= v_v_2_1 (select |c_old(#length)| v_idx_146)) (<= (+ c_main_q.offset c_main_p.offset) 0) (<= (- (- c_main_q.offset) (- c_main_~malloc_~size)) 400) (or (<= |c_main_~malloc_#res.base| v_idx_141) (= (select |c_#valid| v_idx_141) v_v_18_1)) (<= (- (- |c_main_~malloc_#res.offset|) |c_main_~malloc_#res.offset|) 0) (<= 0 (+ c_main_q.offset c_main_p.offset)) (= |c_main_~malloc_#res.offset| 0) (<= (- c_main_p.offset (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- c_main_~malloc_~size)) 800) (= (select v_v_7_1 v_idx_137) v_v_8_1) (= v_v_4_1 (select |c_old(#valid)| v_idx_140)) (<= c_main_p.offset |c_main_~malloc_#res.offset|) (<= (- c_main_p.offset (- c_main_p.offset)) 0) (<= (* 2 c_main_p.offset) 0) (<= c_main_p.offset c_main_q.offset) (<= |c_main_~malloc_#res.offset| c_main_p.offset) (<= (- (- c_main_~malloc_~size) c_main_~malloc_~size) (- 800)) (<= (- (- c_main_p.offset) (- c_main_~malloc_~size)) 400) (= v_v_7_1 (select |c_old(#memory_int)| v_idx_145)) (<= (- c_main_p.offset |c_main_~malloc_#res.offset|) 0) (<= (+ c_main_p.offset 400) c_main_~malloc_~size) (<= (- (- c_main_q.offset) |c_main_~malloc_#res.offset|) 0) (<= (- |c_main_~malloc_#res.offset| (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) |c_main_~malloc_#res.offset|) 0) (= c_main_p.offset 0) (<= (- (- c_main_q.offset) c_main_q.offset) 0) (<= (- c_main_q.offset c_main_~malloc_~size) (- 400)) (or (<= (+ |c_main_~malloc_#res.base| 1) v_idx_142) (< v_idx_142 |c_main_~malloc_#res.base|) (= (select |c_#valid| v_idx_142) v_v_19_1)) (or (< v_idx_143 (+ |c_main_~malloc_#res.base| 1)) (= (select |c_#valid| v_idx_143) v_v_20_1)) (<= (- c_main_p.offset (- c_main_q.offset)) 0) (<= 0 (* 2 c_main_p.offset)) (or (= (select |c_#length| v_idx_149) v_v_26_1) (< v_idx_149 (+ |c_main_~malloc_#res.base| 1))) (<= (- c_main_q.offset |c_main_~malloc_#res.offset|) 0) (not (= c_main_p.base 0)) (<= (- (- c_main_p.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_q.offset) c_main_~malloc_~size) (- 400)) (= (select v_v_5_1 v_idx_139) v_v_6_1) (= v_v_12_1 (select |c_main_~malloc_old_#valid| v_idx_150)) (<= c_main_~malloc_~size (+ c_main_p.offset 400)) (<= 400 (+ c_main_~malloc_~size c_main_p.offset)))))} [2019-01-18 15:36:45,284 WARN L228 ngHoareTripleChecker]: Action: assume 4 + q.offset <= #length[q.base]; [2019-01-18 15:36:45,285 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= (+ c_main_q.offset 4) (select |c_#length| c_main_q.base)) [2019-01-18 15:36:45,285 WARN L230 ngHoareTripleChecker]: Post: {2147483634#(forall ((v_idx_159 Int) (v_idx_157 Int) (v_idx_158 Int) (v_idx_162 Int) (v_idx_151 Int) (v_idx_163 Int) (v_idx_152 Int) (v_idx_160 Int) (v_idx_161 Int) (v_idx_155 Int) (v_idx_156 Int) (v_idx_164 Int) (v_idx_153 Int) (v_idx_154 Int)) (exists ((v_v_32_1 Int) (v_v_31_1 Int) (v_v_30_1 Int) (v_v_4_1 Bool) (v_v_8_1 Int) (v_v_19_1 Bool) (v_v_18_1 Bool) (v_v_7_1 (Array Int Int)) (v_v_12_1 Bool) (v_v_1_1 Int) (v_v_5_1 (Array Int Int)) (v_v_2_1 Int) (v_v_6_1 Int) (v_v_20_1 Bool)) (and (<= (- c_main_q.offset (- |c_main_~malloc_#res.offset|)) 0) (not (= |c_main_~malloc_#res.base| 0)) (or (< v_idx_156 |c_main_~malloc_#res.base|) (= (select |c_#valid| v_idx_156) v_v_19_1) (<= (+ |c_main_~malloc_#res.base| 1) v_idx_156)) (<= (- (- |c_main_~malloc_#res.offset|) c_main_~malloc_~size) (- 400)) (<= (- |c_main_~malloc_#res.offset| (- c_main_~malloc_~size)) 400) v_v_19_1 (or (= v_v_31_1 (select |c_#length| v_idx_162)) (< v_idx_162 c_main_q.base) (<= (+ c_main_q.base 1) v_idx_162)) (<= (- |c_main_~malloc_#res.offset| v_v_31_1) (- 4)) (= (select |c_old(#memory_int)| v_idx_159) v_v_7_1) (<= (- (- c_main_p.offset) c_main_p.offset) 0) (<= (- c_main_p.offset c_main_q.offset) 0) (<= (- (- c_main_p.offset) (- c_main_q.offset)) 0) |c_main_#t~short2| (= c_main_q.offset 0) (<= (- c_main_q.offset v_v_31_1) (- 4)) (<= (- (- c_main_~malloc_~size) v_v_31_1) (- 404)) (<= (- c_main_~malloc_~size v_v_31_1) 396) (= c_main_~malloc_~size 400) (<= (- (- |c_main_~malloc_#res.offset|) (- c_main_~malloc_~size)) 400) (or (= (select |c_#length| v_idx_163) v_v_32_1) (< v_idx_163 (+ c_main_q.base 1))) (<= (- c_main_p.offset c_main_~malloc_~size) (- 400)) (<= (- (- |c_main_~malloc_#res.offset|) v_v_31_1) (- 4)) (<= (- (- c_main_p.offset) c_main_q.offset) 0) (<= (- c_main_p.offset (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_~malloc_~size)) 400) (= (select v_v_5_1 v_idx_153) v_v_6_1) (not (= c_main_q.base 0)) (<= (- |c_main_~malloc_#res.offset| c_main_~malloc_~size) (- 400)) (= v_v_2_1 (select |c_old(#length)| v_idx_160)) (= (select v_v_7_1 v_idx_151) v_v_8_1) (<= (- c_main_q.offset (- c_main_q.offset)) 0) (<= (- (- c_main_q.offset) v_v_31_1) (- 4)) (<= (- (- c_main_q.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- c_main_p.offset v_v_31_1) (- 4)) (or (<= c_main_q.base v_idx_161) (= (select |c_#length| v_idx_161) v_v_30_1)) (<= (- (- c_main_q.offset) (- c_main_~malloc_~size)) 400) (<= (- (- c_main_p.offset) v_v_31_1) (- 4)) (<= (- (- |c_main_~malloc_#res.offset|) |c_main_~malloc_#res.offset|) 0) (= (select |c_main_~malloc_old_#length| v_idx_152) v_v_1_1) (= |c_main_~malloc_#res.offset| 0) (or (<= |c_main_~malloc_#res.base| v_idx_155) (= v_v_18_1 (select |c_#valid| v_idx_155))) (<= (- c_main_p.offset (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- c_main_~malloc_~size)) 800) (<= (- c_main_p.offset (- c_main_p.offset)) 0) (<= (- (- c_main_~malloc_~size) c_main_~malloc_~size) (- 800)) (<= (- (- c_main_p.offset) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset |c_main_~malloc_#res.offset|) 0) (<= (- (- c_main_q.offset) |c_main_~malloc_#res.offset|) 0) (<= (- |c_main_~malloc_#res.offset| (- |c_main_~malloc_#res.offset|)) 0) (= c_main_p.offset 0) (<= (- (- c_main_p.offset) |c_main_~malloc_#res.offset|) 0) (= (select |c_#memory_int| v_idx_158) v_v_5_1) (<= (- (- c_main_q.offset) c_main_q.offset) 0) (<= (- c_main_q.offset c_main_~malloc_~size) (- 400)) (<= (- (- v_v_31_1) v_v_31_1) (- 8)) (or (< v_idx_157 (+ |c_main_~malloc_#res.base| 1)) (= (select |c_#valid| v_idx_157) v_v_20_1)) (<= (- c_main_p.offset (- c_main_q.offset)) 0) (= v_v_12_1 (select |c_main_~malloc_old_#valid| v_idx_164)) (not (= c_main_p.base 0)) (<= (- c_main_q.offset |c_main_~malloc_#res.offset|) 0) (<= (- (- c_main_p.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_q.offset) c_main_~malloc_~size) (- 400)) (= v_v_4_1 (select |c_old(#valid)| v_idx_154)))))} [2019-01-18 15:36:45,285 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-01-18 15:36:45,286 WARN L268 ngHoareTripleChecker]: -- [2019-01-18 15:36:45,286 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-01-18 15:36:45,401 WARN L270 ngHoareTripleChecker]: Pre: {2147483635#(and (<= (- main_q.offset (- |main_~malloc_#res.offset|)) 0) (not (= |main_~malloc_#res.base| 0)) (<= (+ |main_~malloc_#res.offset| main_p.offset) 0) (<= (- (- |main_~malloc_#res.offset|) main_~malloc_~size) (- 400)) (<= (- |main_~malloc_#res.offset| (- main_~malloc_~size)) 400) (<= main_q.offset main_p.offset) (<= (- (- main_p.offset) main_p.offset) 0) (<= (- main_p.offset main_q.offset) 0) (<= (- (- main_p.offset) (- main_q.offset)) 0) |main_#t~short2| (= 400 (+ main_p.offset 400)) (= main_q.offset 0) (= main_~malloc_~size 400) (<= (- (- |main_~malloc_#res.offset|) (- main_~malloc_~size)) 400) (<= (- main_p.offset main_~malloc_~size) (- 400)) (<= (- (- main_p.offset) main_q.offset) 0) (<= (- main_p.offset (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_~malloc_~size)) 400) (forall ((v_idx_142 Int)) (or (<= (+ |main_~malloc_#res.base| 1) v_idx_142) (< v_idx_142 |main_~malloc_#res.base|) (select |#valid| v_idx_142))) (<= (- |main_~malloc_#res.offset| main_~malloc_~size) (- 400)) (not (= main_q.base 0)) (<= 0 (+ |main_~malloc_#res.offset| main_p.offset)) (<= (- main_q.offset (- main_q.offset)) 0) (<= (+ main_~malloc_~size main_p.offset) 400) (<= (- (- main_q.offset) (- |main_~malloc_#res.offset|)) 0) (<= (+ main_q.offset main_p.offset) 0) (<= (- (- main_q.offset) (- main_~malloc_~size)) 400) (<= (- (- |main_~malloc_#res.offset|) |main_~malloc_#res.offset|) 0) (<= 0 (+ main_q.offset main_p.offset)) (= |main_~malloc_#res.offset| 0) (forall ((v_idx_148 Int)) (or (= (select |#length| v_idx_148) (+ main_p.offset 400)) (<= (+ |main_~malloc_#res.base| 1) v_idx_148) (< v_idx_148 |main_~malloc_#res.base|))) (<= (- main_p.offset (- main_~malloc_~size)) 400) (<= (- main_~malloc_~size (- main_~malloc_~size)) 800) (<= main_p.offset |main_~malloc_#res.offset|) (<= (- main_p.offset (- main_p.offset)) 0) (<= (* 2 main_p.offset) 0) (<= main_p.offset main_q.offset) (<= |main_~malloc_#res.offset| main_p.offset) (<= (- (- main_~malloc_~size) main_~malloc_~size) (- 800)) (<= (- (- main_p.offset) (- main_~malloc_~size)) 400) (<= (- main_p.offset |main_~malloc_#res.offset|) 0) (<= (+ main_p.offset 400) main_~malloc_~size) (<= (- (- main_q.offset) |main_~malloc_#res.offset|) 0) (<= (- |main_~malloc_#res.offset| (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) |main_~malloc_#res.offset|) 0) (= main_p.offset 0) (<= (- (- main_q.offset) main_q.offset) 0) (<= (- main_q.offset main_~malloc_~size) (- 400)) (<= (- main_p.offset (- main_q.offset)) 0) (<= 0 (* 2 main_p.offset)) (<= (- main_q.offset |main_~malloc_#res.offset|) 0) (not (= main_p.base 0)) (<= (- (- main_p.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) main_~malloc_~size) (- 400)) (<= main_~malloc_~size (+ main_p.offset 400)) (<= 400 (+ main_~malloc_~size main_p.offset)))} [2019-01-18 15:36:45,402 WARN L274 ngHoareTripleChecker]: Action: assume 4 + q.offset <= #length[q.base]; [2019-01-18 15:36:45,403 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= (+ c_main_q.offset 4) (select |c_#length| c_main_q.base)) [2019-01-18 15:36:45,656 WARN L276 ngHoareTripleChecker]: Post: {2147483634#(and (<= (- main_q.offset (- |main_~malloc_#res.offset|)) 0) (forall ((v_idx_162 Int)) (or (< v_idx_162 main_q.base) (<= 4 (+ (select |#length| v_idx_162) main_p.offset)) (<= (+ main_q.base 1) v_idx_162))) (not (= |main_~malloc_#res.base| 0)) (forall ((v_prenex_13 Int)) (or (<= (+ main_q.base 1) v_prenex_13) (<= 8 (* 2 (select |#length| v_prenex_13))) (< v_prenex_13 main_q.base))) (<= (- (- |main_~malloc_#res.offset|) main_~malloc_~size) (- 400)) (<= (- |main_~malloc_#res.offset| (- main_~malloc_~size)) 400) (forall ((v_prenex_14 Int)) (or (< v_prenex_14 main_q.base) (<= 404 (+ (select |#length| v_prenex_14) main_~malloc_~size)) (<= (+ main_q.base 1) v_prenex_14))) (<= (- (- main_p.offset) main_p.offset) 0) (<= (- main_p.offset main_q.offset) 0) (<= (- (- main_p.offset) (- main_q.offset)) 0) |main_#t~short2| (= main_q.offset 0) (= main_~malloc_~size 400) (<= (- (- |main_~malloc_#res.offset|) (- main_~malloc_~size)) 400) (<= (- main_p.offset main_~malloc_~size) (- 400)) (<= (- (- main_p.offset) main_q.offset) 0) (<= (- main_p.offset (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_~malloc_~size)) 400) (not (= main_q.base 0)) (<= (- |main_~malloc_#res.offset| main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_q.offset)) 0) (forall ((v_idx_156 Int)) (or (< v_idx_156 |main_~malloc_#res.base|) (select |#valid| v_idx_156) (<= (+ |main_~malloc_#res.base| 1) v_idx_156))) (<= (- (- main_q.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) (- main_~malloc_~size)) 400) (<= (- (- |main_~malloc_#res.offset|) |main_~malloc_#res.offset|) 0) (forall ((v_prenex_12 Int)) (or (<= (+ main_q.offset 4) (select |#length| v_prenex_12)) (< v_prenex_12 main_q.base) (<= (+ main_q.base 1) v_prenex_12))) (forall ((v_prenex_10 Int)) (or (<= (+ main_q.base 1) v_prenex_10) (<= (+ main_p.offset 4) (select |#length| v_prenex_10)) (< v_prenex_10 main_q.base))) (forall ((v_prenex_11 Int)) (or (<= (+ |main_~malloc_#res.offset| 4) (select |#length| v_prenex_11)) (< v_prenex_11 main_q.base) (<= (+ main_q.base 1) v_prenex_11))) (= |main_~malloc_#res.offset| 0) (<= (- main_p.offset (- main_~malloc_~size)) 400) (<= (- main_~malloc_~size (- main_~malloc_~size)) 800) (<= (- main_p.offset (- main_p.offset)) 0) (forall ((v_prenex_16 Int)) (or (<= 4 (+ |main_~malloc_#res.offset| (select |#length| v_prenex_16))) (<= (+ main_q.base 1) v_prenex_16) (< v_prenex_16 main_q.base))) (forall ((v_prenex_15 Int)) (or (<= main_~malloc_~size (+ (select |#length| v_prenex_15) 396)) (< v_prenex_15 main_q.base) (<= (+ main_q.base 1) v_prenex_15))) (<= (- (- main_~malloc_~size) main_~malloc_~size) (- 800)) (<= (- (- main_p.offset) (- main_~malloc_~size)) 400) (<= (- main_p.offset |main_~malloc_#res.offset|) 0) (<= (- (- main_q.offset) |main_~malloc_#res.offset|) 0) (<= (- |main_~malloc_#res.offset| (- |main_~malloc_#res.offset|)) 0) (= main_p.offset 0) (<= (- (- main_p.offset) |main_~malloc_#res.offset|) 0) (<= (- (- main_q.offset) main_q.offset) 0) (<= (- main_q.offset main_~malloc_~size) (- 400)) (<= (- main_p.offset (- main_q.offset)) 0) (forall ((v_prenex_9 Int)) (or (< v_prenex_9 main_q.base) (<= 4 (+ (select |#length| v_prenex_9) main_q.offset)) (<= (+ main_q.base 1) v_prenex_9))) (not (= main_p.base 0)) (<= (- main_q.offset |main_~malloc_#res.offset|) 0) (<= (- (- main_p.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) main_~malloc_~size) (- 400)))} [2019-01-18 15:36:45,955 WARN L212 ngHoareTripleChecker]: Soundness check inconclusive for the following hoare triple [2019-01-18 15:36:45,956 WARN L217 ngHoareTripleChecker]: Expected: VALID Actual: UNKNOWN [2019-01-18 15:36:45,956 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-01-18 15:36:45,956 WARN L223 ngHoareTripleChecker]: -- [2019-01-18 15:36:45,957 WARN L224 ngHoareTripleChecker]: Pre: {2147483633#(forall ((v_idx_170 Int) (v_idx_168 Int) (v_idx_169 Int) (v_idx_173 Int) (v_idx_174 Int) (v_idx_171 Int) (v_idx_172 Int) (v_idx_166 Int) (v_idx_177 Int) (v_idx_167 Int) (v_idx_178 Int) (v_idx_175 Int) (v_idx_165 Int) (v_idx_176 Int)) (exists ((v_v_32_1 Int) (v_v_31_1 Int) (v_v_30_1 Int) (v_v_4_1 Bool) (v_v_8_1 Int) (v_v_19_1 Bool) (v_v_18_1 Bool) (v_v_12_1 Bool) (v_v_7_1 (Array Int Int)) (v_v_1_1 Int) (v_v_5_1 (Array Int Int)) (v_v_2_1 Int) (v_v_6_1 Int) (v_v_20_1 Bool)) (and (= v_v_12_1 (select |c_main_~malloc_old_#valid| v_idx_178)) (<= (- c_main_q.offset (- |c_main_~malloc_#res.offset|)) 0) (not (= |c_main_~malloc_#res.base| 0)) (or (= (select |c_#length| v_idx_175) v_v_30_1) (<= c_main_q.base v_idx_175)) (or (< v_idx_176 c_main_q.base) (= (select |c_#length| v_idx_176) v_v_31_1) (<= (+ c_main_q.base 1) v_idx_176)) (<= (- (- |c_main_~malloc_#res.offset|) c_main_~malloc_~size) (- 400)) (<= (- |c_main_~malloc_#res.offset| (- c_main_~malloc_~size)) 400) v_v_19_1 (or (= (select |c_#valid| v_idx_169) v_v_18_1) (<= |c_main_~malloc_#res.base| v_idx_169)) (<= (- |c_main_~malloc_#res.offset| v_v_31_1) (- 4)) (<= (- (- c_main_p.offset) c_main_p.offset) 0) (= (select v_v_5_1 v_idx_167) v_v_6_1) (= v_v_7_1 (select |c_old(#memory_int)| v_idx_173)) (<= (- c_main_p.offset c_main_q.offset) 0) (<= (- (- c_main_p.offset) (- c_main_q.offset)) 0) |c_main_#t~short2| (= c_main_q.offset 0) (<= (- c_main_q.offset v_v_31_1) (- 4)) (<= (- (- c_main_~malloc_~size) v_v_31_1) (- 404)) (<= (- c_main_~malloc_~size v_v_31_1) 396) (= c_main_~malloc_~size 400) (<= (- (- |c_main_~malloc_#res.offset|) (- c_main_~malloc_~size)) 400) (= (select |c_old(#valid)| v_idx_168) v_v_4_1) (<= (- c_main_p.offset c_main_~malloc_~size) (- 400)) (<= (- (- |c_main_~malloc_#res.offset|) v_v_31_1) (- 4)) (<= (- (- c_main_p.offset) c_main_q.offset) 0) (<= (- c_main_p.offset (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_~malloc_~size)) 400) (not (= c_main_q.base 0)) (<= (- |c_main_~malloc_#res.offset| c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- c_main_q.offset)) 0) (<= (- (- c_main_q.offset) v_v_31_1) (- 4)) (<= (- (- c_main_q.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- c_main_p.offset v_v_31_1) (- 4)) (= (select |c_#memory_int| v_idx_172) v_v_5_1) (<= (- (- c_main_q.offset) (- c_main_~malloc_~size)) 400) (<= (- (- c_main_p.offset) v_v_31_1) (- 4)) (<= (- (- |c_main_~malloc_#res.offset|) |c_main_~malloc_#res.offset|) 0) (= |c_main_~malloc_#res.offset| 0) (or (= (select |c_#length| v_idx_177) v_v_32_1) (< v_idx_177 (+ c_main_q.base 1))) (or (= (select |c_#valid| v_idx_171) v_v_20_1) (< v_idx_171 (+ |c_main_~malloc_#res.base| 1))) (<= (- c_main_p.offset (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- c_main_~malloc_~size)) 800) (or (< v_idx_170 |c_main_~malloc_#res.base|) (<= (+ |c_main_~malloc_#res.base| 1) v_idx_170) (= (select |c_#valid| v_idx_170) v_v_19_1)) (<= (- c_main_p.offset (- c_main_p.offset)) 0) (<= (- (- c_main_~malloc_~size) c_main_~malloc_~size) (- 800)) (<= (- (- c_main_p.offset) (- c_main_~malloc_~size)) 400) (= (select v_v_7_1 v_idx_165) v_v_8_1) (<= (- c_main_p.offset |c_main_~malloc_#res.offset|) 0) (<= (- (- c_main_q.offset) |c_main_~malloc_#res.offset|) 0) (<= (- |c_main_~malloc_#res.offset| (- |c_main_~malloc_#res.offset|)) 0) (= c_main_p.offset 0) (<= (- (- c_main_p.offset) |c_main_~malloc_#res.offset|) 0) (<= (- (- c_main_q.offset) c_main_q.offset) 0) (<= (- c_main_q.offset c_main_~malloc_~size) (- 400)) (= (select |c_old(#length)| v_idx_174) v_v_2_1) (<= (- (- v_v_31_1) v_v_31_1) (- 8)) (<= (- c_main_p.offset (- c_main_q.offset)) 0) (= v_v_1_1 (select |c_main_~malloc_old_#length| v_idx_166)) (not (= c_main_p.base 0)) (<= (- c_main_q.offset |c_main_~malloc_#res.offset|) 0) (<= (- (- c_main_p.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_q.offset) c_main_~malloc_~size) (- 400)))))} [2019-01-18 15:36:45,957 WARN L228 ngHoareTripleChecker]: Action: q.base, q.offset := q.base, q.offset + 4; [2019-01-18 15:36:45,957 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (and (= c_main_q.offset_primed (+ c_main_q.offset 4)) (= c_main_q.base_primed c_main_q.base)) [2019-01-18 15:36:45,957 WARN L230 ngHoareTripleChecker]: Post: {2147483632#(forall ((v_idx_191 Int) (v_idx_180 Int) (v_idx_192 Int) (v_idx_181 Int) (v_idx_190 Int) (v_idx_179 Int) (v_idx_184 Int) (v_idx_185 Int) (v_idx_182 Int) (v_idx_183 Int) (v_idx_188 Int) (v_idx_189 Int) (v_idx_186 Int) (v_idx_187 Int)) (exists ((v_v_32_1 Int) (v_v_31_1 Int) (v_v_30_1 Int) (v_v_4_1 Bool) (v_b_12_1 Int) (v_v_8_1 Int) (v_v_19_1 Bool) (v_b_13_1 Int) (v_v_18_1 Bool) (v_v_7_1 (Array Int Int)) (v_v_12_1 Bool) (v_v_1_1 Int) (v_v_5_1 (Array Int Int)) (v_v_2_1 Int) (v_v_6_1 Int) (v_v_20_1 Bool)) (and (<= (- c_main_q.offset v_v_31_1) 0) (not (= |c_main_~malloc_#res.base| 0)) (= v_v_7_1 (select |c_old(#memory_int)| v_idx_187)) (<= (- (- c_main_q.offset) |c_main_~malloc_#res.offset|) (- 4)) (= (select v_v_5_1 v_idx_181) v_v_6_1) (<= (- (- |c_main_~malloc_#res.offset|) c_main_~malloc_~size) (- 400)) (<= (- |c_main_~malloc_#res.offset| (- c_main_~malloc_~size)) 400) v_v_19_1 (<= (- |c_main_~malloc_#res.offset| v_v_31_1) (- 4)) (<= (- (- c_main_p.offset) c_main_p.offset) 0) (not (= v_b_12_1 0)) (or (<= v_b_13_1 v_idx_190) (< v_idx_190 v_b_12_1) (= (select |c_#length| v_idx_190) v_v_31_1)) (or (< v_idx_185 (+ |c_main_~malloc_#res.base| 1)) (= (select |c_#valid| v_idx_185) v_v_20_1)) (<= (- (- c_main_p.offset) c_main_q.offset) (- 4)) |c_main_#t~short2| (<= (- (- c_main_~malloc_~size) v_v_31_1) (- 404)) (<= (- c_main_~malloc_~size v_v_31_1) 396) (= c_main_q.offset 4) (= c_main_~malloc_~size 400) (<= (- (- |c_main_~malloc_#res.offset|) (- c_main_~malloc_~size)) 400) (<= (- c_main_p.offset c_main_~malloc_~size) (- 400)) (<= (- (- |c_main_~malloc_#res.offset|) v_v_31_1) (- 4)) (<= (- (- v_b_12_1) (- v_b_13_1)) 1) (<= (- c_main_p.offset (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) c_main_~malloc_~size) (- 400)) (<= (- c_main_q.offset (- |c_main_~malloc_#res.offset|)) 4) (<= (- (- c_main_q.offset) v_v_31_1) (- 8)) (<= (- |c_main_~malloc_#res.offset| c_main_~malloc_~size) (- 400)) (not (= c_main_q.base 0)) (= (select v_v_7_1 v_idx_179) v_v_8_1) (<= (- c_main_p.offset v_v_31_1) (- 4)) (<= (- c_main_q.offset |c_main_~malloc_#res.offset|) 4) (<= (- (- c_main_p.offset) v_v_31_1) (- 4)) (<= (- (- |c_main_~malloc_#res.offset|) |c_main_~malloc_#res.offset|) 0) (= (select |c_#memory_int| v_idx_186) v_v_5_1) (or (= (select |c_#valid| v_idx_184) v_v_19_1) (< v_idx_184 |c_main_~malloc_#res.base|) (<= (+ |c_main_~malloc_#res.base| 1) v_idx_184)) (= |c_main_~malloc_#res.offset| 0) (<= (- c_main_q.offset (- c_main_~malloc_~size)) 404) (<= (- c_main_p.offset (- c_main_q.offset)) 4) (= v_v_4_1 (select |c_old(#valid)| v_idx_182)) (= v_v_12_1 (select |c_main_~malloc_old_#valid| v_idx_192)) (<= (- c_main_p.offset (- c_main_~malloc_~size)) 400) (<= (- c_main_~malloc_~size (- c_main_~malloc_~size)) 800) (<= (- c_main_p.offset (- c_main_p.offset)) 0) (<= (- c_main_q.offset (- c_main_q.offset)) 8) (<= (- (- c_main_q.offset) c_main_~malloc_~size) (- 404)) (<= (- (- c_main_q.offset) c_main_q.offset) (- 8)) (<= (- (- c_main_~malloc_~size) c_main_~malloc_~size) (- 800)) (<= (- (- c_main_p.offset) (- c_main_~malloc_~size)) 400) (or (<= v_b_12_1 v_idx_189) (= v_v_30_1 (select |c_#length| v_idx_189))) (<= (- c_main_p.offset |c_main_~malloc_#res.offset|) 0) (= (select |c_old(#length)| v_idx_188) v_v_2_1) (<= (- v_b_12_1 v_b_13_1) (- 1)) (<= (- (- c_main_q.offset) (- |c_main_~malloc_#res.offset|)) (- 4)) (<= (- c_main_p.offset c_main_q.offset) (- 4)) (<= (- |c_main_~malloc_#res.offset| (- |c_main_~malloc_#res.offset|)) 0) (<= (- (- c_main_p.offset) |c_main_~malloc_#res.offset|) 0) (= c_main_p.offset 0) (or (= (select |c_#length| v_idx_191) v_v_32_1) (< v_idx_191 v_b_13_1)) (<= (- (- c_main_q.offset) (- c_main_~malloc_~size)) 396) (<= (- (- c_main_p.offset) (- c_main_q.offset)) 4) (<= (- (- v_v_31_1) v_v_31_1) (- 8)) (= v_v_1_1 (select |c_main_~malloc_old_#length| v_idx_180)) (or (= (select |c_#valid| v_idx_183) v_v_18_1) (<= |c_main_~malloc_#res.base| v_idx_183)) (not (= c_main_p.base 0)) (<= (- (- c_main_p.offset) (- |c_main_~malloc_#res.offset|)) 0) (<= (- c_main_q.offset c_main_~malloc_~size) (- 396)))))} [2019-01-18 15:36:45,958 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-01-18 15:36:45,958 WARN L268 ngHoareTripleChecker]: -- [2019-01-18 15:36:45,959 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-01-18 15:36:46,164 WARN L270 ngHoareTripleChecker]: Pre: {2147483633#(and (forall ((v_idx_170 Int)) (or (select |#valid| v_idx_170) (< v_idx_170 |main_~malloc_#res.base|) (<= (+ |main_~malloc_#res.base| 1) v_idx_170))) (forall ((v_idx_176 Int)) (or (<= main_~malloc_~size (+ (select |#length| v_idx_176) 396)) (< v_idx_176 main_q.base) (<= (+ main_q.base 1) v_idx_176))) (<= (- main_q.offset (- |main_~malloc_#res.offset|)) 0) (not (= |main_~malloc_#res.base| 0)) (<= (- (- |main_~malloc_#res.offset|) main_~malloc_~size) (- 400)) (<= (- |main_~malloc_#res.offset| (- main_~malloc_~size)) 400) (<= (- (- main_p.offset) main_p.offset) 0) (<= (- main_p.offset main_q.offset) 0) (<= (- (- main_p.offset) (- main_q.offset)) 0) |main_#t~short2| (= main_q.offset 0) (= main_~malloc_~size 400) (<= (- (- |main_~malloc_#res.offset|) (- main_~malloc_~size)) 400) (<= (- main_p.offset main_~malloc_~size) (- 400)) (<= (- (- main_p.offset) main_q.offset) 0) (<= (- main_p.offset (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_~malloc_~size)) 400) (not (= main_q.base 0)) (<= (- |main_~malloc_#res.offset| main_~malloc_~size) (- 400)) (<= (- main_q.offset (- main_q.offset)) 0) (<= (- (- main_q.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) (- main_~malloc_~size)) 400) (<= (- (- |main_~malloc_#res.offset|) |main_~malloc_#res.offset|) 0) (= |main_~malloc_#res.offset| 0) (<= (- main_p.offset (- main_~malloc_~size)) 400) (<= (- main_~malloc_~size (- main_~malloc_~size)) 800) (<= (- main_p.offset (- main_p.offset)) 0) (forall ((v_prenex_17 Int)) (or (<= (+ main_q.base 1) v_prenex_17) (<= 4 (+ (select |#length| v_prenex_17) main_p.offset)) (< v_prenex_17 main_q.base))) (forall ((v_prenex_21 Int)) (or (< v_prenex_21 main_q.base) (<= (+ main_q.base 1) v_prenex_21) (<= 404 (+ (select |#length| v_prenex_21) main_~malloc_~size)))) (<= (- (- main_~malloc_~size) main_~malloc_~size) (- 800)) (<= (- (- main_p.offset) (- main_~malloc_~size)) 400) (<= (- main_p.offset |main_~malloc_#res.offset|) 0) (<= (- (- main_q.offset) |main_~malloc_#res.offset|) 0) (forall ((v_prenex_19 Int)) (or (< v_prenex_19 main_q.base) (<= (+ main_q.base 1) v_prenex_19) (<= 4 (+ |main_~malloc_#res.offset| (select |#length| v_prenex_19))))) (<= (- |main_~malloc_#res.offset| (- |main_~malloc_#res.offset|)) 0) (= main_p.offset 0) (<= (- (- main_p.offset) |main_~malloc_#res.offset|) 0) (<= (- (- main_q.offset) main_q.offset) 0) (<= (- main_q.offset main_~malloc_~size) (- 400)) (forall ((v_prenex_20 Int)) (or (< v_prenex_20 main_q.base) (<= (+ main_q.base 1) v_prenex_20) (<= 8 (* 2 (select |#length| v_prenex_20))))) (forall ((v_prenex_24 Int)) (or (<= (+ main_q.base 1) v_prenex_24) (<= 4 (+ (select |#length| v_prenex_24) main_q.offset)) (< v_prenex_24 main_q.base))) (<= (- main_p.offset (- main_q.offset)) 0) (forall ((v_prenex_22 Int)) (or (< v_prenex_22 main_q.base) (<= (+ main_p.offset 4) (select |#length| v_prenex_22)) (<= (+ main_q.base 1) v_prenex_22))) (forall ((v_prenex_18 Int)) (or (< v_prenex_18 main_q.base) (<= (+ main_q.offset 4) (select |#length| v_prenex_18)) (<= (+ main_q.base 1) v_prenex_18))) (forall ((v_prenex_23 Int)) (or (<= (+ |main_~malloc_#res.offset| 4) (select |#length| v_prenex_23)) (< v_prenex_23 main_q.base) (<= (+ main_q.base 1) v_prenex_23))) (not (= main_p.base 0)) (<= (- main_q.offset |main_~malloc_#res.offset|) 0) (<= (- (- main_p.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_q.offset) main_~malloc_~size) (- 400)))} [2019-01-18 15:36:46,165 WARN L274 ngHoareTripleChecker]: Action: q.base, q.offset := q.base, q.offset + 4; [2019-01-18 15:36:46,165 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (and (= c_main_q.offset_primed (+ c_main_q.offset 4)) (= c_main_q.base_primed c_main_q.base)) [2019-01-18 15:36:46,582 WARN L276 ngHoareTripleChecker]: Post: {2147483632#(and (<= (- (- |main_~malloc_#res.offset|) |main_~malloc_#res.offset|) 0) (not (= |main_~malloc_#res.base| 0)) (forall ((v_idx_184 Int)) (or (< v_idx_184 |main_~malloc_#res.base|) (<= (+ |main_~malloc_#res.base| 1) v_idx_184) (select |#valid| v_idx_184))) (= |main_~malloc_#res.offset| 0) (<= (- (- main_q.offset) |main_~malloc_#res.offset|) (- 4)) (<= (- main_q.offset (- main_~malloc_~size)) 404) (<= (- (- |main_~malloc_#res.offset|) main_~malloc_~size) (- 400)) (<= (- |main_~malloc_#res.offset| (- main_~malloc_~size)) 400) (<= (- main_p.offset (- main_q.offset)) 4) (<= (- main_p.offset (- main_~malloc_~size)) 400) (<= (- main_~malloc_~size (- main_~malloc_~size)) 800) (<= (- main_p.offset (- main_p.offset)) 0) (<= (- (- main_p.offset) main_p.offset) 0) (<= (- main_q.offset (- main_q.offset)) 8) (<= (- (- main_q.offset) main_~malloc_~size) (- 404)) (<= (- (- main_q.offset) main_q.offset) (- 8)) (<= (- (- main_~malloc_~size) main_~malloc_~size) (- 800)) (<= (- (- main_p.offset) (- main_~malloc_~size)) 400) (<= (- main_p.offset |main_~malloc_#res.offset|) 0) (<= (- (- main_p.offset) main_q.offset) (- 4)) |main_#t~short2| (<= (- (- main_q.offset) (- |main_~malloc_#res.offset|)) (- 4)) (<= (- main_p.offset main_q.offset) (- 4)) (<= (- |main_~malloc_#res.offset| (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) |main_~malloc_#res.offset|) 0) (= main_p.offset 0) (= main_q.offset 4) (= main_~malloc_~size 400) (<= (- (- |main_~malloc_#res.offset|) (- main_~malloc_~size)) 400) (<= (- (- main_q.offset) (- main_~malloc_~size)) 396) (<= (- (- main_p.offset) (- main_q.offset)) 4) (<= (- main_p.offset main_~malloc_~size) (- 400)) (<= (- main_p.offset (- |main_~malloc_#res.offset|)) 0) (<= (- (- main_p.offset) main_~malloc_~size) (- 400)) (<= (- main_q.offset (- |main_~malloc_#res.offset|)) 4) (<= (- |main_~malloc_#res.offset| main_~malloc_~size) (- 400)) (not (= main_q.base 0)) (not (= main_p.base 0)) (<= (- (- main_p.offset) (- |main_~malloc_#res.offset|)) 0) (<= (- main_q.offset main_~malloc_~size) (- 396)) (<= (- main_q.offset |main_~malloc_#res.offset|) 4))}