labeled_gcd.wat (502B)
1 (module (func (export "test_main") (result i32) 2 (local $a i32) (local $b i32) 3 (local.set $a (i32.const 48)) (local.set $b (i32.const 36)) 4 (block $done 5 (loop $loop 6 (br_if $done (i32.eqz (local.get $b))) 7 (local.set $a (i32.rem_u (local.get $a) (local.get $b))) 8 (local.set $a (i32.xor (local.get $a) (local.get $b))) 9 (local.set $b (i32.xor (local.get $a) (local.get $b))) 10 (local.set $a (i32.xor (local.get $a) (local.get $b))) 11 (br $loop))) 12 (local.get $a)))