code: function pureFunction1(slotOffset, pureFn, exp, thisArg) {
      ngDevMode && assertReservedSlotInitialized(slotOffset, 2);
      var index = moveBindingIndexToReservedSlot(slotOffset);
      var value = bindingUpdated(exp) ?
          checkAndUpdateBinding$1(thisArg ? pureFn.call(thisArg, exp) : pureFn(exp)) :
          consumeBinding();
      restoreBindingIndex(index);
      return value;
  }
docs: If the value of the provided exp has changed, calls the pure function to return
  an updated value. Or if the value has not changed, returns cached value.
  
  @param slotOffset the offset in the reserved slot space {@link reserveSlots}
  @param pureFn Function that returns an updated value
  @param exp Updated expression value
  @param thisArg Optional calling context of pureFn
  @returns Updated or cached value