track both v and inv_v
approx: value evaluation function
Cache value
dynamic step length