// MIR for `offsetty` after built

fn offsetty(_1: NotStartingAtZero) -> u32 {
    debug x => _1;
    let mut _0: u32;
    let _2: NotStartingAtZero;
    let mut _3: isize;
    let mut _4: u8;
    let mut _5: bool;
    let mut _6: bool;
    let mut _7: bool;

    bb0: {
        StorageLive(_2);
        _2 = move _1;
        _3 = discriminant(_2);
        _4 = copy _3 as u8 (IntToInt);
        _5 = Ge(copy _4, const 4_u8);
        _6 = Le(copy _4, const 8_u8);
        _7 = BitAnd(move _5, move _6);
        assume(move _7);
        _0 = move _3 as u32 (IntToInt);
        StorageDead(_2);
        return;
    }
}
