@@ -62,6 +62,7 @@ pub fn generate_jets() -> Jets {
62 (161636738411171172446435323238280743696, WELP),
62 (161636738411171172446435323238280743696, WELP),
63 (90634096513747887582230817128332929026, ZING),
63 (90634096513747887582230817128332929026, ZING),
64 (59352245691598674621226842217946522940, BEX),
64 (59352245691598674621226842217946522940, BEX),
65+ (102718716366123785010912772034318125155, END),
@@ -553,4 +554,15 @@ static ZING: Jet = |_ctx, n| {
556−static BEX: Jet = |ctx, n| Rc::new(Noun::Atom(ctx.big_uints.one.clone() << n.as_u32().unwrap()));
557+static BEX: Jet = |ctx, n| Rc::new(Noun::Atom(&ctx.big_uints.one << n.as_u32().unwrap()));
559+static END: Jet = |ctx, n| {
560+ let (a, b) = n.as_cell().unwrap();
561+ let bite = a.as_bite().unwrap();
563+ let bits = 2u32.pow(bite.bloq) * bite.step;
565+ let mask = (&ctx.big_uints.one << bits) - &ctx.big_uints.one;
567+ Rc::new(Noun::Atom(mask & b.as_atom().unwrap()))