let cast_float v = try let i = project_ival v in let b, i = Ival.cast_float i in false, b, inject_ival i with Not_based_on_null -> true, true, topify_arith_origin v