1 fn main -> result/ebx: int { 2 var tmp/eax: int <- factorial 5 3 result <- copy tmp 4 } 5 6 fn factorial n: int -> result/eax: int { 7 compare n 1 8 { 9 break-if-> 10 result <- copy 1 11 } 12 { 13 break-if-<= 14 var tmp/ecx: int <- copy n 15 tmp <- decrement 16 result <- factorial tmp 17 result <- multiply n 18 } 19 }