caching the default bottom up linearisation