@lu.transformation
def _interpret_subtrace(main: core.MainTrace, in_avals: Sequence[core.AbstractValue], *in_vals: TfVal):
    trace = TensorFlowTrace(main, core.cur_sublevel())
    in_tracers = tuple((TensorFlowTracer(trace, val, aval) for (val, aval) in util.safe_zip(in_vals, in_avals)))
    outs = (yield (in_tracers, {}))
    out_tracers: Iterable[TensorFlowTracer] = map(trace.full_raise, outs)
    out_vals_with_avals: Sequence[Tuple[(TfVal, core.AbstractValue)]] = tuple(((t.val, t.aval) for t in out_tracers))
    (yield out_vals_with_avals)
@lu.transformation
def _interpret_subtrace(main: core.MainTrace, in_avals: Sequence[core.AbstractValue], *in_vals: TfVal):
    trace = TensorFlowTrace(main, core.cur_sublevel())
    in_tracers = tuple((TensorFlowTracer(trace, val, aval) for (val, aval) in util.safe_zip(in_vals, in_avals)))
    outs = (yield (in_tracers, {}))
    out_tracers: Iterable[TensorFlowTracer] = map(trace.full_raise, outs)
    out_vals_with_avals: Sequence[Tuple[(TfVal, core.AbstractValue)]] = tuple(((t.val, t.aval) for t in out_tracers))
    (yield out_vals_with_avals)