diff options
Diffstat (limited to 'output/Factorial.vaporm')
-rw-r--r-- | output/Factorial.vaporm | 47 |
1 files changed, 29 insertions, 18 deletions
diff --git a/output/Factorial.vaporm b/output/Factorial.vaporm index 714dcb0..7276527 100644 --- a/output/Factorial.vaporm +++ b/output/Factorial.vaporm @@ -12,17 +12,19 @@ func Main [in 0, out 0, local 14] $s7 = HeapAllocZ(4 ) [$s7+0] = :functable_Fac $s6 = $s7 - $s7 = [$s6+0] - $s5 = [$s7+0] - $s7 = 10 + $s7 = $s6 + $s6 = [$s7+0] + $s5 = [$s6+0] + $s6 = 10 + $s4 = $s6 local[8] = $t3 local[9] = $t4 local[10] = $t5 local[11] = $t6 local[12] = $t7 local[13] = $t8 - $a0 = $s6 - $a1 = $s7 + $a0 = $s7 + $a1 = $s4 call $s5 $t3 = local[8] $t4 = local[9] @@ -30,9 +32,10 @@ func Main [in 0, out 0, local 14] $t6 = local[11] $t7 = local[12] $t8 = local[13] - $s4 = $v0 - $s7 = $s4 - PrintIntS($s7 ) + $s6 = $v0 + $s4 = $s6 + $s6 = $s4 + PrintIntS($s6 ) $s0 = local[0] $s1 = local[1] $s2 = local[2] @@ -57,12 +60,16 @@ func Fac_ComputeFac [in 0, out 0, local 14] $s4 = 1 $s3 = LtS($s5 $s4 ) $s4 = $s3 - if0 $s4 goto :if6_else -if6_body: - $s4 = 1 - goto :if6_end -if6_else: - $s3 = $s7 + $s3 = $s4 + if0 $s3 goto :if9_else +if9_body: + $s3 = 1 + $s4 = $s3 + $s3 = $s4 + goto :if9_end +if9_else: + $s4 = $s7 + $s5 = $s6 $s5 = [$s6+0] $s2 = $s7 $s7 = 1 @@ -86,10 +93,14 @@ if6_else: $t8 = local[13] $s1 = $v0 $s7 = $s1 - $s1 = MulS($s3 $s7 ) - $s4 = $s1 -if6_end: - $s1 = $s4 + $s1 = $s7 + $s7 = MulS($s4 $s1 ) + $s1 = $s7 + $s3 = $s1 +if9_end: + $s1 = $s3 + $s3 = $s1 + $s1 = $s3 $v0 = $s1 $s0 = local[0] $s1 = local[1] |