static u3_noun _nest_dext( u3_noun van, u3_noun sut, u3_noun tel, u3_noun ref, u3_noun gil) { if ( (c3y == u3r_sing(sut, ref)) ) { return c3y; } { c3_m fun_m = c3__nest; u3_noun pro = u3z_find_2(fun_m, sut, ref); if ( u3_none != pro ) { return pro; } else { pro = _nest_dext_to(van, sut, tel, ref, gil); return u3z_save_2(fun_m, sut, ref, pro); } } }
u3_noun u3qfu_fish(u3_noun van, u3_noun sut, u3_noun axe) { c3_m fun_m = c3__fish + !!u3r_at(u3qfu_van_vet, van); u3_noun pro = u3z_find_2(fun_m, sut, axe); if ( u3_none != pro ) { return pro; } else { pro = _cqfu_fish(van, sut, axe); return u3z_save_2(fun_m, sut, axe, pro); } }
u3_noun u3qfu_fuse(u3_noun van, u3_noun sut, u3_noun ref) { c3_m fun_m = 144 + c3__fuse + ((!!u3r_at(u3qfu_van_vet, van)) << 8); u3_noun pro = u3z_find_2(fun_m, sut, ref); if ( u3_none != pro ) { return pro; } else { pro = _cqfu_fuse(van, sut, ref); return u3z_save_2(fun_m, sut, ref, pro); } }
u3_noun u3qfu_crop(u3_noun van, u3_noun sut, u3_noun ref) { c3_m fun_m = c3__crop; u3_noun pro = u3z_find_2(fun_m, sut, ref); if ( u3_none != pro ) { return pro; } else { pro = _cqfu_crop(van, sut, ref); return u3z_save_2(fun_m, sut, ref, pro); } }
/* _n_hint(): process hint. */ static u3_noun _n_hint(u3_noun zep, u3_noun hod, u3_noun bus, u3_noun nex) { switch ( zep ) { default: { // u3m_p("weird zep", zep); u3a_lose(zep); u3a_lose(hod); return _n_nock_on(bus, nex); } case c3__hunk: case c3__lose: case c3__mean: case c3__spot: { u3_noun tac = u3nc(zep, hod); u3_noun pro; u3t_push(tac); #if 0 { static int low_i; if ( !low_i ) { low_i = 1; if ( 0 == (u3R->pro.nox_d % 65536ULL) ) { if ( c3__spot == zep ) { uL(fprintf(uH, "spot %d/%d : %d/%d\r\n", u3h(u3h(u3t(hod))), u3t(u3h(u3t(hod))), u3h(u3t(u3t(hod))), u3t(u3t(u3t(hod))))); } } low_i = 0; } } #endif pro = _n_nock_on(bus, nex); u3t_drop(); return pro; } case c3__live: { if ( c3y == u3ud(hod) ) { u3t_off(noc_o); u3t_heck(hod); u3t_on(noc_o); } else { u3z(hod); } return _n_nock_on(bus, nex); } case c3__slog: { if ( !(u3C.wag_w & u3o_quiet) ) { u3t_off(noc_o); u3t_slog(hod); u3t_on(noc_o); } return _n_nock_on(bus, nex); } case c3__germ: { u3_noun pro = _n_nock_on(bus, nex); if ( c3y == u3r_sing(pro, hod) ) { u3z(pro); return hod; } else { u3z(hod); return pro; } } case c3__fast: { u3_noun pro = _n_nock_on(bus, nex); u3t_off(noc_o); u3j_mine(hod, u3k(pro)); u3t_on(noc_o); return pro; } case c3__memo: { u3z(hod); #if 0 return _n_nock_on(bus, nex); #else { u3_noun pro = u3z_find_2(c3__nock, bus, nex); if ( pro != u3_none ) { u3z(bus); u3z(nex); return pro; } pro = _n_nock_on(u3k(bus), u3k(nex)); if ( &(u3H->rod_u) != u3R ) { u3z_save_2(c3__nock, bus, nex, pro); } u3z(bus); u3z(nex); return pro; } #endif } case c3__sole: { u3z(hod); { u3_noun pro = _n_nock_on(bus, nex); // return u3z_uniq(pro); return pro; } } } }
/* _n_hint(): process hint. */ static u3_noun _n_hint(u3_noun zep, u3_noun hod, u3_noun bus, u3_noun nex) { switch ( zep ) { default: { // u3m_p("weird zep", zep); u3a_lose(zep); u3a_lose(hod); return _n_nock_on(bus, nex); } case c3__hunk: case c3__lose: case c3__mean: case c3__spot: { u3_noun tac = u3nc(zep, hod); u3_noun pro; u3t_push(tac); #if 0 if ( c3__spot == zep ) { printf("spot %d/%d : %d/%d\r\n", u3h(u3h(u3t(hod))), u3t(u3h(u3t(hod))), u3h(u3t(u3t(hod))), u3t(u3t(u3t(hod)))); } #endif pro = _n_nock_on(bus, nex); u3t_drop(); return pro; } case c3__slog: { u3t_off(noc_o); u3t_slog(hod); u3t_on(noc_o); return _n_nock_on(bus, nex); } case c3__germ: { u3_noun pro = _n_nock_on(bus, nex); if ( c3y == u3r_sing(pro, hod) ) { u3z(pro); return hod; } else { u3z(hod); return pro; } } case c3__fast: { u3_noun pro = _n_nock_on(bus, nex); u3t_off(noc_o); u3j_mine(hod, u3k(pro)); u3t_on(noc_o); return pro; } case c3__memo: { u3z(hod); #if 0 return _n_nock_on(bus, nex); #else { u3_noun pro = u3z_find_2(c3__nock, bus, nex); if ( pro != u3_none ) { u3z(bus); u3z(nex); return pro; } pro = _n_nock_on(u3k(bus), u3k(nex)); u3z_save_2(c3__nock, bus, nex, pro); u3z(bus); u3z(nex); return pro; } #endif } case c3__sole: { u3z(hod); { u3_noun pro = _n_nock_on(bus, nex); // return u3z_uniq(pro); return pro; } } } }