let in_range arr xi =
    let i_pos = F.p_icmp Cleq (F.e_int 0) xi in
    let i_max = match arr.arr_flat with
      | None -> F.p_true
      | Some a -> F.p_icmp Clt xi (F.e_icst (Int64.to_string a.arr_size))
    in F.p_and i_pos i_max