
use bv.BV32

type bv_ref = { mutable contents : BV32.t }

let f () =
  let b : bv_ref = { contents = (42 : BV32.t) } in
  while BV32.sgt b.contents (0:BV32.t) do
    variant { b.contents with BV32.slt }
    b.contents <- BV32.sub b.contents (1:BV32.t)
  done