| pebs[m0] = mkpeb(buf, m1, false), m = EB_PAGE_SIZE, m0 < # pebs, mtd-cons(pebs) ⊦ ⟪if m0 < # pebs ∧ ¬ pebs[m0].bad then let buf = mkbuf(m) in {ubi_io_read#(m0, 0, 0, m, pebs; buf; bitflips, err); if err = ESUCCESS then if isempty(buf) then aehdr := empty else let ehdr = ? in {decode_echeader#(m, buf; ehdr; err); if err = ESUCCESS then aehdr := aechdr(ehdr.ec)}} else abort⟫ true |
pebs[m0] = mkpeb(buf, m1, false), m = EB_PAGE_SIZE, m0 < # pebs, mtd-cons(pebs) ⊦ ⟪let buf = mkbuf(m) in {ubi_io_read#(m0, 0, 0, m, pebs; buf; bitflips, err); if err = ESUCCESS then if isempty(buf) then aehdr := empty else let ehdr = ? in {decode_echeader#(m, buf; ehdr; err); if err = ESUCCESS then aehdr := aechdr(ehdr.ec)}}⟫ true
Used simplifier rules: ⊦ mkpeb(buf, m, boolvar).bad ↔ boolvar; (s)