Cached inverse implementation