(((call :L_1))
 (:L_1
  (eax <- (allocate 3 0))
  ((mem eax 4) <- 1)
  (allocatebinding <- eax)
  (ecx <- 401)
  (tail-call :f))
 (:f
  (x <- ecx)
  (eax <- (allocate 3 3))
  (allocatebinding <- eax)
  (done <- x <= 1)
  (done += done)
  (done += 1)
  (cjump done = 1 :L_3 :L_2)
  :L_3
  (eax <- (allocate 3 3))
  (allocatebindingx <- eax)
  (eax <- (print x))
  (z <- eax)
  (eax <- (allocate 3 3))
  (allocatebindingxx <- eax)
  (x1 <- x)
  (x1 -= 2)
  (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)
  (allocatebindingxxx <- eax)
  (ecx <- x1)
  (tail-call :f)
  :L_2
  (eax <- (allocate 9 0))
  ((mem eax 4) <- 1)
  ((mem eax 8) <- 3)
  ((mem eax 12) <- 5)
  ((mem eax 16) <- 7)
  (allocatebindingx <- eax)
  (eax <- 23)
  (return)))
