| 1 | pub fn main() void { |
| 2 | assert(add(3, 4) == 791); |
| 3 | } |
| 4 | |
| 5 | fn add(a: u32, b: u32) u32 { |
| 6 | const x: u32 = blk: { |
| 7 | const c = a + b; // 7 |
| 8 | const d = a + c; // 10 |
| 9 | const e = d + b; // 14 |
| 10 | const f = d + e; // 24 |
| 11 | const g = e + f; // 38 |
| 12 | const h = f + g; // 62 |
| 13 | const i = g + h; // 100 |
| 14 | const j = i + d; // 110 |
| 15 | const k = i + j; // 210 |
| 16 | const l = k + c; // 217 |
| 17 | const m = l + d; // 227 |
| 18 | const n = m + e; // 241 |
| 19 | const o = n + f; // 265 |
| 20 | const p = o + g; // 303 |
| 21 | const q = p + h; // 365 |
| 22 | const r = q + i; // 465 |
| 23 | const s = r + j; // 575 |
| 24 | const t = s + k; // 785 |
| 25 | break :blk t; |
| 26 | }; |
| 27 | const y = x + a; // 788 |
| 28 | const z = y + a; // 791 |
| 29 | return z; |
| 30 | } |
| 31 | |
| 32 | fn assert(ok: bool) void { |
| 33 | if (!ok) unreachable; |
| 34 | } |
| 35 | |
| 36 | // TODO: enable this for native backend |
| 37 | |
| 38 | // run |
| 39 | // backend=selfhosted,llvm |
| 40 | // target=aarch64-linux,aarch64-macos |