1  (module
2    (func (export "run") (result i32)
3      (local $i i32)
4      (i32.const 0) ;; sum
5      (i32.const 10) ;; i
6      (loop $loop (param i32 i32) (result i32)
7        (local.tee $i)
8        (i32.add) ;; sum = i + sum
9        (i32.sub (local.get $i) (i32.const 1))
10        (i32.eqz (local.tee $i))
11        (if (param i32) (result i32)
12            (then)
13            (else (local.get $i) (br $loop))))))
14