anchor.diff:  max(_, ?PLUS_INFINITY) -> ?PLUS_INFINITY;
   max(?MINUS_INFINITY, X) -> X;
   max(X, ?MINUS_INFINITY) -> X;
  -max(A, B) ->
  -    case A > B of
  -        true -> A;
  -        false -> B
  -    end.
  +max(A, B) when A > B -> A;
  +max(_A, B) -> B.
   
   %% @doc Variant of erlang:min/2 also taking ?PLUS_INFINITY_TYPE and
   %%      ?MINUS_INFINITY_TYPE into account, e.g. for comparing keys.
  
positive.code:     X * X;
  pow(X, 3) ->
      X * X * X;
  pow(X, Y) ->
      case Y rem 2 of
          0 ->
              Half = pow(X, Y div 2),
              Half * Half;
          1 ->
              Half = pow(X, Y div 2),
              Half * Half * X
      end.
  
  %% @doc Logarithm of X to the base of Base.
  -spec log(X::number(), Base::number()) -> float().
  
negative.code: min(_, ?MINUS_INFINITY) -> ?MINUS_INFINITY;
  min(?PLUS_INFINITY, X) -> X;
  min(X, ?PLUS_INFINITY) -> X;
  min(A, B) when A < B -> A;
  min(_A, B) -> B.
  
  -spec pow(integer(), non_neg_integer()) -> integer();
           (float(), non_neg_integer()) -> number().
  