cached inverse