============ initial translation from Move ================
[variant baseline]
fun TestBranching::branching($t0|cond: bool): u64 {
var $t1|tmp#$1: u64
var $t2|x: u64
var $t3: bool
var $t4: u64
var $t5: u64
var $t6: u64
var $t7: u64
0: $t3 := move($t0)
1: if ($t3) goto 2 else goto 6
2: label L0
3: $t4 := 3
4: $t1 := $t4
5: goto 10
6: label L2
7: $t5 := 4
8: $t1 := $t5
9: goto 10
10: label L3
11: $t6 := move($t1)
12: $t2 := $t6
13: $t7 := move($t2)
14: return $t7
}
============ after pipeline `reaching_def` ================
[variant baseline]
fun TestBranching::branching($t0|cond: bool): u64 {
var $t1|tmp#$1: u64
var $t2|x: u64
var $t3: bool
var $t4: u64
var $t5: u64
var $t6: u64
var $t7: u64
0: $t3 := move($t0)
1: if ($t0) goto 2 else goto 6
2: label L0
3: $t4 := 3
4: $t1 := $t4
5: goto 9
6: label L2
7: $t5 := 4
8: $t1 := $t5
9: label L3
10: $t6 := move($t1)
11: $t2 := $t1
12: $t7 := move($t1)
13: return $t1
}