(
 ;; main
 ((eax <- (print 3))
  (call :f)
  (call :g)
  )
 
 (:f
  (eax <- (print 5))
  (call :f1)
  (return)
  )
 
 (:f1
  (eax <- (print 7))
  (return)
  )
 
 (:g
  (eax <- (print 9))
  (call :g1)
  (call :g2)
  (return)
  )
 
 (:g1
  (eax <- (print 11))
  (return)
  )
 
 (:g2
  (eax <- (print 13))
  (return)
  )
 ;; should print 1,2,3,4,5,6 in sequence
 )