1#define_import_path test_module3var<workgroup> atom: atomic<u32>;5fn entry_point() -> f32 {6 atomicStore(&atom, 1u); // atom = 17 var y = atomicLoad(&atom); // y = 1, atom = 18 y += atomicAdd(&atom, 2u); // y = 2, atom = 39 y += atomicSub(&atom, 1u); // y = 5, atom = 210 y += atomicMax(&atom, 5u); // y = 7, atom = 511 y += atomicMin(&atom, 4u); // y = 12, atom = 412 y += atomicExchange(&atom, y); // y = 16, atom = 1213 let exchange = atomicCompareExchangeWeak(&atom, 12u, 0u);14 if exchange.exchanged {15 y += exchange.old_value; // y = 28, atom = 016 }18 return f32(y); // 28.019}