diff options
Diffstat (limited to 'output/Factorial.vapor')
-rw-r--r-- | output/Factorial.vapor | 59 |
1 files changed, 35 insertions, 24 deletions
diff --git a/output/Factorial.vapor b/output/Factorial.vapor index 713ef06..e66f122 100644 --- a/output/Factorial.vapor +++ b/output/Factorial.vapor @@ -2,12 +2,15 @@ func Main() t.3 = HeapAllocZ(4) [t.3+0] = :functable_Fac t.4 = t.3 - t.5 = [t.4+0] + t.5 = t.4 t.6 = [t.5+0] - t.7 = 10 - t.2 = call t.6(t.4 t.7) - t.8 = t.2 - PrintIntS(t.8) + t.7 = [t.6+0] + t.8 = 10 + t.9 = t.8 + t.2 = call t.7(t.5 t.9) + t.10 = t.2 + t.11 = t.10 + PrintIntS(t.11) ret const functable_Fac @@ -18,25 +21,33 @@ func Fac_ComputeFac(this t.0 ) t.3 = 1 t.1 = LtS(t.2 t.3) t.4 = t.1 - if0 t.4 goto :if6_else -if6_body: - t.5 = 1 - goto :if6_end -if6_else: - t.7 = t.0 - t.9 = [this] - t.11 = t.0 - t.12 = 1 - t.10 = Sub(t.11 t.12) - t.13 = t.10 - t.9 = [t.9+0] - t.8 = call t.9(this t.13) - t.14 = t.8 - t.6 = MulS(t.7 t.14) - t.5 = t.6 -if6_end: - t.15 = t.5 - ret t.15 + t.5 = t.4 + if0 t.5 goto :if9_else +if9_body: + t.7 = 1 + t.8 = t.7 + t.6 = t.8 + goto :if9_end +if9_else: + t.10 = t.0 + t.12 = this + t.13 = [this] + t.15 = t.0 + t.16 = 1 + t.14 = Sub(t.15 t.16) + t.17 = t.14 + t.13 = [t.13+0] + t.11 = call t.13(this t.17) + t.18 = t.11 + t.19 = t.18 + t.9 = MulS(t.10 t.19) + t.20 = t.9 + t.6 = t.20 +if9_end: + t.21 = t.6 + t.22 = t.21 + t.23 = t.22 + ret t.23 func AllocArray(size) bytes = MulS(size 4) |