void hbitmap_reset(HBitmap *hb, uint64_t start, uint64_t count)

{

    /* Compute range in the last layer.  */

    uint64_t last = start + count - 1;



    trace_hbitmap_reset(hb, start, count,

                        start >> hb->granularity, last >> hb->granularity);



    start >>= hb->granularity;

    last >>= hb->granularity;




    hb->count -= hb_count_between(hb, start, last);

    hb_reset_between(hb, HBITMAP_LEVELS - 1, start, last);

}
void hbitmap_reset(HBitmap *hb, uint64_t start, uint64_t count)

{

    

    uint64_t last = start + count - 1;



    trace_hbitmap_reset(hb, start, count,

                        start >> hb->granularity, last >> hb->granularity);



    start >>= hb->granularity;

    last >>= hb->granularity;




    hb->count -= hb_count_between(hb, start, last);

    hb_reset_between(hb, HBITMAP_LEVELS - 1, start, last);

}
void FUNC_0(HBitmap *VAR_0, uint64_t VAR_1, uint64_t VAR_2)

{

    

    uint64_t last = VAR_1 + VAR_2 - 1;



    trace_hbitmap_reset(VAR_0, VAR_1, VAR_2,

                        VAR_1 >> VAR_0->granularity, last >> VAR_0->granularity);



    VAR_1 >>= VAR_0->granularity;

    last >>= VAR_0->granularity;




    VAR_0->VAR_2 -= hb_count_between(VAR_0, VAR_1, last);

    hb_reset_between(VAR_0, HBITMAP_LEVELS - 1, VAR_1, last);

}
void FUNC_0(HBitmap *VAR_0, uint64_t VAR_1, uint64_t VAR_2)
{ uint64_t last = VAR_1 + VAR_2 - 1; trace_hbitmap_reset(VAR_0, VAR_1, VAR_2,
VAR_1 >> VAR_0->granularity, last >> VAR_0->granularity); VAR_1 >>= VAR_0->granularity; last >>= VAR_0->granularity; VAR_0->VAR_2 -= hb_count_between(VAR_0, VAR_1, last); hb_reset_between(VAR_0, HBITMAP_LEVELS - 1, VAR_1, last); }