var<workgroup> atomX_naga_oil_mod_XORSXG5C7NVXWI5LMMUX: atomic<u32>;

fn entry_pointX_naga_oil_mod_XORSXG5C7NVXWI5LMMUX() -> f32 {
    var y: u32;

    atomicStore((&atomX_naga_oil_mod_XORSXG5C7NVXWI5LMMUX), 1u);
    let _e3: u32 = atomicLoad((&atomX_naga_oil_mod_XORSXG5C7NVXWI5LMMUX));
    y = _e3;
    let _e7: u32 = atomicAdd((&atomX_naga_oil_mod_XORSXG5C7NVXWI5LMMUX), 2u);
    let _e8: u32 = y;
    y = (_e8 + _e7);
    let _e12: u32 = atomicSub((&atomX_naga_oil_mod_XORSXG5C7NVXWI5LMMUX), 1u);
    let _e13: u32 = y;
    y = (_e13 + _e12);
    let _e17: u32 = atomicMax((&atomX_naga_oil_mod_XORSXG5C7NVXWI5LMMUX), 5u);
    let _e18: u32 = y;
    y = (_e18 + _e17);
    let _e22: u32 = atomicMin((&atomX_naga_oil_mod_XORSXG5C7NVXWI5LMMUX), 4u);
    let _e23: u32 = y;
    y = (_e23 + _e22);
    let _e25: u32 = y;
    let _e27: u32 = atomicExchange((&atomX_naga_oil_mod_XORSXG5C7NVXWI5LMMUX), _e25);
    let _e28: u32 = y;
    y = (_e28 + _e27);
    let _e33: _atomic_compare_exchange_result_Uint_4_ = atomicCompareExchangeWeak((&atomX_naga_oil_mod_XORSXG5C7NVXWI5LMMUX), 12u, 0u);
    if _e33.exchanged {
        let _e36: u32 = y;
        y = (_e36 + _e33.old_value);
    }
    let _e38: u32 = y;
    return f32(_e38);
}

fn main() -> f32 {
    let _e0: f32 = entry_pointX_naga_oil_mod_XORSXG5C7NVXWI5LMMUX();
    return _e0;
}

