func main() =
    auto
        fn ∈ Z
        surf ∈ Z
        surf2 ∈ Z
b ∈ bool
r ∈ R
tmp∈Z
str∈Z
    endauto

r ← 1.0 ÷ 2.0
b ← 1 ≠ 2
b ← 1 ≤ 2
b ← 1 ≥ 2

    fn ← Z2Str(0)
    surf ← CreateSurface(fn, Y)

    fn ← Z2Str(2)
    surf2 ← CreateSurface(fn, Y)

    tmp←f(1,2, 3)
    str ← Z2Str(tmp)
    do Debug(str)
|aaa
    do DoEvents()
    do Clear()
    do Blt(0, 0, 1024, 768, surf, 0, 0, 254, 256, N)
    //
    
    do Blt(500, 500, 254, 256, surf2, 0, 0, 254, 256, N)
    do Blt(0, 0, 254, 256, surf2, 0, 0, 254, 256, Y)
    
    do DrawText(str, 20.0, 255, 10, 10, 100, 100)
    
    do Present()
    goto |aaa
    ret
endfunc

func f(x∈Z, y∈Z, z∈Z)∈Z=
  auto
    t∈Z
    r∈Z
  endauto
  t←x+y
  r←g(t, z)

ret r
endfunc

func g(a∈Z, b∈Z)∈Z=
auto
r∈Z
endauto
r←a+b

ret r
endfunc
