(v) -> (_)
# symbolic constraint marking v as public
# this introduces an extra variable _ to get around
# existing parser design
# this extra variable should be optimized out at some point
_ = (1*one) * (1*v)
_ = (1*one) output (1*one)
0 = (1*one) * (1*_) - (1*v) # constrain intermediate output assignment