(((call :L_4))
 (:L_4
  (eax <- (allocate 3 0))
  ((mem eax 4) <- 1)
  (allocatebinding <- eax)
  (ecx <- 43)
  (tail-call :f))
 (:f
  (x <- ecx)
  (eax <- (allocate 3 3))
  (allocatebinding <- eax)
  (ecx <- x)
  (edx <- x)
  (call :g)
  (x_1 <- eax)
  (eax <- (allocate 9 0))
  ((mem eax 4) <- 1)
  ((mem eax 8) <- 3)
  ((mem eax 12) <- 5)
  ((mem eax 16) <- 7)
  (allocatebindingx <- eax)
  (eax <- x_1)
  (eax += 2)
  (return))
 (:g
  (x <- ecx)
  (y <- edx)
  (eax <- (allocate 3 3))
  (allocatebinding <- eax)
  (ecx <- x)
  (edx <- y)
  (eax <- y)
  (call :h)
  (x_2 <- eax)
  (eax <- (allocate 11 0))
  ((mem eax 4) <- 1)
  ((mem eax 8) <- 3)
  ((mem eax 12) <- 5)
  ((mem eax 16) <- 7)
  ((mem eax 20) <- 9)
  (allocatebindingx <- eax)
  (eax <- x_2)
  (eax += 2)
  (return))
 (:h
  (x <- ecx)
  (y <- edx)
  (z <- eax)
  (eax <- (allocate 3 3))
  (allocatebinding <- eax)
  (eax <- (print x))
  (d1 <- eax)
  (eax <- (allocate 3 3))
  (allocatebindingx <- eax)
  (eax <- (print y))
  (d2 <- eax)
  (eax <- (allocate 17 0))
  ((mem eax 4) <- 1)
  ((mem eax 8) <- 3)
  ((mem eax 12) <- 5)
  ((mem eax 16) <- 7)
  ((mem eax 20) <- 9)
  ((mem eax 24) <- 11)
  ((mem eax 28) <- 13)
  ((mem eax 32) <- 15)
  (allocatebindingxx <- eax)
  (eax <- (print z))
  (eax <- eax)
  (return)))
