reset and shift only one level deep (delimited continuations)?
I think you might be misreading those rewrite rules.

A call to shift will find to the nearest enclosing call to reset, regardless of how deeply nested it is. Other examples in the tutorial you linked to should confirm that.

The Racket Reference has a slightly different set of rewrite rules for reset/shift, that might make things a little clearer.

(reset val) =&gt; val

(reset E[(shift k expr)]) =&gt;
  (reset ((lambda (k) expr)
          (lambda (v) (reset E[v]))))


Using your example:

(reset (+ 1 (* 2 (shift k (k 42)))))
=&gt;
(reset ((lambda (k) (k 42))
          (lambda (v) (reset (+ 1 (* 2 v))))))
=&gt;
(reset (reset (+ 1 (* 2 42))))
=&gt; 85


I don't speak Mathematica, but it might be possible to transcribe the rewrite rules from the Racket Reference to get what you want.