fn add(a: u32, b: u32) u32 { const x: u32 = blk: { const c = a + b; // 7 const d = a + c; // 10 const e = d + b; // 14 const f = d + e; // 24 const g = e + f; // 38 const h = f + g; // 62 const i = g + h; // 100 const j = i + d; // 110 break :blk j; }; const y = x + a; // 113 const z = y + a; // 116 return z; } Module.Function(name=add) @unnamed$0 = primitive(u32) @unnamed$1 = single_mut_ptr_type(@unnamed$0) @unnamed$2 = fntype([@unnamed$0, @unnamed$0], @unnamed$0, cc=Unspecified) @unnamed$3 = fn(@unnamed$2, { %0 = arg("a") ; deaths=0b0 %1 = arg("b") ; deaths=0b0 %2 = dbg_stmt() ; deaths=0b1000000000000000 %3 = alloc(@unnamed$1) ; deaths=0b0 %4 = block({ %5 = dbg_stmt() ; deaths=0b1000000000000000 %6 = add(%0, %1) ; deaths=0b0 %7 = dbg_stmt() ; deaths=0b1000000000000000 %8 = add(%0, %6) ; deaths=0b10 %9 = dbg_stmt() ; deaths=0b1000000000000000 %10 = add(%8, %1) ; deaths=0b10 %11 = dbg_stmt() ; deaths=0b1000000000000000 %12 = add(%8, %10) ; deaths=0b0 %13 = dbg_stmt() ; deaths=0b1000000000000000 %14 = add(%10, %12) ; deaths=0b1 %15 = dbg_stmt() ; deaths=0b1000000000000000 %16 = add(%12, %14) ; deaths=0b1 %17 = dbg_stmt() ; deaths=0b1000000000000000 %18 = add(%14, %16) ; deaths=0b11 %19 = dbg_stmt() ; deaths=0b1000000000000000 %20 = add(%18, %8) ; deaths=0b11 %21 = dbg_stmt() ; deaths=0b1000000000000000 %22 = store(%3, %20) ; deaths=0b1000000000000001 %23 = break("label_4", %20) ; deaths=0b1000000000000001 }) ; deaths=0b0 %24 = dbg_stmt() ; deaths=0b1000000000000000 %25 = add(%4, %0) ; deaths=0b1 %26 = dbg_stmt() ; deaths=0b1000000000000000 %27 = add(%25, %0) ; deaths=0b11 %28 = dbg_stmt() ; deaths=0b1000000000000000 %29 = return(%27) ; deaths=0b1000000000000001 })