anchor.diff:         (Mantissa and CDoubleMantissaMask);
     PUInt64(@Result)^ := U;
   end;
  -{$ELSE}
  -begin
  -  Result.BuildUp(Sign < 0, Mantissa, Exponent);
  -end;
  -{$ENDIF}
   
   function MakeExtended(Sign: TValueSign; Mantissa: UInt64; Exponent: Integer): Extended;
  -{$IFDEF NORECORDHELPERS}
   var
     E: TExt80Rec;
   begin
  
positive.code:     // NaN or +/-Infinity
      Result := 0;
  end;
  {$ELSE}
  begin
    Result := AValue.Exponent;
  end;
  {$ENDIF}
  
  function GetExponent(const AValue: Extended): Integer; overload;
  {$IFDEF NORECORDHELPERS}
  var
    M: UInt64;
    E: UInt32;
  begin
    M := PUInt64(@AValue)^;
    E := GetRawExp(AValue);
    if (0 < E) and (E < CExtendedExponentMask) then
      Result := E - CExtendedBias
    else if E = 0 then
  
negative.code:        (Mantissa and CSingleMantissaMask);
    PUInt32(@Result)^ := U;
  end;
  
  function MakeDouble(Sign: TValueSign; Mantissa: UInt64; Exponent: Integer): Double;
  var
    U: UInt64;
  begin
  