racket/collects/tests/eopl/chapter5/exceptions/big-trace3.txt
2012-02-29 00:28:11 -05:00

9101 lines
303 KiB
Plaintext
Executable File

;; full trace of example on pp 173-177.
(text-example-1.2
"let index
= proc (n)
letrec inner2 (lst)
% find position of n in lst else raise error
% exception
= if null?(lst) then raise 99
else if zero?(-(car(lst),n)) then 0
else let v = (inner2 cdr(lst))
in -(v,-1)
in proc (lst)
try (inner2 lst)
catch (x) -1
in ((index 5) list(2, 3))"
-1)
Welcome to DrScheme, version 299.400p1.
Language: (module ...).
drscheme-init.scm plt209.1.5 10feb2005
lecture09/exceptions/interp.scm 15-Mar-06
|(value-of/k
#(struct:let-exp
index
#(struct:proc-exp
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1)))))
#(struct:call-exp
#(struct:call-exp
#(struct:var-exp index)
#(struct:const-exp 5))
#(struct:const-list-exp (2 3))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))
|(value-of/k
#(struct:call-exp
#(struct:proc-exp
index
#(struct:call-exp
#(struct:call-exp
#(struct:var-exp index)
#(struct:const-exp 5))
#(struct:const-list-exp (2 3))))
#(struct:proc-exp
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))
|(value-of/k
#(struct:proc-exp
index
#(struct:call-exp
#(struct:call-exp
#(struct:var-exp index)
#(struct:const-exp 5))
#(struct:const-list-exp (2 3))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:rator-cont
#(struct:proc-exp
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1)))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))
|(apply-cont
#(struct:rator-cont
#(struct:proc-exp
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1)))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))
#(struct:proc-val
#(struct:procedure
index
#(struct:call-exp
#(struct:call-exp
#(struct:var-exp index)
#(struct:const-exp 5))
#(struct:const-list-exp (2 3)))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
|(value-of/k
#(struct:proc-exp
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1)))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:rand-cont
#(struct:proc-val
#(struct:procedure
index
#(struct:call-exp
#(struct:call-exp
#(struct:var-exp index)
#(struct:const-exp 5))
#(struct:const-list-exp (2 3)))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))))
#(struct:end-cont)))
|(apply-cont
#(struct:rand-cont
#(struct:proc-val
#(struct:procedure
index
#(struct:call-exp
#(struct:call-exp
#(struct:var-exp index)
#(struct:const-exp 5))
#(struct:const-list-exp (2 3)))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))))
#(struct:end-cont))
#(struct:proc-val
#(struct:procedure
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
|(value-of/k
#(struct:call-exp
#(struct:call-exp
#(struct:var-exp index)
#(struct:const-exp 5))
#(struct:const-list-exp (2 3)))
((index
#(struct:proc-val
#(struct:procedure
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))
|(value-of/k
#(struct:call-exp #(struct:var-exp index) #(struct:const-exp 5))
((index
#(struct:proc-val
#(struct:procedure
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:rator-cont
#(struct:const-list-exp (2 3))
((index
#(struct:proc-val
#(struct:procedure
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))
|(value-of/k
#(struct:var-exp index)
((index
#(struct:proc-val
#(struct:procedure
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:rator-cont
#(struct:const-exp 5)
((index
#(struct:proc-val
#(struct:procedure
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:rator-cont
#(struct:const-list-exp (2 3))
((index
#(struct:proc-val
#(struct:procedure
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))
|(apply-cont
#(struct:rator-cont
#(struct:const-exp 5)
((index
#(struct:proc-val
#(struct:procedure
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:rator-cont
#(struct:const-list-exp (2 3))
((index
#(struct:proc-val
#(struct:procedure
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))
#(struct:proc-val
#(struct:procedure
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
|(value-of/k
#(struct:const-exp 5)
((index
#(struct:proc-val
#(struct:procedure
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:rand-cont
#(struct:proc-val
#(struct:procedure
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))))
#(struct:rator-cont
#(struct:const-list-exp (2 3))
((index
#(struct:proc-val
#(struct:procedure
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))
|(apply-cont
#(struct:rand-cont
#(struct:proc-val
#(struct:procedure
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))))
#(struct:rator-cont
#(struct:const-list-exp (2 3))
((index
#(struct:proc-val
#(struct:procedure
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))
#(struct:num-val 5))
|(value-of/k
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))
((n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:rator-cont
#(struct:const-list-exp (2 3))
((index
#(struct:proc-val
#(struct:procedure
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))
|(value-of/k
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1)))
((inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:rator-cont
#(struct:const-list-exp (2 3))
((index
#(struct:proc-val
#(struct:procedure
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))
|(apply-cont
#(struct:rator-cont
#(struct:const-list-exp (2 3))
((index
#(struct:proc-val
#(struct:procedure
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))
#(struct:proc-val
#(struct:procedure
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))
((inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
|(value-of/k
#(struct:const-list-exp (2 3))
((index
#(struct:proc-val
#(struct:procedure
n
#(struct:letrec-exp
inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
#(struct:proc-exp
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))))
((i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:rand-cont
#(struct:proc-val
#(struct:procedure
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))
((inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))))
#(struct:end-cont)))
|(apply-cont
#(struct:rand-cont
#(struct:proc-val
#(struct:procedure
lst
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))
((inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))))
#(struct:end-cont))
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
|(value-of/k
#(struct:try-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
x
#(struct:const-exp -1))
((lst
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))
|(value-of/k
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:var-exp lst))
((lst
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))
|(value-of/k
#(struct:var-exp inner2)
((lst
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:rator-cont
#(struct:var-exp lst)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))
|(apply-cont
#(struct:rator-cont
#(struct:var-exp lst)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))
#(struct:proc-val
#(struct:procedure
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
((inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
|(value-of/k
#(struct:var-exp lst)
((lst
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:rand-cont
#(struct:proc-val
#(struct:procedure
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
((inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))
|(apply-cont
#(struct:rand-cont
#(struct:proc-val
#(struct:procedure
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
((inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
|(value-of/k
#(struct:if-exp
#(struct:unop-exp #(struct:null?-unop) #(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
((lst
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))
|(value-of/k
#(struct:unop-exp #(struct:null?-unop) #(struct:var-exp lst))
((lst
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:if-test-cont
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))
|(value-of/k
#(struct:var-exp lst)
((lst
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:unop-arg-cont
#(struct:null?-unop)
#(struct:if-test-cont
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))
|(apply-cont
#(struct:unop-arg-cont
#(struct:null?-unop)
#(struct:if-test-cont
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
|(apply-cont
#(struct:if-test-cont
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))
#(struct:bool-val #f))
|(value-of/k
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))
((lst
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))
|(value-of/k
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp #(struct:car-unop) #(struct:var-exp lst))
#(struct:var-exp n)))
((lst
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:if-test-cont
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))
|(value-of/k
#(struct:diff-exp
#(struct:unop-exp #(struct:car-unop) #(struct:var-exp lst))
#(struct:var-exp n))
((lst
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:unop-arg-cont
#(struct:zero?-unop)
#(struct:if-test-cont
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))
|(value-of/k
#(struct:unop-exp #(struct:car-unop) #(struct:var-exp lst))
((lst
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:var-exp n)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:unop-arg-cont
#(struct:zero?-unop)
#(struct:if-test-cont
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))))
|(value-of/k
#(struct:var-exp lst)
((lst
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:unop-arg-cont
#(struct:car-unop)
#(struct:diff1-cont
#(struct:var-exp n)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:unop-arg-cont
#(struct:zero?-unop)
#(struct:if-test-cont
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))))
|(apply-cont
#(struct:unop-arg-cont
#(struct:car-unop)
#(struct:diff1-cont
#(struct:var-exp n)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:unop-arg-cont
#(struct:zero?-unop)
#(struct:if-test-cont
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))))
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
|(apply-cont
#(struct:diff1-cont
#(struct:var-exp n)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:unop-arg-cont
#(struct:zero?-unop)
#(struct:if-test-cont
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))
#(struct:num-val 2))
|(value-of/k
#(struct:var-exp n)
((lst
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff2-cont
#(struct:num-val 2)
#(struct:unop-arg-cont
#(struct:zero?-unop)
#(struct:if-test-cont
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))))
|(apply-cont
#(struct:diff2-cont
#(struct:num-val 2)
#(struct:unop-arg-cont
#(struct:zero?-unop)
#(struct:if-test-cont
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))
#(struct:num-val 5))
|(apply-cont
#(struct:unop-arg-cont
#(struct:zero?-unop)
#(struct:if-test-cont
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))
#(struct:num-val -3))
|(apply-cont
#(struct:if-test-cont
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))
#(struct:bool-val #f))
|(value-of/k
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp #(struct:cdr-unop) #(struct:var-exp lst)))
#(struct:const-exp -1))
((lst
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))
|(value-of/k
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp #(struct:cdr-unop) #(struct:var-exp lst)))
((lst
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))
|(value-of/k
#(struct:var-exp inner2)
((lst
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:rator-cont
#(struct:unop-exp #(struct:cdr-unop) #(struct:var-exp lst))
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))
|(apply-cont
#(struct:rator-cont
#(struct:unop-exp #(struct:cdr-unop) #(struct:var-exp lst))
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))
#(struct:proc-val
#(struct:procedure
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
((inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
|(value-of/k
#(struct:unop-exp #(struct:cdr-unop) #(struct:var-exp lst))
((lst
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:rand-cont
#(struct:proc-val
#(struct:procedure
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
((inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))
|(value-of/k
#(struct:var-exp lst)
((lst
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:unop-arg-cont
#(struct:cdr-unop)
#(struct:rand-cont
#(struct:proc-val
#(struct:procedure
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
((inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))))
|(apply-cont
#(struct:unop-arg-cont
#(struct:cdr-unop)
#(struct:rand-cont
#(struct:proc-val
#(struct:procedure
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
((inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
|(apply-cont
#(struct:rand-cont
#(struct:proc-val
#(struct:procedure
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
((inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))
#(struct:list-val (#(struct:num-val 3))))
|(value-of/k
#(struct:if-exp
#(struct:unop-exp #(struct:null?-unop) #(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))
|(value-of/k
#(struct:unop-exp #(struct:null?-unop) #(struct:var-exp lst))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:if-test-cont
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))
|(value-of/k
#(struct:var-exp lst)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:unop-arg-cont
#(struct:null?-unop)
#(struct:if-test-cont
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))))
|(apply-cont
#(struct:unop-arg-cont
#(struct:null?-unop)
#(struct:if-test-cont
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))
#(struct:list-val (#(struct:num-val 3))))
|(apply-cont
#(struct:if-test-cont
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))
#(struct:bool-val #f))
|(value-of/k
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))
|(value-of/k
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp #(struct:car-unop) #(struct:var-exp lst))
#(struct:var-exp n)))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:if-test-cont
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))
|(value-of/k
#(struct:diff-exp
#(struct:unop-exp #(struct:car-unop) #(struct:var-exp lst))
#(struct:var-exp n))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:unop-arg-cont
#(struct:zero?-unop)
#(struct:if-test-cont
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))))
|(value-of/k
#(struct:unop-exp #(struct:car-unop) #(struct:var-exp lst))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:var-exp n)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:unop-arg-cont
#(struct:zero?-unop)
#(struct:if-test-cont
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))))
|(value-of/k
#(struct:var-exp lst)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:unop-arg-cont
#(struct:car-unop)
#(struct:diff1-cont
#(struct:var-exp n)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:unop-arg-cont
#(struct:zero?-unop)
#(struct:if-test-cont
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))))))
|(apply-cont
#(struct:unop-arg-cont
#(struct:car-unop)
#(struct:diff1-cont
#(struct:var-exp n)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:unop-arg-cont
#(struct:zero?-unop)
#(struct:if-test-cont
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))))
#(struct:list-val (#(struct:num-val 3))))
|(apply-cont
#(struct:diff1-cont
#(struct:var-exp n)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:unop-arg-cont
#(struct:zero?-unop)
#(struct:if-test-cont
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))))
#(struct:num-val 3))
|(value-of/k
#(struct:var-exp n)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff2-cont
#(struct:num-val 3)
#(struct:unop-arg-cont
#(struct:zero?-unop)
#(struct:if-test-cont
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))))
|(apply-cont
#(struct:diff2-cont
#(struct:num-val 3)
#(struct:unop-arg-cont
#(struct:zero?-unop)
#(struct:if-test-cont
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))))
#(struct:num-val 5))
|(apply-cont
#(struct:unop-arg-cont
#(struct:zero?-unop)
#(struct:if-test-cont
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))
#(struct:num-val -2))
|(apply-cont
#(struct:if-test-cont
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))
#(struct:bool-val #f))
|(value-of/k
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp #(struct:cdr-unop) #(struct:var-exp lst)))
#(struct:const-exp -1))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))
|(value-of/k
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp #(struct:cdr-unop) #(struct:var-exp lst)))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))
|(value-of/k
#(struct:var-exp inner2)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:rator-cont
#(struct:unop-exp #(struct:cdr-unop) #(struct:var-exp lst))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))))
|(apply-cont
#(struct:rator-cont
#(struct:unop-exp #(struct:cdr-unop) #(struct:var-exp lst))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))
#(struct:proc-val
#(struct:procedure
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
((inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10))))))
|(value-of/k
#(struct:unop-exp #(struct:cdr-unop) #(struct:var-exp lst))
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:rand-cont
#(struct:proc-val
#(struct:procedure
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
((inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))))
|(value-of/k
#(struct:var-exp lst)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:unop-arg-cont
#(struct:cdr-unop)
#(struct:rand-cont
#(struct:proc-val
#(struct:procedure
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
((inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))))
|(apply-cont
#(struct:unop-arg-cont
#(struct:cdr-unop)
#(struct:rand-cont
#(struct:proc-val
#(struct:procedure
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
((inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))))
#(struct:list-val (#(struct:num-val 3))))
|(apply-cont
#(struct:rand-cont
#(struct:proc-val
#(struct:procedure
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
((inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))
#(struct:list-val ()))
|(value-of/k
#(struct:if-exp
#(struct:unop-exp #(struct:null?-unop) #(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1))))
((lst #(struct:list-val ()))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))
|(value-of/k
#(struct:unop-exp #(struct:null?-unop) #(struct:var-exp lst))
((lst #(struct:list-val ()))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:if-test-cont
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))
((lst #(struct:list-val ()))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))))
|(value-of/k
#(struct:var-exp lst)
((lst #(struct:list-val ()))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:unop-arg-cont
#(struct:null?-unop)
#(struct:if-test-cont
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))
((lst #(struct:list-val ()))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))))
|(apply-cont
#(struct:unop-arg-cont
#(struct:null?-unop)
#(struct:if-test-cont
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))
((lst #(struct:list-val ()))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))))
#(struct:list-val ()))
|(apply-cont
#(struct:if-test-cont
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))
((lst #(struct:list-val ()))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))
#(struct:bool-val #t))
|(value-of/k
#(struct:raise-exp #(struct:const-exp 99))
((lst #(struct:list-val ()))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))
|(value-of/k
#(struct:const-exp 99)
((lst #(struct:list-val ()))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:raise1-cont
#(struct:diff1-cont
#(struct:const-exp -1)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))))
|(apply-cont
#(struct:raise1-cont
#(struct:diff1-cont
#(struct:const-exp -1)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))
#(struct:num-val 99))
|(apply-handler
#(struct:num-val 99)
#(struct:diff1-cont
#(struct:const-exp -1)
((lst #(struct:list-val (#(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))))
|(apply-handler
#(struct:num-val 99)
#(struct:diff1-cont
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))))
|(apply-handler
#(struct:num-val 99)
#(struct:try-cont
x
#(struct:const-exp -1)
((lst
#(struct:list-val
(#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont)))
|(value-of/k
#(struct:const-exp -1)
((x #(struct:num-val 99))
(lst
#(struct:list-val (#(struct:num-val 2) #(struct:num-val 3))))
(inner2
lst
#(struct:if-exp
#(struct:unop-exp
#(struct:null?-unop)
#(struct:var-exp lst))
#(struct:raise-exp #(struct:const-exp 99))
#(struct:if-exp
#(struct:unop-exp
#(struct:zero?-unop)
#(struct:diff-exp
#(struct:unop-exp
#(struct:car-unop)
#(struct:var-exp lst))
#(struct:var-exp n)))
#(struct:const-exp 0)
#(struct:diff-exp
#(struct:call-exp
#(struct:var-exp inner2)
#(struct:unop-exp
#(struct:cdr-unop)
#(struct:var-exp lst)))
#(struct:const-exp -1)))))
(n #(struct:num-val 5))
(i #(struct:num-val 1))
(v #(struct:num-val 5))
(x #(struct:num-val 10)))
#(struct:end-cont))
|(apply-cont #(struct:end-cont) #(struct:num-val -1))
|#(struct:num-val -1)
>