int main() { r__t__n = (void *)(void *)5; r__t__expr = (void *)expr_app(expr_lambda(expr_app(expr_app(expr_var((void *)0),expr_var((void *)0)),expr_const((void *)5))),expr_lambda(expr_lambda(expr_if(expr_zero(expr_var((void *)0)),expr_const((void *)1),expr_mult(expr_var((void *)0),expr_app(expr_app(expr_var((void *)1),expr_var((void *)1)),expr_subr1(expr_var((void *)0)))))))); r__t__env = (void *)envrr_empty(); r__t__pc = ⅇ mount_tram(); printf("Fact Test Yields: %d\n", (int)r__t__a);r__t__n = (void *)(void *)5; r__t__expr = (void *)expr_letcc(expr_mult(expr_const((void *)5),expr_throw(expr_var((void *)0),expr_mult(expr_const((void *)2),expr_const((void *)6))))); r__t__env = (void *)envrr_empty(); r__t__pc = ⅇ mount_tram(); printf("Let/CC Test Yields: %d\n", (int)r__t__a);}
/* * Create a new variable V and add V=e to the cxt. */ static expr_t context_update(context_t cxt, expr_t e) { if (expr_gettype(e) == EXPRTYPE_VAR) panic("unexpected CSE var type"); expr_t v; if (cseinfo_search(cxt->cseinfo, e, &v)) return v; char *name = unique_name("F", &cxt->varid); var_t v0 = make_var(name); v = expr_var(v0); cxt->cseinfo = cseinfo_destructive_insert(cxt->cseinfo, e, v); return v; }
/* * Create a new CNF Boolean variable. */ static expr_t cnf_new_var(context_t context) { var_t v0 = make_var(unique_name("C", &context->varid)); expr_t v = expr_var(v0); return v; }